|
|
@@ -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行新增) |
|