150 lines
4.6 KiB
Markdown
150 lines
4.6 KiB
Markdown
# Java后台管理系统最终共识文档
|
||
|
||
## 明确的需求描述
|
||
|
||
### 核心需求
|
||
实现一个**前后端分离**的通用后台管理系统,包含完整的Web管理界面,支持用户、角色、权限等通用管理功能。
|
||
|
||
### 验收标准
|
||
1. ✅ 后端提供完整的RESTful API接口
|
||
2. ✅ 前端Vue3实现现代化管理界面
|
||
3. ✅ 用户登录认证和权限控制功能正常
|
||
4. ✅ 基础CRUD操作功能完整
|
||
5. ✅ 系统可独立运行和部署
|
||
6. ✅ 数据库正常连接和数据持久化
|
||
|
||
## 技术实现方案
|
||
|
||
### 后端技术栈
|
||
```yaml
|
||
框架: Spring Boot 2.7+
|
||
安全: Spring Security + JWT
|
||
数据层: MySQL 8.0 + MyBatis-Plus
|
||
构建: Maven
|
||
文档: Swagger3/SpringDoc
|
||
```
|
||
|
||
### 前端技术栈
|
||
```yaml
|
||
框架: Vue3 + Composition API
|
||
UI库: Element Plus
|
||
路由: Vue Router 4
|
||
状态管理: Pinia
|
||
构建: Vite
|
||
HTTP客户端: Axios
|
||
```
|
||
|
||
### 数据库设计
|
||
```sql
|
||
核心表结构:
|
||
- sys_user (用户表)
|
||
- sys_role (角色表)
|
||
- sys_menu (菜单表)
|
||
- sys_user_role (用户角色关联)
|
||
- sys_role_menu (角色菜单关联)
|
||
- sys_operation_log (操作日志)
|
||
```
|
||
|
||
## 技术约束和集成方案
|
||
|
||
### 项目结构
|
||
```
|
||
admin-manager/
|
||
├── admin-backend/ # 后端SpringBoot项目
|
||
│ ├── src/main/java/
|
||
│ │ └── com/admin/
|
||
│ │ ├── controller/ # REST API控制器
|
||
│ │ ├── service/ # 业务逻辑层
|
||
│ │ ├── mapper/ # MyBatis数据访问
|
||
│ │ ├── entity/ # 实体类
|
||
│ │ ├── dto/ # 数据传输对象
|
||
│ │ ├── config/ # 配置类
|
||
│ │ └── common/ # 公共组件
|
||
│ └── src/main/resources/
|
||
│ ├── mapper/ # SQL映射文件
|
||
│ └── application.yml # 配置文件
|
||
└── admin-frontend/ # 前端Vue3项目
|
||
├── src/
|
||
│ ├── views/ # 页面组件
|
||
│ ├── components/ # 通用组件
|
||
│ ├── router/ # 路由配置
|
||
│ ├── store/ # 状态管理
|
||
│ ├── api/ # API接口
|
||
│ └── utils/ # 工具函数
|
||
└── public/
|
||
```
|
||
|
||
### 接口规范
|
||
- **认证接口**: `/api/auth/login`, `/api/auth/logout`
|
||
- **用户管理**: `/api/users/**`
|
||
- **角色管理**: `/api/roles/**`
|
||
- **菜单管理**: `/api/menus/**`
|
||
- **系统监控**: `/api/system/**`
|
||
|
||
### 安全策略
|
||
1. JWT Token认证机制
|
||
2. RBAC角色权限控制
|
||
3. 接口访问权限验证
|
||
4. 密码加密存储(BCrypt)
|
||
5. CORS跨域配置
|
||
|
||
## 任务边界限制
|
||
|
||
### 包含功能
|
||
✅ 用户管理(增删改查、状态管理)
|
||
✅ 角色管理(角色分配、权限设置)
|
||
✅ 菜单管理(动态菜单、权限控制)
|
||
✅ 登录认证(JWT、记住密码)
|
||
✅ 权限控制(接口权限、菜单权限)
|
||
✅ 操作日志(关键操作记录)
|
||
✅ 系统监控(基础监控信息)
|
||
|
||
### 不包含功能
|
||
❌ 复杂业务逻辑(订单、商品等)
|
||
❌ 支付集成
|
||
❌ 第三方登录
|
||
❌ 消息推送
|
||
❌ 复杂报表统计
|
||
|
||
## 验收标准
|
||
|
||
### 功能验收
|
||
1. **登录功能**: 用户名密码登录,JWT token生成和验证
|
||
2. **用户管理**: 新增、编辑、删除、查询用户,用户状态管理
|
||
3. **角色管理**: 角色CRUD,角色权限分配
|
||
4. **菜单管理**: 动态菜单配置,权限关联
|
||
5. **权限控制**: 基于角色的访问控制,菜单权限展示
|
||
6. **日志记录**: 关键操作审计日志
|
||
|
||
### 技术验收
|
||
1. **后端API**: 所有接口正常响应,数据格式规范
|
||
2. **前端界面**: 响应式设计,交互体验良好
|
||
3. **数据库**: 表结构合理,数据完整性约束
|
||
4. **安全性**: 认证授权机制有效,敏感信息保护
|
||
5. **部署**: 项目可独立构建和运行
|
||
|
||
### 质量标准
|
||
1. **代码规范**: 遵循阿里巴巴Java开发规范和Vue官方风格指南
|
||
2. **接口文档**: Swagger自动生成API文档
|
||
3. **错误处理**: 全局异常处理,友好错误提示
|
||
4. **数据验证**: 前后端数据校验
|
||
5. **性能**: 接口响应时间<500ms,页面加载<2s
|
||
|
||
## 确认所有不确定性已解决
|
||
|
||
### 已确认决策
|
||
✅ **业务范围**: 通用后台管理系统
|
||
✅ **技术架构**: 前后端分离
|
||
✅ **前端技术**: Vue3 + Element Plus
|
||
✅ **后端技术**: Spring Boot + Spring Security
|
||
✅ **数据库**: MySQL
|
||
✅ **认证方案**: JWT + Spring Security
|
||
✅ **项目结构**: 前后端独立项目
|
||
|
||
### 待实施细节
|
||
- 具体的数据库表设计
|
||
- 详细的API接口定义
|
||
- 前端页面UI设计
|
||
- 部署配置方案
|
||
|
||
**✅ 所有核心决策已确认,可以进入架构设计阶段** |