2025-02-18 18:28:16 +08:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="zh-CN">
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
|
|
|
|
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
|
|
|
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet">
|
|
|
|
|
<script crossorigin="anonymous"
|
|
|
|
|
integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r"
|
|
|
|
|
src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
|
|
|
|
|
<script crossorigin="anonymous"
|
|
|
|
|
integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy"
|
|
|
|
|
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js"></script>
|
|
|
|
|
<title>bunny-admin-server项目介绍</title>
|
|
|
|
|
<style>
|
|
|
|
|
body {
|
|
|
|
|
font-family: Arial, sans-serif;
|
|
|
|
|
background-color: #f4f4f4;
|
|
|
|
|
color: #333;
|
|
|
|
|
margin: 0;
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
header {
|
|
|
|
|
background-color: #007BFF;
|
|
|
|
|
color: white;
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
.container {
|
|
|
|
|
max-width: 800px;
|
|
|
|
|
margin: 20px auto;
|
|
|
|
|
min-height: calc(100vh - 216px);
|
|
|
|
|
padding: 20px;
|
|
|
|
|
background-color: white;
|
|
|
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
}
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
code {
|
|
|
|
|
padding: 1px 5px;
|
|
|
|
|
color: #FD9E5C;
|
|
|
|
|
background-color: #282C34;
|
|
|
|
|
border-radius: 5px;
|
|
|
|
|
}
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
footer {
|
|
|
|
|
position: sticky;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
text-align: center;
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
background-color: #007BFF;
|
|
|
|
|
color: white;
|
|
|
|
|
margin-top: 20px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<header>
|
|
|
|
|
<h1>bunny-admin-server项目介绍</h1>
|
|
|
|
|
</header>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<div class="container">
|
|
|
|
|
<h2>项目名称</h2>
|
|
|
|
|
<p>这是权限管理系统,之前有2个版本,这个是第3个,我将部分的代码优化了一遍;比如下面的:</p>
|
|
|
|
|
<ul>
|
|
|
|
|
<li>登录优化:使用登录策略方便以后扩展登录方式</li>
|
|
|
|
|
<li>邮件发送模板:邮件发送用的是模板方法模式</li>
|
|
|
|
|
<li>密码校验:登录密码校验器,改用自带的不是md5加密,看起来像这样:<code>$2a$10$h5BUwmMaVcEuu7Bz0TPPy.PQV8JP6CFJlbHTgT78G1s0YPIu2kfXe</code>
|
|
|
|
|
</li>
|
|
|
|
|
<li>接口请求路径:将原本请求路径<code>/admin</code>改为<code>/api</code></li>
|
|
|
|
|
</ul>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<h4>展示下验证码图片</h4>
|
|
|
|
|
<div class="carousel slide" id="carouselExampleIndicators">
|
|
|
|
|
<div class="carousel-inner">
|
|
|
|
|
<div class="carousel-item active">
|
|
|
|
|
<img alt="验证码图片" class="d-block w-50" src="/noAuth/checkCode" style="margin: 0 auto">
|
2025-02-22 23:14:49 +08:00
|
|
|
|
</div>
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<div class="carousel-item">
|
|
|
|
|
<img alt="验证码图片" class="d-block w-50" src="/noAuth/checkCode" style="margin: 0 auto">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="carousel-item">
|
|
|
|
|
<img alt="验证码图片" class="d-block w-50" src="/noAuth/checkCode" style="margin: 0 auto">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<button class="carousel-control-prev btn-link" data-bs-slide="prev" data-bs-target="#carouselExampleIndicators"
|
|
|
|
|
type="button">
|
|
|
|
|
<span aria-hidden="true" class="carousel-control-prev-icon"></span>
|
|
|
|
|
<span class="visually-hidden">Previous</span>
|
|
|
|
|
</button>
|
|
|
|
|
<button class="carousel-control-next" data-bs-slide="next" data-bs-target="#carouselExampleIndicators"
|
|
|
|
|
type="button">
|
|
|
|
|
<span aria-hidden="true" class="carousel-control-next-icon"></span>
|
|
|
|
|
<span class="visually-hidden">Next</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<h2>技术栈</h2>
|
|
|
|
|
<p>前端vue,是小铭做的模板,我负责将前端模板实现下,加了接口,之后页面我自己添加了一些。</p>
|
|
|
|
|
<p>后端Java,SpringSecurity就是主要的,中间件是:Redis、MySQL、Minio,因为自己做文件系统时间太长了就用了Minio。</p>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<a class="btn btn-primary" target="_blank"
|
|
|
|
|
th:href="@{'http://localhost:'+ ${@environment.getProperty('server.port')} + '/doc.html#/home'}">打开接口文档-knife4j</a>
|
|
|
|
|
<a class="btn btn-primary"
|
|
|
|
|
target="_blank"
|
|
|
|
|
th:href="@{'http://localhost:'+${@environment.getProperty('server.port')}+'/swagger-ui/index.html'}">打开接口文档-swagger</a>
|
|
|
|
|
<a class="btn btn-success" href="http://bunny-web.site/" target="_blank">查看在线项目</a>
|
|
|
|
|
<a class="btn btn-primary" href="http://localhost:7000/" target="_blank">查看本地项目</a>
|
|
|
|
|
</div>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
|
2025-03-26 21:57:41 +08:00
|
|
|
|
<footer>
|
|
|
|
|
<p>© 2025 Bunny.保留所有权利.</p>
|
|
|
|
|
</footer>
|
|
|
|
|
</body>
|
2025-02-18 18:28:16 +08:00
|
|
|
|
</html>
|