08ea5fbe98
添加用户管理视图、API和状态管理文件
3.8 KiB
3.8 KiB
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存储、图片预览 |
四、定制化策略
- 包名重构:
io.destiny.*→cn.novalon.manage.* - 组件重写:
- Header/Sidebar/布局组件
- 登录页、仪表盘
- 表格/表单模板
- 扩展设计:
- 预留插件机制 (可插拔模块)
- 多租户支持 (可选)
- 国际化架构 (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 项目中提取后台管理系统相关代码到新项目,自主维护和定制。
七、后续计划
- 创建项目脚手架
- 提取并重构后端 sys 模块
- 提取并重构前端 admin 模块
- 实现新增模块
- 搭建 CI/CD 流水线