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.
RuoYi-Vue/docs/architecture/README.md

112 lines
4.6 KiB

# 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*