|
|
|
|
|
# RuoYi-Vue 架构文档
|
|
|
|
|
|
|
|
|
|
|
|
> **项目版本**: 3.8.0 | **分析日期**: 2026-06-28
|
|
|
|
|
|
> **前端**: Vue 2.6.12 + Element UI 2.15.6 | **后端**: Spring Boot 2.5.8 + JDK 1.8
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 文档清单
|
|
|
|
|
|
|
|
|
|
|
|
1. [架构概览](architecture-overview.md)
|
|
|
|
|
|
- 系统总体架构(前后端分层图、模块依赖图)
|
|
|
|
|
|
- 技术栈总结(前端 15 项、后端 14 项、数据库)
|
|
|
|
|
|
- 模块划分(8 个 Maven 模块职责与依赖关系)
|
|
|
|
|
|
- 关键设计模式(MVC、AOP 切面、单例、工厂、策略、模板方法等)
|
|
|
|
|
|
|
|
|
|
|
|
2. [前端架构分析](frontend-architecture.md)
|
|
|
|
|
|
- 组件结构(22 个组件组、~40 个视图页面、复用程度分析)
|
|
|
|
|
|
- 路由权限(静态路由 + 动态路由 + 服务端路由,三层权限控制)
|
|
|
|
|
|
- 状态管理(Vuex 5 个模块、数据流向、状态持久化)
|
|
|
|
|
|
- API 调用层(Axios 封装、拦截器、错误处理、错误码映射)
|
|
|
|
|
|
- 问题清单(8 个问题 + 8 条优化建议)
|
|
|
|
|
|
|
|
|
|
|
|
3. [后端架构分析](backend-architecture.md)
|
|
|
|
|
|
- 分层架构(Controller → Service → Mapper → Domain,四层架构详解)
|
|
|
|
|
|
- 安全配置(Spring Security 认证流程、JWT Token 机制、权限控制体系)
|
|
|
|
|
|
- AOP 切面(LogAspect、DataScopeAspect、DataSourceAspect、RateLimiterAspect)
|
|
|
|
|
|
- 模块依赖(Maven 多模块依赖图、模块职责、技术栈汇总)
|
|
|
|
|
|
- 问题清单(8 个问题及优化建议)
|
|
|
|
|
|
|
|
|
|
|
|
4. [前后端交互规范](api-interaction-spec.md)
|
|
|
|
|
|
- API 接口清单(35 个前端模块、19 个 Controller、约 182 个端点)
|
|
|
|
|
|
- 请求/响应格式(AjaxResult、TableDataInfo、统一响应结构)
|
|
|
|
|
|
- 错误处理(前端响应拦截器、后端全局异常处理、错误码体系)
|
|
|
|
|
|
- 分页排序(PageHelper 实现、排序参数、过滤规范、SQL 注入防护)
|
|
|
|
|
|
- 问题清单(10 个问题 + 短/中/长期优化建议)
|
|
|
|
|
|
|
|
|
|
|
|
5. [数据库结构分析](database-structure.md)
|
|
|
|
|
|
- 表结构清单(~49 张表:系统管理 21、Quartz 9、股票业务 11、账户记账 6)
|
|
|
|
|
|
- 表关系(ER 关系图、外键约束分析、多对多关系表)
|
|
|
|
|
|
- 索引分析(主键索引、唯一索引、索引覆盖度评估)
|
|
|
|
|
|
- 查询模式(常用查询、复杂关联查询、统计查询、性能瓶颈识别)
|
|
|
|
|
|
- 问题清单(10 个问题 + P0/P1/P2 三级优化建议含 SQL 脚本)
|
|
|
|
|
|
|
|
|
|
|
|
6. [优化建议清单](optimization-suggestions.md)
|
|
|
|
|
|
- 15+ 条优化建议(来自上述文档的汇总提炼)
|
|
|
|
|
|
- 优先级排序(P0 紧急 / P1 重要 / P2 一般)
|
|
|
|
|
|
- 实施步骤(短期 1-2 周 / 中期 1-2 月 / 长期持续)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 后续重构计划
|
|
|
|
|
|
|
|
|
|
|
|
基于本架构分析,后续将执行以下重构任务:
|
|
|
|
|
|
|
|
|
|
|
|
### 1. refactor-frontend-modernization — 前端重构
|
|
|
|
|
|
|
|
|
|
|
|
- 升级至 Vue 3 + Vite + Pinia
|
|
|
|
|
|
- 参考 `demo-dashboard-heatmap.html` 风格进行 UI 现代化
|
|
|
|
|
|
- 引入数据可视化组件(ECharts 升级)
|
|
|
|
|
|
- 统一权限校验核心模块,消除重复代码
|
|
|
|
|
|
- 引入统一状态持久化层
|
|
|
|
|
|
- 将业务组件从通用组件目录分离
|
|
|
|
|
|
- 抽取 CRUD Schema 驱动高阶组件
|
|
|
|
|
|
|
|
|
|
|
|
### 2. refactor-backend-api — 后端 API 规范化
|
|
|
|
|
|
|
|
|
|
|
|
- 统一 RESTful API 设计规范
|
|
|
|
|
|
- 优化错误处理(HTTP 状态码与业务状态码对齐)
|
|
|
|
|
|
- 添加 Swagger/OpenAPI 接口文档
|
|
|
|
|
|
- 替换 fastjson 为 fastjson2 或 Jackson
|
|
|
|
|
|
- 引入统一 DTO/VO 分层
|
|
|
|
|
|
- 补全 `@Log` 操作日志注解
|
|
|
|
|
|
- 清理调试代码(`System.out.println` → `logger`)
|
|
|
|
|
|
|
|
|
|
|
|
### 3. refactor-database-optimization — 数据库优化
|
|
|
|
|
|
|
|
|
|
|
|
- 修正主键类型(`double` → `bigint`)
|
|
|
|
|
|
- 为 `trade_dates` 等表添加主键
|
|
|
|
|
|
- 为核心查询字段添加索引(code、trade_day、user_id 等)
|
|
|
|
|
|
- 优化 `find_in_set` 查询(闭包表或整数数组方案)
|
|
|
|
|
|
- 修复 `statistics` 表字段拼写错误
|
|
|
|
|
|
- 时间查询优化(`date_format` → 范围查询)
|
|
|
|
|
|
- 为业务表添加审计字段与软删除机制
|
|
|
|
|
|
|
|
|
|
|
|
### 4. refactor-coding-standards — 编码规范
|
|
|
|
|
|
|
|
|
|
|
|
- 制定项目编码规范文档
|
|
|
|
|
|
- 集成 Checkstyle / SpotBugs 自动检查
|
|
|
|
|
|
- 集成 ESLint + Prettier 前端代码规范
|
|
|
|
|
|
- 统一命名规范(包名、类名、方法名、变量名)
|
|
|
|
|
|
- 规范注释与 Javadoc 编写
|
|
|
|
|
|
- 建立 Git Commit 信息规范(Conventional Commits)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 文档导航
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
docs/architecture/
|
|
|
|
|
|
├── README.md ← 当前文件:文档索引与重构计划
|
|
|
|
|
|
├── architecture-overview.md ← 系统总体架构概览
|
|
|
|
|
|
├── frontend-architecture.md ← 前端架构详细分析
|
|
|
|
|
|
├── backend-architecture.md ← 后端架构详细分析
|
|
|
|
|
|
├── api-interaction-spec.md ← 前后端交互规范
|
|
|
|
|
|
├── database-structure.md ← 数据库结构分析
|
|
|
|
|
|
└── optimization-suggestions.md ← 优化建议汇总清单
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
*最后更新: 2026-06-28*
|