2026-04-15 15:30:22 +08:00
|
|
|
|
# 仓库协作指南
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## 项目结构与模块组织
|
|
|
|
|
|
本仓库采用 RuoYi-Vue 前后端分离架构。后端模块位于仓库根目录:`ruoyi-admin` 为 Spring Boot 启动入口,`ruoyi-framework` 负责安全与 Web 基础设施,`ruoyi-system` 承载业务服务与 MyBatis Mapper,`ruoyi-common` 存放公共工具,`ruoyi-quartz` 与 `ruoyi-generator` 分别提供定时任务和代码生成功能。前端代码位于 `ruoyi-ui`,页面放在 `src/views`,接口封装位于 `src/api`,公共组件位于 `src/components`,静态资源位于 `src/assets`。SQL 脚本统一放在 `sql/`,项目文档统一放在 `doc/`。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## 构建、测试与开发命令
|
|
|
|
|
|
后端:
|
|
|
|
|
|
- `mvn clean package -DskipTests`:构建全部 Java 模块。
|
|
|
|
|
|
- `mvn test`:运行整个 Maven 聚合工程的后端测试。
|
|
|
|
|
|
- `mvn -pl ruoyi-admin -am spring-boot:run`:启动管理端服务,并自动构建依赖模块。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
前端:
|
|
|
|
|
|
- `cd ruoyi-ui && nvm use && npm install`:通过 `nvm` 切换并使用项目要求的 Node 版本后安装依赖。
|
|
|
|
|
|
- `cd ruoyi-ui && npm run dev`:启动 Vue 2 开发服务。
|
|
|
|
|
|
- `cd ruoyi-ui && npm run build:prod`:构建生产环境前端产物。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## 编码风格与命名规范
|
|
|
|
|
|
Java 代码统一使用 4 个空格缩进,包路径保持在 `com.ruoyi.<module>` 下。请沿用现有后缀命名,例如 `*Controller`、`*Service`、`*ServiceImpl`、`*Mapper`;Mapper XML 文件应继续放在 `src/main/resources/mapper/**` 下。Vue 文件遵循现有功能目录组织方式,例如 `src/views/system/user/index.vue` 与 `src/api/system/user.js`。新增代码时请保持与仓库现有命名风格一致,不要引入新的命名体系。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## 测试规范
|
|
|
|
|
|
当前仓库中尚未发现已提交的 `src/test` 测试文件,因此新增后端功能时,应在对应模块的 `src/test/java` 下补充聚焦型测试类,并使用 `*Test` 作为类名后缀。涉及前端改动时,至少需要验证 `npm run build:prod` 可以成功执行,并对相关页面流程进行本地冒烟验证。测试范围应聚焦于本次改动所在模块,避免无关扩散。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## 提交与 Pull Request 规范
|
|
|
|
|
|
当前仓库提交历史较少,仅有 `init`,因此提交信息请保持简短、明确,并统一使用中文,例如 `新增贷款定价审批接口`。忽略 `.DS_Store` 文件的变更。提交 PR 时,需要说明影响的模块、概述行为变化、列出 SQL 或配置变更,并在涉及界面调整时附上截图。
|
2026-04-15 10:13:59 +08:00
|
|
|
|
|
2026-04-15 15:30:22 +08:00
|
|
|
|
## Agent 协作说明
|
|
|
|
|
|
每次改动都必须在 `doc/` 中留下实施记录。如果一个功能同时涉及前端和后端,则需要分别维护前端实施计划和后端实施计划;如果仅涉及单侧改动,则只记录对应侧的实施内容。
|