08ea5fbe98
添加用户管理视图、API和状态管理文件
145 lines
3.8 KiB
Markdown
145 lines
3.8 KiB
Markdown
# novalon-manage-system 管理系统设计方案
|
|
|
|
**创建日期**: 2026-03-11
|
|
**版本**: v1.0
|
|
**状态**: 已确认
|
|
|
|
---
|
|
|
|
## 一、项目定位
|
|
|
|
一个开箱即用的企业级后台管理系统,提供完整的用户、角色、权限、菜单、日志管理能力,并扩展配置、审计、通知、文件管理等企业常用功能。
|
|
|
|
---
|
|
|
|
## 二、技术架构
|
|
|
|
### 2.1 后端 (novalon-manage-api)
|
|
|
|
**Base Package**: `cn.novalon.manage`
|
|
|
|
```
|
|
cn.novalon.manage/
|
|
├── manage-sys # 系统管理模块 (原sys模块重构)
|
|
│ ├── core/ # 领域模型、Repository、Service
|
|
│ ├── handler/ # Controller层
|
|
│ ├── security/ # JWT认证、权限过滤
|
|
│ └── config/ # 路由、安全配置
|
|
├── manage-config # 系统配置模块 (新增)
|
|
├── manage-audit # 审计中心模块 (新增)
|
|
├── manage-notify # 通知中心模块 (新增)
|
|
└── manage-file # 文件管理模块 (新增)
|
|
```
|
|
|
|
**技术栈**:
|
|
- Java 17 + Spring Boot 3.x
|
|
- WebFlux 反应式编程
|
|
- MySQL/PostgreSQL
|
|
- JWT + Spring Security
|
|
- 单元/集成测试 (JUnit 5 + Mockito)
|
|
|
|
### 2.2 前端 (novalon-manage-web)
|
|
|
|
```
|
|
novalon-manage-web/
|
|
├── src/
|
|
│ ├── api/ # API接口定义
|
|
│ ├── views/
|
|
│ │ ├── system/ # 用户/角色/菜单/权限管理
|
|
│ │ ├── config/ # 字典/参数配置
|
|
│ │ ├── audit/ # 登录日志/操作日志
|
|
│ │ ├── notify/ # 公告管理/消息推送
|
|
│ │ └── file/ # 文件管理
|
|
│ ├── components/ # 公共组件
|
|
│ ├── stores/ # Pinia状态管理
|
|
│ └── utils/ # 工具函数
|
|
└── e2e/ # Playwright E2E测试
|
|
```
|
|
|
|
**技术栈**:
|
|
- Vue 3 (Composition API) + TypeScript
|
|
- Ant Design Vue 4.x
|
|
- Pinia 3.x
|
|
- Vue Router 4.x
|
|
- Axios
|
|
- Playwright + Vitest
|
|
|
|
---
|
|
|
|
## 三、模块功能规划
|
|
|
|
### 3.1 现有模块 (重构自原sys)
|
|
|
|
| 模块 | 功能 |
|
|
|------|------|
|
|
| 用户管理 | 增删改查、密码重置、状态启用/禁用 |
|
|
| 角色管理 | 角色CRUD、分配权限 |
|
|
| 菜单管理 | 树形菜单、动态路由 |
|
|
| 权限管理 | 按钮/接口级权限控制 |
|
|
| 操作日志 | 自动记录用户操作 |
|
|
| 登录认证 | JWT登录/登出/Token刷新 |
|
|
|
|
### 3.2 新增模块
|
|
|
|
| 模块 | 功能 |
|
|
|------|------|
|
|
| 字典管理 | 枚举类型配置、国际化支持 |
|
|
| 系统参数 | Key-Value配置、热更新 |
|
|
| 登录日志 | 登录IP、时间、地点记录 |
|
|
| 异常追踪 | 异常日志、堆栈记录 |
|
|
| 公告管理 | 系统公告发布/下架 |
|
|
| 消息推送 | 站内消息、通知用户 |
|
|
| 文件管理 | 本地/OSS存储、图片预览 |
|
|
|
|
---
|
|
|
|
## 四、定制化策略
|
|
|
|
1. **包名重构**: `io.destiny.*` → `cn.novalon.manage.*`
|
|
2. **组件重写**:
|
|
- Header/Sidebar/布局组件
|
|
- 登录页、仪表盘
|
|
- 表格/表单模板
|
|
3. **扩展设计**:
|
|
- 预留插件机制 (可插拔模块)
|
|
- 多租户支持 (可选)
|
|
- 国际化架构 (i18n)
|
|
|
|
---
|
|
|
|
## 五、目录结构
|
|
|
|
```
|
|
novalon-manage-system/
|
|
├── novalon-manage-api/ # 后端项目
|
|
│ ├── pom.xml
|
|
│ ├── manage-sys/
|
|
│ ├── manage-config/
|
|
│ ├── manage-audit/
|
|
│ ├── manage-notify/
|
|
│ └── manage-file/
|
|
├── novalon-manage-web/ # 前端项目
|
|
│ ├── package.json
|
|
│ └── src/
|
|
└── docs/ # 文档
|
|
└── DESIGN.md
|
|
```
|
|
|
|
---
|
|
|
|
## 六、实施模式
|
|
|
|
**模式**: 完整代码复制 (Fork)
|
|
|
|
直接从 `everything-is-suitable` 项目中提取后台管理系统相关代码到新项目,自主维护和定制。
|
|
|
|
---
|
|
|
|
## 七、后续计划
|
|
|
|
1. 创建项目脚手架
|
|
2. 提取并重构后端 sys 模块
|
|
3. 提取并重构前端 admin 模块
|
|
4. 实现新增模块
|
|
5. 搭建 CI/CD 流水线
|