You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
# Proposal: RuoYi-Vue 架构梳理与交互规范
|
|
|
|
|
|
|
|
|
|
|
|
## Why
|
|
|
|
|
|
|
|
|
|
|
|
RuoYi-Vue 系统当前存在以下问题:
|
|
|
|
|
|
1. **架构不清晰**:前后端模块职责不够明确,代码组织混乱
|
|
|
|
|
|
2. **交互不规范**:API 接口设计风格不统一,前后端数据交互缺乏标准
|
|
|
|
|
|
3. **技术栈陈旧**:前端使用 Vue2 + Vue CLI,缺乏现代化构建工具支持
|
|
|
|
|
|
4. **缺乏文档**:没有完整的架构文档和开发规范
|
|
|
|
|
|
|
|
|
|
|
|
这导致:
|
|
|
|
|
|
- 新成员上手困难
|
|
|
|
|
|
- 代码维护成本高
|
|
|
|
|
|
- 功能扩展容易引入 bug
|
|
|
|
|
|
- 团队协作效率低
|
|
|
|
|
|
|
|
|
|
|
|
## What
|
|
|
|
|
|
|
|
|
|
|
|
本次变更将完成以下工作:
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 前端架构分析
|
|
|
|
|
|
- 分析 ruoyi-ui 现有组件结构(components、views、api、store、router)
|
|
|
|
|
|
- 梳理页面路由结构和权限控制机制
|
|
|
|
|
|
- 分析状态管理(Vuex)使用情况
|
|
|
|
|
|
- 识别可复用的组件和需要重构的部分
|
|
|
|
|
|
- 评估现有 UI 框架(Element UI)的使用情况
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 后端架构分析
|
|
|
|
|
|
- 分析 ruoyi-admin 启动配置和模块依赖
|
|
|
|
|
|
- 分析 ruoyi-system 系统管理模块(用户、角色、菜单、权限)
|
|
|
|
|
|
- 分析 book-system 业务模块(账户、账本、统计、操作)
|
|
|
|
|
|
- 分析 ruoyi-common、ruoyi-framework 等基础模块
|
|
|
|
|
|
- 梳理 MyBatis Mapper 和 Service 层结构
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 前后端交互分析
|
|
|
|
|
|
- 梳理现有 API 接口规范
|
|
|
|
|
|
- 分析请求/响应格式
|
|
|
|
|
|
- 分析错误处理机制
|
|
|
|
|
|
- 分析分页、排序、过滤等通用功能实现
|
|
|
|
|
|
- 识别交互痛点和优化空间
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 输出文档
|
|
|
|
|
|
- **前端架构文档**:组件树、路由图、状态流
|
|
|
|
|
|
- **后端架构文档**:模块依赖图、服务层结构、数据流
|
|
|
|
|
|
- **前后端交互规范**:API 设计规范、数据格式标准、错误码规范
|
|
|
|
|
|
- **优化建议清单**:识别的问题和推荐方案
|
|
|
|
|
|
|
|
|
|
|
|
## Success Criteria
|
|
|
|
|
|
|
|
|
|
|
|
1. 输出完整的前后端架构图(ASCII 或 Markdown 格式)
|
|
|
|
|
|
2. 输出前后端交互规范文档,包含:
|
|
|
|
|
|
- RESTful API 设计规范
|
|
|
|
|
|
- 请求/响应数据格式
|
|
|
|
|
|
- 错误处理标准
|
|
|
|
|
|
- 分页/排序/过滤规范
|
|
|
|
|
|
3. 识别至少 10 个现有架构问题并给出优化建议
|
|
|
|
|
|
4. 为后续重构(前端、后端、数据库)提供清晰的技术指引
|
|
|
|
|
|
|
|
|
|
|
|
## Non-Goals
|
|
|
|
|
|
|
|
|
|
|
|
- 不实施代码改动
|
|
|
|
|
|
- 不修改数据库表结构
|
|
|
|
|
|
- 不引入新的依赖或框架
|
|
|
|
|
|
- 不改变现有业务逻辑
|
|
|
|
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
|
|
|
|
|
|
|
|
无外部依赖,仅依赖代码库分析
|
|
|
|
|
|
|
|
|
|
|
|
## Risks
|
|
|
|
|
|
|
|
|
|
|
|
- 分析可能遗漏某些隐性依赖
|
|
|
|
|
|
- 需要深入理解 RuoYi 框架的设计哲学
|