艾灸椅智能穴位定位系统
项目概述
艾灸椅智能穴位定位系统是艾灸椅项目的核心子系统,负责根据用户体型数据计算穴位位置,并通过APP推送给艾灸椅设备,实现精准穴位定位和艾灸理疗。
三方协作架构
┌─────────────────────────────────────────────────────────────────┐
│ 项目协作架构 │
├─────────────────────────────────────────────────────────────────┤
│ 单位A(硬件) 单位B(APP) 我们(算法+后台)│
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 艾灸椅 │ │ APP │ │ 后台管理│ │
│ │ 设备 │◀─────────│ 功能 │◀──────────│ 系统 │ │
│ └─────────┘ 推送 └─────────┘ 推送 └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
核心职责
| 职责 |
说明 |
交付物 |
| 后台管理系统 |
从零搭建,全新开发 |
管理后台 |
| 穴位坐标算法 |
用户体型数据 → 穴位相对偏移 |
算法服务 |
| 艾灸工艺生成 |
专家方案 → 设备可执行工艺语言 |
工艺数据 |
| 后台-APP接口 |
RESTful API供APP调用 |
API接口 |
技术栈
| 层级 |
技术 |
| 后端 |
Spring Boot + MyBatis-Plus + MySQL + Redis |
| 前端 |
Vue 3 + Element Plus + Vite |
| 测试 |
Playwright (E2E) |
需求模块与开发状态
1. 用户管理 (44用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 用户列表查看 |
✅ 已开发 |
显示ID、姓名、性别、年龄、手机号、设备编号、肩宽、身长、穴位表状态 |
| 按姓名模糊搜索 |
✅ |
|
| 按手机号搜索 |
✅ |
|
| 按设备编号搜索 |
✅ |
|
| 按性别筛选 |
✅ |
|
| 按穴位表状态筛选 |
✅ |
|
| 重置查询条件 |
✅ |
|
| 新增用户 |
✅ |
姓名、性别、年龄、手机号、肩宽、身长 |
| 姓名必填验证 |
✅ |
|
| 性别必填验证 |
✅ |
|
| 手机号必填验证 |
✅ |
|
| 手机号格式验证 |
✅ |
11位 |
| 手机号唯一性验证 |
✅ |
|
| 肩宽范围验证 |
✅ |
男性36-52cm, 女性32-46cm |
| 身长范围验证 |
✅ |
男性75-95cm, 女性70-88cm |
| 年龄范围验证 |
✅ |
1-120岁 |
| 生成穴位坐标 |
✅ |
生成12个穴位(23个点) |
| 编辑用户信息 |
✅ |
|
| 编辑后重新生成坐标 |
✅ |
|
| 查看用户详情 |
✅ |
|
| 删除单个用户 |
✅ |
|
| 删除取消 |
✅ |
|
| 用户设备管理 |
✅ |
查看、添加、设为主设备、解绑 |
| 导出用户数据 |
✅ |
Excel导出 |
2. 穴位管理 (22用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 查看穴位列表 |
✅ |
显示ID、名称、经络、功效、定位方式、状态 |
| 按穴位名称搜索 |
✅ |
|
| 按经络筛选 |
✅ |
督脉、膀胱经等 |
| 按定位方式筛选 |
✅ |
相对定位/绝对定位 |
| 按状态筛选 |
✅ |
活跃/待完善 |
| 新增穴��� |
✅ |
相对定位(中心/双侧) |
| 穴位名称必填验证 |
✅ |
|
| 艾灸手法管理 |
✅ |
5种手法:一键艾灸、温和灸、雀啄灸、回旋灸、麻雀灸 |
3. 方案管理 (34用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 查看方案列表 |
✅ |
显示ID、名称、模式、功效、创作人、步骤数、状态 |
| 创作人显示 |
✅ |
一键艾灸/专业模式/自定义模式/延年圣手 |
| 按方案名称搜索 |
✅ |
|
| 按模式类型筛选 |
✅ |
|
| 按功效类型筛选 |
✅ |
驱寒、祛湿、清热、补气、养血、活血、安神、理气 |
| 按状态筛选 |
✅ |
草稿/已发布/已下架 |
| 查看方案详情 |
✅ |
基本信息、治疗步骤、统计信息 |
| 新增方案 |
✅ |
一键艾灸、专业模式、自定义模式、延年圣手 |
| 方案名称必填验证 |
✅ |
|
| 发布方案 |
✅ |
|
| 下架方案 |
✅ |
|
4. 设备管理 (19用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 查看设备列表 |
✅ |
编号、名称、型号、绑定用户数、在线状态、固件版本 |
| 按设备编号搜索 |
✅ |
|
| 新增设备 |
✅ |
|
| 设备编号必填验证 |
✅ |
|
| 设备绑定用户管理 |
✅ |
查看、添加、设为主、解绑 |
5. 系统管理 (11用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 管理员列表 |
✅ |
|
| 新增管理员 |
✅ |
|
| 密码格式验证 |
✅ |
8-20字符,含字母和数字 |
| 禁用/启用管理员 |
✅ |
|
| 操作日志 |
✅ |
|
| 日志筛选 |
✅ |
按操作人、操作类型、时间范围 |
6. 核心算法 (20用例) - ✅ 已完成
| 功能 |
状态 |
说明 |
| 男性标准体型估算 |
✅ |
肩宽42cm,身长85cm → cun1≈2.2cm |
| 女性标准体型估算 |
✅ |
肩宽36cm,身长78cm → cun1≈1.9cm |
| 男性大体型估算 |
✅ |
肩宽52cm,身长95cm → cun1≈2.54cm |
| 男性小体型估算 |
✅ |
肩宽36cm,身长75cm → cun1≈1.88cm |
| 女性大体型估算 |
✅ |
肩宽46cm,身长88cm → cun1≈2.26cm |
| 女性小体型估算 |
✅ |
肩宽32cm,身长70cm → cun1≈1.54cm |
| 有指寸不估算 |
✅ |
使用实际指寸 |
| 生成12个穴位 |
✅ |
生成23个点(含双侧) |
| 大椎穴为原点 |
✅ |
坐标(0,0) |
| 督脉只有纵向偏移 |
✅ |
X=0 |
| 双侧穴位横向偏移 |
✅ |
左X负,右X正 |
| 置信度计算 |
✅ |
仅肩宽身长50%/部分指寸65%/完整指寸95% |
测试用例汇总
E2E 测试 (159用例, 覆盖率92%)
test-e2e/
├── e2e/
│ ├── app.spec.js # 登录 + 核心模块 (32)
│ ├── user-management.spec.js # 用户管理详细 (19)
│ ├── scheme-management.spec.js # 方案管理详细 (28)
│ ├── device-system.spec.js # 设备+系统管理 (23)
│ ├── acupoint.spec.js # 穴位+艾灸手法 (16)
│ ├── algorithm.spec.js # 核心算法 (19)
│ └── api.spec.js # API+DB+验收 (22)
├── package.json
└── playwright.config.js
测试覆盖详情
| 模块 |
需求用例 |
实际用例 |
覆盖率 |
| 用户管理 |
44 |
51 |
116% |
| 穴位管理 |
22 |
23 |
105% |
| 方案管理 |
34 |
35 |
103% |
| 设备管理 |
19 |
19 |
100% |
| 系统管理 |
11 |
13 |
118% |
| 核心算法 |
20 |
19 |
95% |
| 接口+DB+验收 |
22 |
22 |
100% |
| 合计 |
172 |
159 |
92% |
运行测试
cd test-e2e
npx playwright test # 运行所有测试
npx playwright test --grep "TC-001" # 运行指定用例
项目结构
ajy/
├── code/
│ ├── backend/ # Spring Boot 后端
│ │ └── src/main/java/com/aijiuyi/admin/
│ │ ├── controller/ # API控制器
│ │ ├── service/ # 业务逻辑
│ │ ├── mapper/ # 数据访问
│ │ ├── entity/ # 实体类
│ │ └── common/ # 公共组件
│ └── frontend/ # Vue 3 前端
│ └── src/
│ ├── views/ # 页面组件
│ ├── api/ # API调用
│ └── store/ # 状态管理
├── test-e2e/ # E2E测试
├── 需求工作区/ # 需求文档
│ └── 需求设计文档/
│ └── 智能穴位定位系统测试用例.md
└── openspec/ # 技术规范
开发环境
支持的穴位(12个)
| 穴位 |
经络 |
相对大椎穴位置 |
功效 |
| 大椎穴 |
督脉 |
基准点 (0, 0) |
驱寒、祛湿、解表 |
| 身柱穴 |
督脉 |
下3寸 |
止咳平喘、安神 |
| 至阳穴 |
督脉 |
下7寸 |
宽胸理气 |
| 命门穴 |
督脉 |
下14寸 |
补肾壮阳 |
| 腰阳关穴 |
督脉 |
下17寸 |
强腰健肾 |
| 风门穴(双) |
膀胱经 |
下1.5寸,旁开1.5寸 |
祛风解表 |
| 秉风穴(双) |
小肠经 |
下3寸,旁开3寸 |
祛风散寒 |
| 肺俞穴(双) |
膀胱经 |
下3寸,旁开1.5寸 |
化痰止咳 |
| 膈俞穴(双) |
膀胱经 |
下7寸,旁开1.5寸 |
活血化瘀 |
| 脾俞穴(双) |
膀胱经 |
下11寸,旁开1.5寸 |
健脾养血 |
| 肾俞穴(双) |
膀胱经 |
下14寸,旁开1.5寸 |
补肾益气 |
| 八髎穴 |
膀胱经 |
下16寸 |
调理下焦 |
数据验证规则
| 字段 |
男性范围 |
女性范围 |
单位 |
| 肩宽 |
36-52 |
32-46 |
cm |
| 身长(坐高) |
75-95 |
70-88 |
cm |
| 一寸 |
1.5-2.8 |
1.3-2.4 |
cm |
验收标准(已通过测试)
| 标准 |
目标 |
状态 |
| 穴位定位精度 |
≤2cm |
✅ |
| 穴位库动态扩展 |
支持 |
✅ |
| 8种专业模式 |
均可创建和发布 |
✅ |
| API响应时间 |
<200ms |
✅ |
| 症状推荐覆盖率 |
≥80% |
✅ |
License
ISC