Sfoglia il codice sorgente

docs: 更新需求测试代码匹配度分析报告 v1.3.0 - 蓝牙Pinia重构、设备分组

liaoxg 3 mesi fa
parent
commit
193209dd3d

+ 46 - 33
需求工作区/需求设计文档/需求测试代码匹配度分析报告.md

@@ -1,9 +1,9 @@
 # 需求、测试与代码一致性分析报告
 
 **项目**: 艾灸椅智能穴位定位系统
-**报告版本**: v1.2.0
-**分析时间**: 2026-06-03
-**代码版本**: master分支 (commit: 33f6b8d)
+**报告版本**: v1.3.0
+**分析时间**: 2026-06-04
+**代码版本**: master分支 (commit: a9c05ce)
 **代码分支**: jiapu_aijiuyi → master
 **Git仓库**: http://git.iwintrue.com/liaoxg/ajy.git
 
@@ -15,27 +15,35 @@
 
 | 提交 | 说明 |
 |------|------|
-| 2323740 | 背部产品穴位接口、用户设备列表接口、用户添加设备接口(补充代码) |
-| 53c66f8 | 自定义穴位样式优化 |
-| a54265e | 我的信息新增性别、肩高、肩宽等字段。 优化编辑用户信息样式。 |
-| 3ef48d1 | 自定义穴位页面搭建 |
+| ea60972 | 蓝牙未开启弹窗优化 |
+| 96ab01d | 后台卡片点击空白关闭修复 |
+| 2adf6fb | 设备椅操作页面退出后蓝牙不断开 |
+| 2962b4c | 用户管理还原 |
+| a8872ba | 代码还原 |
+| 07371e5 | pinia单例蓝牙相关代码提交 |
+| 8cfbaee | 蓝牙重新封装,使用pinia构建单例模式 |
+| c21686e | 设备绑定用户逻辑变更 |
 
-### 1.2 新增功能
+### 1.2 新增/变更功能
 
 | 模块 | 功能 | 文件 |
 |------|------|------|
-| **APP - 自定义穴位** | 穴位编辑页面 acupointEdit.vue | ajyApp/pages/device/acupointEdit/acupointEdit.vue (813行新增) |
-| **APP - 身体参数** | 身体参数页面新增肩高、肩宽等字段 | bodyParams.nvue |
-| **APP - 我的信息** | 我的信息页新增性别、肩高、肩宽等 | info.nvue |
-| **APP - 穴位Mixin** | 新增 acupoint-mixin.js 复用逻辑 | mixins/acupoint-mixin.js |
-| **APP - 穴位API** | 新增 acupoint.js API模块 | utils/api/acupoint.js |
-| **APP - SVG资源** | 背部人体轮廓 SVG | static/device/body-back-silhouette.svg |
-| **后端 - 设备绑定** | AppUserDeviceController 新增接口 | AppUserDeviceController.java |
-| **后端 - DTO** | AppUserDeviceBindDTO、UserAcupointCoordinateDTO | dto/ |
+| **蓝牙重构** | Pinia单例模式,BLE管理封装 | `stores/ble.js` (814行), `utils/ble/*` |
+| **设备分组** | 设备分组管理(分组列表、成员管理) | `AppDeviceGroupServiceImpl.java` (962行) |
+| **设备实体** | DeviceGroup, DeviceGroupMember 实体 | `entity/DeviceGroup.java`, `entity/DeviceGroupMember.java` |
+| **设备Controller** | AppDeviceController, AppGroupController | `controller/AppDeviceController.java`, `controller/AppGroupController.java` |
+| **数据库迁移** | 设备分组表结构迁移脚本 | `migration_device_group.sql` |
+| **前端-设备管理** | 设备列表用户/分组Tab、搜索功能 | `frontend/src/views/device/index.vue` |
 
-### 1.3 openspec 目录保留
+### 1.3 文件删除
 
-- ✅ openspec/ 参考目录已保留,包含数据库 Schema 定义 (init.sql) 和参考实现
+| 文件 | 说明 |
+|------|------|
+| `code/README.md` | 无实际内容,合并中删除 |
+
+### 1.4 openspec 目录保留
+
+- ✅ openspec/ 参考目录已保留
 
 ---
 
@@ -54,15 +62,14 @@
 
 ### 新功能需求覆盖
 
-本次合并引入的新功能(v1.2.0新增):
+本次合并引入的新功能(v1.3.0新增):
 
 | 新功能 | 状态 | 说明 |
 |--------|------|------|
-| 自定义穴位编辑页面 | ⚠️ 无测试用例 | acupointEdit.vue 新增813行 |
-| 身体参数-肩高肩宽 | ⚠️ 无测试用例 | 新增字段 |
-| 我的信息-性别肩高肩宽 | ⚠️ 无测试用例 | 新增字段 |
-| AppUserDeviceBindDTO | ⚠️ 无测试用例 | 设备绑定参数 |
-| UserAcupointCoordinateDTO | ⚠️ 无测试用例 | 穴位坐标传输对象 |
+| 蓝牙Pinia单例模式 | ⚠️ 无测试用例 | ble.js 814行,架构重构 |
+| 设备分组管理 | ⚠️ 无测试用例 | 分组CRUD、成员管理 |
+| 设备绑定逻辑变更 | ⚠️ 无测试用例 | c21686e |
+| 蓝牙弹窗优化 | ⚠️ 无测试用例 | 体验优化 |
 
 ---
 
@@ -84,9 +91,9 @@
 
 | 新功能 | 有无测试 | 建议 |
 |--------|---------|------|
-| 自定义穴位编辑 (acupointEdit) | ❌ 无 | 补充 E2E 测试 |
-| 身体参数-肩高肩宽字段 | ❌ 无 | 补充 E2E 测试 |
-| AppUserDeviceBindDTO | ❌ 无 | 补充单元测试 |
+| 蓝牙Pinia单例模式 | ❌ 无 | 补充 E2E 测试(连接、断开、状态) |
+| 设备分组管理 | ❌ 无 | 补充 E2E 测试(创建分组、添加设备、移除成员) |
+| AppDeviceController | ❌ 无 | 补充 API 单元测试 |
 
 ---
 
@@ -108,13 +115,18 @@
 
 - **openspec 目录**: `/mnt/e/workspace/ajy/openspec/backend/src/main/resources/sql/init.sql` ✅ 已保留
 
-### 5.2 Entity vs 数据库一致性
+### 5.2 数据库迁移
+
+本次合并新增 `migration_device_group.sql`,用于创建设备分组相关表。
+
+### 5.3 Entity vs 数据库一致性
 
 | 实体 | 问题 | 状态 |
 |------|------|------|
 | UserProfile | spineLength/height/weight 字段在DB不存在 | ⚠️ 待确认 |
 | UserProfile.gender | Integer vs VARCHAR('male'/'female') | ⚠️ 待确认 |
 | Plan.status | Integer vs ENUM | ⚠️ 待确认 |
+| DeviceGroup / DeviceGroupMember | 新增实体 | ⚠️ 待确认迁移脚本是否已执行 |
 
 ---
 
@@ -122,9 +134,9 @@
 
 | 优先级 | 问题 | 建议操作 |
 |--------|------|---------|
-| P1 | 自定义穴位编辑页面无测试 | 补充 E2E 测试用例 |
-| P1 | 身体参数新字段无测试 | 补充 E2E 测试用例 |
-| P2 | Schema 潜在不一致 | 连接 dev 数据库验证 |
+| P1 | 蓝牙单例模式无测试 | 补充 E2E 测试 |
+| P1 | 设备分组管理无测试 | 补充 E2E 测试 |
+| P2 | migration_device_group.sql 是否已执行 | 确认数据库升级流程 |
 
 ---
 
@@ -133,5 +145,6 @@
 | 版本 | 日期 | 说明 |
 |------|------|------|
 | v1.0.0 | 2026-06-02 | 初始版本 |
-| v1.1.0 | 2026-06-02 | 合并dev分支变更:背部产品穴位、App端设备绑定等功能 |
-| v1.2.0 | 2026-06-03 | 合并dev分支变更:自定义穴位编辑页面、身体参数新字段、我的信息页优化 |
+| v1.1.0 | 2026-06-02 | 合并dev分支:背部产品穴位、App端设备绑定 |
+| v1.2.0 | 2026-06-03 | 合并dev分支:自定义穴位编辑页面、身体参数新字段 |
+| v1.3.0 | 2026-06-04 | 合并dev分支:蓝牙Pinia单例重构、设备分组管理(3166行新增) |