--- name: docs-merge-v2 overview: 将04-08文档精简为3个规范类文档,接口规范只写约定不写具体字段,删除数据模型和TAPD拆解 todos: - id: create-04-dev-test-spec content: 新建 04-开发与测试规范.md:提取08第七/九章内容并扩展前端/小程序/Commit/协作规范 status: completed - id: create-05-api-spec content: 新建 05-接口规范.md:提取05全局约定+认证规范+06模块化架构规范,删除具体接口字段 status: completed - id: rename-08-to-06 content: 将08改写为06-项目技术要求.md:移除已拆分章节改为引用,更新内部引用路径 status: completed dependencies: - create-04-dev-test-spec - create-05-api-spec - id: delete-old-files content: 删除旧文件:04-核心数据模型.md、05-API接口规范.md、06-扩展接口规范.md、07-TAPD需求拆解.md、08-项目技术要求.md status: completed dependencies: - rename-08-to-06 --- ## 产品概述 将医院后勤管理项目的04-08号文档精简合并,只保留规范和约定层面内容,去掉具体数据模型表结构、具体接口请求/响应字段定义、TAPD需求拆解等延后处理的内容。 ## 核心功能 - 删除 `04-核心数据模型.md`(表结构延后到开发阶段) - 删除 `07-TAPD需求拆解.md`(需求拆解延后处理) - 新建 `04-开发与测试规范.md`:从08中提取开发规范(第七章)和测试规范(第九章),并适当扩展 - 新建 `05-接口规范.md`:从05中提取全局约定(第一章)+认证规范(第二章概要),从06中提取模块化架构规范(IModulePlugin接口定义、模块注册流程、事件通信规范、模块开发规范、前端加载机制、版本升级、安全规范),删除所有具体接口的请求/响应字段定义 - 将 `08-项目技术要求.md` 重命名为 `06-项目技术要求.md`,移除已拆分到04的开发规范和测试规范章节,改为引用04 ## 最终文档结构 ``` docs/ ├── 01-模块划分.md ├── 02-功能清单-超级管理员.md ├── 02-功能清单-物业公司.md ├── 02-功能清单-医院.md ├── 02-功能清单-小程序端.md ├── 03-业务流转逻辑-超级管理员.md ├── 03-业务流转逻辑-物业公司.md ├── 03-业务流转逻辑-医院.md ├── 03-业务流转逻辑-小程序端.md ├── 04-开发与测试规范.md ← 新建(提取自08第七/九章) ├── 05-接口规范.md ← 新建(提取05全局约定+06架构规范,删除具体接口) └── 06-项目技术要求.md ← 原08重命名,移除已拆分章节 ``` ## 技术栈 纯文档整理任务,无代码技术栈依赖。文档内容基于现有项目技术栈(Java 17 + Spring Boot 3 + Vue 3 + uni-app + MariaDB + Redis)。 ## 实现方案 ### 1. 新建 04-开发与测试规范.md 从08-项目技术要求.md第七章"开发规范"和第九章"测试要求"中提取并重组: **开发规范部分(来自08第七章)**: - API规范(引用05-接口规范.md,保留核心约定如RESTful风格、统一响应格式、错误码分段、分页参数) - 代码分层规范(Controller→Service→Repository三层分离,DTO/VO/Entity严格分离) - 命名规范(包名、类名、方法名、常量、数据库表名/字段名、枚举值、API路径) - 数据库规范(tenant_id必含、雪花主键、逻辑删除、枚举VARCHAR、JSON字段限制、索引规范) - 模块开发规范(引用05-接口规范.md IModulePlugin规范,模块目录结构,模块间通信规则) - 审计日志规范(@AuditLog注解、AOP切面、记录内容、变更快照) - Git分支规范(main/develop/feature/hotfix/release) - 代码审查要求(审查清单) **测试规范部分(来自08第九章)**: - 单元测试(覆盖率要求、框架JUnit5+Mockito、命名规范、必须测试场景) - 测试前置流程(修改后必先测试、CI门禁、JaCoCo覆盖率报告) - 集成测试(多租户隔离、读写分离、权限实时生效、蓝牙策略) - 蓝牙场景测试(信号/距离/离线/断开等场景) - 性能测试(JMeter/wrk、并发场景、慢SQL阈值) - 安全测试(SQL注入、越权访问、敏感数据、接口鉴权) **扩展内容**: - 前端开发规范(Vue 3组件规范、TypeScript规范、状态管理规范)—— 从08中的前端技术栈推导 - 小程序开发规范(uni-app规范、蓝牙调用规范)—— 从08中的小程序技术栈和蓝牙要求推导 - Commit Message规范(Conventional Commits格式) - 前后端协作规范(API联调流程、接口文档管理、Mock数据规范) ### 2. 新建 05-接口规范.md **从05-API接口规范.md提取(仅规范/约定,不提取具体接口字段)**: - 一、全局约定(完整保留):请求头、统一响应格式、错误码规范、通用错误码、查询参数约定 - 二、认证模块(仅保留规范概要):认证方式说明(Web端用户名密码→JWT、小程序微信openid→JWT、首次绑定手机号)、JWT载荷标准字段,删除每个接口的具体请求/响应字段 - 十七、接口权限汇总(保留,作为规范参考) **删除的内容(具体接口定义,开发时再细化)**: - 三~十六章所有具体API端点、请求体、响应体示例 **从06-扩展接口规范.md提取(架构规范层面)**: - 一、设计目标(模块即插即用、热注册、隔离、租户级控制) - 二、核心接口定义(IModulePlugin接口及所有数据结构:ModuleInfo/MenuDefinition/PermissionDefinition/RouteDefinition/TableDefinition/ConfigDefinition/ModuleContext) - 三、模块注册中心(ModuleRegistry接口、注册流程) - 四、模块启用/禁用管理(仅保留规范说明,删除具体API请求/响应字段) - 五、模块间事件通信(EventBus、预定义事件表、事件订阅示例) - 六、模块配置管理(仅保留规范说明,删除具体API请求/响应字段) - 七、扩展模块实现规范(目录结构、module.yml、IModulePlugin实现示例——这些是开发规范必须保留) - 八、前端模块加载机制 - 九、模块版本升级 - 十、模块安全规范 ### 3. 修改 08 → 06-项目技术要求.md **移除的章节**(已拆分到04和05): - 7.1 API规范 → 改为引用05 - 7.2 代码分层规范 → 移至04 - 7.3 命名规范 → 移至04 - 7.4 数据库规范 → 移至04 - 7.5 模块开发规范 → 改为引用05 - 7.6 审计日志规范 → 移至04 - 7.7 Git分支规范 → 移至04 - 7.8 代码审查要求 → 移至04 - 9.1~9.6 测试要求 → 全部移至04 - 附录A 蓝牙策略配置数据模型 → 删除(表结构延后) **保留的章节**(技术架构和运维层面): - 一、技术栈选型与版本要求 - 二、架构设计要求 - 三、去中间件方案 - 四、安全要求(4.1认证方案、4.2四级权限体系、4.3数据权限、4.4蓝牙策略配置、4.5审计日志、4.6通用安全要求) - 五、性能要求 - 六、数据库备份与恢复 - 八、部署与运维要求 - 十、环境配置管理 **新增引用**: - 开发规范 → "详见 04-开发与测试规范.md" - 测试规范 → "详见 04-开发与测试规范.md" - 模块化架构 → "详见 05-接口规范.md" - 更新文档内引用路径("06-扩展接口规范.md"→"05-接口规范.md","04-核心数据模型.md"→删除引用) ### 4. 删除旧文件 - 04-核心数据模型.md - 05-API接口规范.md - 06-扩展接口规范.md - 07-TAPD需求拆解.md - 08-项目技术要求.md ## 实施注意事项 - 05-接口规范.md中IModulePlugin相关代码示例保留(这些是架构规范,不是业务接口字段) - 06中第四章模块启用/禁用API和第六章模块配置API,保留路径表格,删除请求/响应体示例 - 08移入04的内容保持原意不变,仅做格式调整和引用更新 - 文档编号连续:01→02→03→04→05→06,无跳号