# boo-admin_service **Repository Path**: monkey-open-source/boo-admin_service ## Basic Information - **Project Name**: boo-admin_service - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-03 - **Last Updated**: 2026-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Moon Boo 后台管理系统 基于 Spring Boot 2.7.18 + MyBatis-Plus 的多模块后台管理系统,采用前后端分离架构。 ## 技术栈 ### 后端框架 - **Spring Boot 2.7.18** - 基础框架 - **Spring Security** - 安全认证 - **MyBatis-Plus 3.5.1** - ORM 框架 - **MySQL 8.0** - 数据库 - **Redis** - 缓存 - **Druid** - 数据库连接池 ### 工具库 - **JWT** - Token 认证 - **Knife4j 4.1.0** - API 文档(OpenAPI 3) - **Kaptcha 2.3.2** - 图形验证码 - **Actable 1.5.0** - 自动建表 - **Lombok** - 代码简化 - **Hutool** - 工具类 - **FastJson** - JSON 处理 ## 项目结构 ``` moon-boo-serve ├── moon-boo-admin # Web 服务入口模块 ├── moon-boo-framework # 核心框架模块(Security、AOP、配置等) ├── moon-boo-system # 系统业务模块(用户、角色、菜单等) ├── moon-boo-common # 公共模块(工具类、注解、常量等) └── sql # 数据库脚本 ``` ## 快速开始 ### 环境要求 - JDK 8+ - MySQL 8.0+ - Redis - Maven 3.6+ ### 数据库初始化 ```sql -- 执行 SQL 脚本 mysql -u root -p < sql/moon_boo.sql ``` ### 配置文件 修改 `moon-boo-admin/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/moon_boo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 redis: host: localhost port: 6379 ``` ### 启动项目 ```bash # 编译打包 mvn clean package # 运行 java -jar moon-boo-admin/target/moon-boo-admin.jar ``` 访问地址: - 本地:http://localhost:8080 - API 文档:http://localhost:8080/doc.html ## 功能特性 ### 1. 认证授权 - ✅ JWT Token 认证 - ✅ Redis Token 存储 - ✅ 图形验证码 - ✅ RSA 密码加密传输 - ✅ 三种登录方式: - `/v1/auth/login` - 标准登录(支持验证码) - `/v1/auth/login-simple` - 简易登录(无验证码) - `/v1/auth/login-encrypted` - RSA 加密登录 ### 2. 用户管理 - ✅ 用户 CRUD - ✅ 分页查询 - ✅ 多条件搜索 ### 3. 角色管理 - ✅ 角色 CRUD - ✅ 分页查询 ### 4. 菜单管理 - ✅ 菜单 CRUD - ✅ 树形结构 ### 5. 系统功能 - ✅ 接口访问日志(AOP) - ✅ 全局异常处理 - ✅ 统一响应格式 - ✅ 实体类自动建表 - ✅ API 文档自动生成 ## 默认账号 | 用户名 | 密码 | 说明 | |--------|--------|----------| | admin | 123456 | 管理员 | | test | 123456 | 测试用户 | ## API 接口 ### 认证模块 ```http POST /v1/auth/login # 标准登录 POST /v1/auth/login-simple # 简易登录 POST /v1/auth/login-encrypted # RSA 加密登录 POST /v1/auth/logout # 登出 GET /v1/auth/user-info # 获取用户信息 POST /v1/auth/refresh-token # 刷新 Token GET /v1/auth/captcha # 获取验证码 GET /v1/auth/public-key # 获取 RSA 公钥 ``` ### 用户管理 ```http GET /v1/system/user/list # 用户列表(分页) GET /v1/system/user/detail # 用户详情 POST /v1/system/user/create # 创建用户 PUT /v1/system/user/update # 更新用户 DELETE /v1/system/user/delete # 删除用户 ``` ### 角色管理 ```http GET /v1/system/role/list # 角色列表(分页) GET /v1/system/role/detail # 角色详情 POST /v1/system/role/create # 创建角色 PUT /v1/system/role/update # 更新角色 DELETE /v1/system/role/delete # 删除角色 ``` ### 菜单管理 ```http GET /v1/system/menu/tree # 菜单树 GET /v1/system/menu/list # 菜单列表 GET /v1/system/menu/detail # 菜单详情 POST /v1/system/menu/create # 创建菜单 PUT /v1/system/menu/update # 更新菜单 DELETE /v1/system/menu/delete # 删除菜单 ``` ## RSA 加密登录流程 1. **获取公钥** ```http GET /v1/auth/public-key ``` 2. **前端使用公钥加密密码** ```javascript const encrypt = new JSEncrypt(); encrypt.setPublicKey(publicKey); const encryptedPassword = encrypt.encrypt('123456'); ``` 3. **发送加密密码登录** ```http POST /v1/auth/login-encrypted { "username": "admin", "password": "RSA加密后的密码", "keyId": "密钥ID" } ``` ## 日志系统 ### 控制台日志 - 彩色输出,方便开发调试 - 包含时间、线程、级别、类名等信息 ### 文件日志 - `logs/info.log` - INFO 级别日志 - `logs/error.log` - ERROR 级别日志 - 自动按天滚动,保留 30 天 - 单文件最大 100MB ### 接口日志示例 ``` ============================================ 接口日志 ============================================ 📌 模块: 用户管理 📝 描述: 查询用户列表 👤 用户: admin 🔗 URL: http://localhost:8080/v1/system/user/list 🎯 方法: GET 📍 IP地址: 127.0.0.1 🏷️ 类方法: cloud.moonteam.web.controller.system.SysUserController.list() 📥 请求参数: {"arg0":"admin","arg5":1,"arg6":10} 📤 返回结果: {"code":200,"msg":"操作成功"...} ✅ 状态: 成功 ============================================================================================== ``` ## 开发规范 ### 统一响应格式 ```json { "code": 200, "msg": "操作成功", "data": {} } ``` ### 分页响应格式 ```json { "code": 200, "msg": "操作成功", "data": { "records": [], "total": 100, "page": 1, "pageSize": 10 } } ``` ### 日志注解使用 ```java @Log(title = "用户管理", description = "创建用户") @PostMapping("/create") public AjaxResult create(@RequestBody SysUser user) { // ... } ``` ## 许可证 Apache License 2.0 ## 联系方式 - 团队:Moon Team - 邮箱:admin@moonteam.cloud