|
|
@@ -1,185 +1,402 @@
|
|
|
# 艾灸椅智能穴位定位系统
|
|
|
|
|
|
+> 智能艾灸理疗系统 - 基于体型数据的精准穴位定位
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 项目概述
|
|
|
|
|
|
艾灸椅智能穴位定位系统是艾灸椅项目的核心子系统,负责根据用户体型数据计算穴位位置,并通过APP推送给艾灸椅设备,实现精准穴位定位和艾灸理疗。
|
|
|
|
|
|
-### 三方协作架构
|
|
|
+### 核心价值
|
|
|
+
|
|
|
+- **精准定位**:基于用户体型数据(肩宽、身长、指寸)计算穴位坐标,精度达≤2cm
|
|
|
+- **智能算法**:融合中医经络理论与现代测量技术,自动适应不同体型
|
|
|
+- **三方协同**:硬件(艾灸椅)+ 软件(APP)+ 算法服务(后台)完整闭环
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 用户场景
|
|
|
+
|
|
|
+### 场景一:家庭用户首次使用
|
|
|
+
|
|
|
+```
|
|
|
+用户购买艾灸椅到家
|
|
|
+ ↓
|
|
|
+下载并安装APP,通过手机号+验证码登录
|
|
|
+ ↓
|
|
|
+添加家庭成员信息(姓名、性别、年龄、肩宽、身长)
|
|
|
+ ↓
|
|
|
+系统自动生成用户专属穴位对照表(12个穴位,23个定位点)
|
|
|
+ ↓
|
|
|
+绑定艾灸椅设备,开始使用
|
|
|
+```
|
|
|
+
|
|
|
+### 场景二:日常艾灸理疗
|
|
|
+
|
|
|
+```
|
|
|
+用户打开APP,连接已绑定的艾灸椅
|
|
|
+ ↓
|
|
|
+选择艾灸模式:
|
|
|
+├── 一键艾灸(默认,系统预置)
|
|
|
+├── 专业模式(驱寒/祛湿/清热等8种功效)
|
|
|
+├── 自定义模式(自选穴位组合)
|
|
|
+└── 延年圣手模式(专家方案,快捷键1-8)
|
|
|
+ ↓
|
|
|
+APP推送艾灸工艺(含穴位坐标)至艾灸椅
|
|
|
+ ↓
|
|
|
+艾灸椅自动定位,开始理疗
|
|
|
+ ↓
|
|
|
+理疗结束后查看历史记录
|
|
|
+```
|
|
|
+
|
|
|
+### 场景三:管理员运营
|
|
|
|
|
|
```
|
|
|
-┌─────────────────────────────────────────────────────────────────┐
|
|
|
-│ 项目协作架构 │
|
|
|
-├─────────────────────────────────────────────────────────────────┤
|
|
|
-│ 单位A(硬件) 单位B(APP) 我们(算法+后台)│
|
|
|
-│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
|
-│ │ 艾灸椅 │ │ APP │ │ 后台管理│ │
|
|
|
-│ │ 设备 │◀─────────│ 功能 │◀──────────│ 系统 │ │
|
|
|
-│ └─────────┘ 推送 └─────────┘ 推送 └─────────┘ │
|
|
|
-└─────────────────────────────────────────────────────────────────┘
|
|
|
+系统管理员登录后台管理系统
|
|
|
+ ↓
|
|
|
+日常运营:
|
|
|
+├── 用户管理:查看用户列表、设备绑定、穴位表状态
|
|
|
+├── 穴位管理:维护基础穴位库、艾灸手法
|
|
|
+├── 方案管理:审核专家方案、管理发布状态
|
|
|
+├── 设备管理:监控设备在线状态、固件版本
|
|
|
+├── 内容管理:发布健康科普文章
|
|
|
+└── 日志审计:追踪操作记录
|
|
|
```
|
|
|
|
|
|
-### 核心职责
|
|
|
+### 场景四:专家方案创作
|
|
|
|
|
|
-| 职责 | 说明 | 交付物 |
|
|
|
-|------|------|--------|
|
|
|
-| **后台管理系统** | 从零搭建,全新开发 | 管理后台 |
|
|
|
-| **穴位坐标算法** | 用户体型数据 → 穴位相对偏移 | 算法服务 |
|
|
|
-| **艾灸工艺生成** | 专家方案 → 设备可执行工艺语言 | 工艺数据 |
|
|
|
-| **后台-APP接口** | RESTful API供APP调用 | API接口 |
|
|
|
+```
|
|
|
+专家登录独立小程序/公众号(预留接口)
|
|
|
+ ↓
|
|
|
+创建艾灸理疗方案:
|
|
|
+├── 选择功效类型(驱寒/祛湿/活血等)
|
|
|
+├── 选择穴位组合(大椎穴、风门穴、肺俞穴等)
|
|
|
+├── 设置治疗步骤(温度、时间、顺序)
|
|
|
+├── 指定适用人群(性别、年龄范围)
|
|
|
+ ↓
|
|
|
+系统解析生成工艺语言
|
|
|
+ ↓
|
|
|
+发布方案至平台(待审核)
|
|
|
+ ↓
|
|
|
+审核通过后,用户可在延年圣手模式中选用
|
|
|
+```
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 技术栈
|
|
|
+## 角色定义
|
|
|
+
|
|
|
+### 三大核心角色
|
|
|
+
|
|
|
+| 角色 | 描述 | 入口 | 主要功能 |
|
|
|
+|------|------|------|----------|
|
|
|
+| **家庭用户** | 购买艾灸椅的个人或家庭成员 | APP (iOS/Android/HarmonyOS) | 设备绑定、方案选择、穴位表管理、历史记录 |
|
|
|
+| **系统管理员** | 平台运营人员,维护系统正常运转 | 后台管理系统 (Web) | 用户管理、设备管理、内容审核、运营监控 |
|
|
|
+| **专家** | 中医领域专家,创作专业方案 | 小程序/公众号 (独立项目,待开发) | 方案创作、效果追踪、用户反馈 |
|
|
|
+
|
|
|
+### 家庭用户子角色
|
|
|
|
|
|
-| 层级 | 技术 |
|
|
|
-|------|-------|
|
|
|
-| 后端 | 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用例) - ✅ 已完成
|
|
|
-
|
|
|
-| 功能 | 状态 | 说明 |
|
|
|
+```
|
|
|
+┌─────────────────────────────────────────────────────────────┐
|
|
|
+│ 艾灸椅智能定位生态系统 │
|
|
|
+├─────────────────────────────────────────────────────────────┤
|
|
|
+│ │
|
|
|
+│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
|
+│ │ 硬件 │────▶│ APP │────▶│ 后台 │ │
|
|
|
+│ │ 艾灸椅 │◀────│ 控制 │◀────│ 算法 │ │
|
|
|
+│ └─────────┘ └─────────┘ └─────────┘ │
|
|
|
+│ │ │ │ │
|
|
|
+│ └───────────────┴───────────────┘ │
|
|
|
+│ │ │
|
|
|
+│ ┌────▼────┐ │
|
|
|
+│ │ 云端 │ │
|
|
|
+│ │ 数据中枢│ │
|
|
|
+│ └─────────┘ │
|
|
|
+│ │ │
|
|
|
+│ ┌──────────────┼──────────────┐ │
|
|
|
+│ ▼ ▼ ▼ │
|
|
|
+│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
|
+│ │ 内容运营 │ │ 方案市场 │ │ 专家服务 │ │
|
|
|
+│ └──────────┘ └──────────┘ └──────────┘ │
|
|
|
+│ │
|
|
|
+└─────────────────────────────────────────────────────────────┘
|
|
|
+```
|
|
|
+
|
|
|
+### 发展阶段
|
|
|
+
|
|
|
+```
|
|
|
+阶段一(已完成) 阶段二(规划中) 阶段三(远期)
|
|
|
+┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
|
+│ 核心功能闭环 │ ──▶ │ 生态化运营 │ ──▶ │ 智能化演进 │
|
|
|
+│ │ │ │ │ │
|
|
|
+│ • 基础定位 │ │ • 专家入驻 │ │ • AI推荐方案 │
|
|
|
+│ • 方案管理 │ │ • 方案市场 │ │ • 体质辨识 │
|
|
|
+│ • 设备控制 │ │ • 社区互动 │ │ • 远程问诊 │
|
|
|
+│ • 内容管理 │ │ • 运营数据 │ │ • 养生指导 │
|
|
|
+└──────────────┘ └──────────────┘ └──────────────┘
|
|
|
+```
|
|
|
+
|
|
|
+### 模块化扩展
|
|
|
+
|
|
|
+| 模块 | 当前状态 | 扩展方向 |
|
|
|
+|------|---------|----------|
|
|
|
+| **用户档案** | 基础信息+体型数据 | 健康档案、体检报告、历史艾灸记录 |
|
|
|
+| **穴位算法** | 12个穴位,23个定位点 | 更多穴位、更精细定位、自适应学习 |
|
|
|
+| **方案管理** | 4种模式,预置+自定义 | 专家方案、热门推荐、用户分享 |
|
|
|
+| **设备管理** | 单一设备绑定 | 多设备管理、设备共享、租赁模式 |
|
|
|
+| **内容运营** | 文章发布 | 视频课程、直播讲解、用户笔记 |
|
|
|
+| **通知推送** | 基础通知 | 养生提醒、复诊提醒、活动推送 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 阶段设计
|
|
|
+
|
|
|
+### 阶段一:核心功能交付(已完成 ✅)
|
|
|
+
|
|
|
+**目标**:建立核心闭环,实现"用户测量 → 算法定位 → 设备执行"完整流程。
|
|
|
+
|
|
|
+#### 交付内容
|
|
|
+
|
|
|
+| 模块 | 功能 | 状态 |
|
|
|
|------|------|------|
|
|
|
-| 查看设备列表 | ✅ | 编号、名称、型号、绑定用户数、在线状态、固件版本 |
|
|
|
-| 按设备编号搜索 | ✅ | |
|
|
|
-| 新增设备 | ✅ | |
|
|
|
-| 设备编号必填验证 | ✅ | |
|
|
|
-| 设备绑定用户管理 | ✅ | 查看、添加、设为主、解绑 |
|
|
|
+| 后台管理系统 | 用户/设备/穴位/方案管理 | ✅ |
|
|
|
+| 穴位定位算法 | 基于肩宽身长指寸计算穴位坐标 | ✅ |
|
|
|
+| 艾灸工艺生成 | 方案 → 设备可执行指令 | ✅ |
|
|
|
+| APP基础功能 | 登录、首页、方案选择、艾灸执行 | ✅ |
|
|
|
+| E2E测试 | 159用例,覆盖率92% | ✅ |
|
|
|
|
|
|
-### 5. 系统管理 (11用例) - ✅ 已完成
|
|
|
+#### 核心流程
|
|
|
|
|
|
-| 功能 | 状态 | 说明 |
|
|
|
+```
|
|
|
+用户体型数据(肩宽、身长、指寸)
|
|
|
+ ↓
|
|
|
+ 穴位算法3.0
|
|
|
+ ↓
|
|
|
+生成穴位对照表(12穴位,23定位点)
|
|
|
+ ↓
|
|
|
+推送至艾灸椅设备
|
|
|
+ ↓
|
|
|
+设备定位大椎穴 → 计算偏移 → 执行艾灸
|
|
|
+```
|
|
|
+
|
|
|
+#### 技术指标
|
|
|
+
|
|
|
+| 指标 | 目标 | 实际 |
|
|
|
|------|------|------|
|
|
|
-| 管理员列表 | ✅ | |
|
|
|
-| 新增管理员 | ✅ | |
|
|
|
-| 密码格式验证 | ✅ | 8-20字符,含字母和数字 |
|
|
|
-| 禁用/启用管理员 | ✅ | |
|
|
|
-| 操作日志 | ✅ | |
|
|
|
-| 日志筛选 | ✅ | 按操作人、操作类型、时间范围 |
|
|
|
+| 穴位定位精度 | ≤2cm | ✅ 达成 |
|
|
|
+| 算法置信度 | 完整数据≥95% | ✅ 达成 |
|
|
|
+| API响应时间 | <200ms | ✅ 达成 |
|
|
|
+| 方案同步速度 | <3秒 | ✅ 达成 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### 阶段二:生态化运营(规划中 🔄)
|
|
|
+
|
|
|
+**目标**:从单一功能产品升级为健康服务平台。
|
|
|
|
|
|
-### 6. 核心算法 (20用例) - ✅ 已完成
|
|
|
+#### 规划内容
|
|
|
|
|
|
-| 功能 | 状态 | 说明 |
|
|
|
+| 模块 | 功能描述 | 优先级 |
|
|
|
+|------|---------|--------|
|
|
|
+| **专家入驻** | 专家端小程序,支持方案创作与发布 | P1 |
|
|
|
+| **方案市场** | 专家方案展示、推荐、评价 | P1 |
|
|
|
+| **用户社区** | 艾灸心得分享、效果反馈 | P2 |
|
|
|
+| **运营后台** | 数据看板、用户画像、转化分析 | P2 |
|
|
|
+| **消息中心** | 系统通知、活动推送、专家回复 | P2 |
|
|
|
+
|
|
|
+#### 专家端接口(预留)
|
|
|
+
|
|
|
+| 接口 | 方法 | 说明 |
|
|
|
|------|------|------|
|
|
|
-| 男性标准体型估算 | ✅ | 肩宽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% |
|
|
|
+| `/api/expert/schemes/receive` | POST | 接收专家方案 |
|
|
|
+| `/api/expert/schemes/{id}` | PUT | 更新方案 |
|
|
|
+| `/api/expert/schemes` | GET | 方案列表 |
|
|
|
+| `/api/expert/templates` | GET | 系统模板 |
|
|
|
+| `/api/expert/acupoints` | GET | 穴位库 |
|
|
|
+| `/api/expert/techniques` | GET | 手法库 |
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### 阶段三:智能化演进(远期规划 📋)
|
|
|
+
|
|
|
+**目标**:引入AI能力,提供个性化健康服务。
|
|
|
+
|
|
|
+#### 探索方向
|
|
|
+
|
|
|
+| 方向 | 描述 | 技术依赖 |
|
|
|
+|------|------|----------|
|
|
|
+| **AI体质辨识** | 基于问卷+历史数据,辨识体质类型 | 机器学习 |
|
|
|
+| **智能推荐** | 根据症状推荐方案,匹配度评分 | 推荐算法 |
|
|
|
+| **远程问诊** | 专家线上问诊,开具方案 | 视频通话 |
|
|
|
+| **养生指导** | 节气养生、个性化建议推送 | 知识图谱 |
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 测试用例汇总
|
|
|
+## 技术架构
|
|
|
|
|
|
-### E2E 测试 (159用例, 覆盖率92%)
|
|
|
+### 技术栈
|
|
|
+
|
|
|
+| 层级 | 技术 | 说明 |
|
|
|
+|------|------|------|
|
|
|
+| 后端 | Spring Boot + MyBatis-Plus + MySQL + Redis | 业务API服务 |
|
|
|
+| 前端(管理后台) | Vue 3 + Element Plus + Vite | 后台管理系统 |
|
|
|
+| 前端(APP) | UniApp (Vue3) | iOS/Android/HarmonyOS跨平台 |
|
|
|
+| 算法 | Java SPI接口 | 穴位坐标计算插件化 |
|
|
|
+| 测试 | Playwright (E2E) | 159用例,覆盖率92% |
|
|
|
+| 存储 | MySQL + OSS(可选) | 结构化数据+文件存储 |
|
|
|
+
|
|
|
+### 系统架构图
|
|
|
|
|
|
```
|
|
|
-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
|
|
|
+┌─────────────────────────────────────────────────────────────┐
|
|
|
+│ 客户端层 │
|
|
|
+├─────────────────┬─────────────────┬─────────────────────────┤
|
|
|
+│ Web管理后台 │ UniApp (APP) │ 微信小程序(专家端) │
|
|
|
+│ Vue 3 │ iOS/Android │ (预留,待开发) │
|
|
|
+│ Element Plus │ HarmonyOS │ │
|
|
|
+└────────┬────────┴────────┬────────┴──────────┬─────────────┘
|
|
|
+ │ │ │
|
|
|
+ └─────────────────┼────────────────────┘
|
|
|
+ │ HTTPS RESTful
|
|
|
+ ▼
|
|
|
+┌─────────────────────────────────────────────────────────────┐
|
|
|
+│ 服务层 │
|
|
|
+├─────────────────────────────────────────────────────────────┤
|
|
|
+│ 用户服务 │ 方案服务 │ 设备服务 │ 内容服务 │ 算法服务 │
|
|
|
+│ ──────── │ ──────── │ ──────── │ ──────── │ ──────── │
|
|
|
+│ 用户档案 │ 方案管理 │ 设备绑定 │ 文章管理 │ 穴位计算 │
|
|
|
+│ 设备关联 │ 方案发布 │ 在线状态 │ 审核流程 │ 工艺生成 │
|
|
|
+│ 穴位表 │ 方案同步 │ 固件管理 │ 发布管理 │ 置信度 │
|
|
|
+└─────────────────────────────────────────────────────────────┘
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+┌─────────────────────────────────────────────────────────────┐
|
|
|
+│ 数据层 │
|
|
|
+├─────────────────────────────────────────────────────────────┤
|
|
|
+│ MySQL │ Redis │ OSS │
|
|
|
+│ ─────────── │ ─────────── │ ─────────── │
|
|
|
+│ 用户/方案/设备 │ 会话/缓存/限流 │ 封面/内容图片 │
|
|
|
+└─────────────────────────────────────────────────────────────┘
|
|
|
+ │
|
|
|
+ ▼
|
|
|
+┌─────────────────────────────────────────────────────────────┐
|
|
|
+│ 艾灸椅设备层 │
|
|
|
+│ ┌─────────────┐ 蓝牙BLE ┌─────────────┐ │
|
|
|
+│ │ 灸疗椅 │◀──────────────▶│ APP │ │
|
|
|
+│ │ (主控板) │ 推送工艺数据 │ (UniApp) │ │
|
|
|
+│ └─────────────┘ └─────────────┘ │
|
|
|
+└─────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
-### 测试覆盖详情
|
|
|
+---
|
|
|
|
|
|
-| 模块 | 需求用例 | 实际用例 | 覆盖率 |
|
|
|
-|------|---------|---------|--------|
|
|
|
-| 用户管理 | 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%** |
|
|
|
+## 数据流
|
|
|
|
|
|
-### 运行测试
|
|
|
+### 核心数据流
|
|
|
|
|
|
-```bash
|
|
|
-cd test-e2e
|
|
|
-npx playwright test # 运行所有测试
|
|
|
-npx playwright test --grep "TC-001" # 运行指定用例
|
|
|
+```
|
|
|
+┌──────────────────────────────────────────────────────────────────┐
|
|
|
+│ 体型数据输入 │
|
|
|
+├──────────────────────────────────────────────────────────────────┤
|
|
|
+│ │
|
|
|
+│ 肩宽: 42cm (男性) │
|
|
|
+│ 身长: 85cm │
|
|
|
+│ 一寸: 2.2cm (系统估算) 或 用户实测 │
|
|
|
+│ │
|
|
|
+└──────────────────────────┬───────────────────────────────────────┘
|
|
|
+ │
|
|
|
+ ▼ 融合计算 (算法3.0)
|
|
|
+┌──────────────────────────────────────────────────────────────────┐
|
|
|
+│ 穴位对照表生成 │
|
|
|
+├──────────────────────────────────────────────────────────────────┤
|
|
|
+│ │
|
|
|
+│ 大椎穴 (0, 0) ← 基准点 │
|
|
|
+│ 身柱穴 (0, -3) ← 纵向偏移 │
|
|
|
+│ 至阳穴 (0, -7) │
|
|
|
+│ 风门穴-左 (-1.5, -1.5) ← 双侧穴位 │
|
|
|
+│ 风门穴-右 (+1.5, -1.5) │
|
|
|
+│ ... │
|
|
|
+│ 八髎穴 (0, -16) ← 身高缩放 │
|
|
|
+│ │
|
|
|
+│ 置信度: 95% (完整指寸数据) │
|
|
|
+│ │
|
|
|
+└──────────────────────────┬───────────────────────────────────────┘
|
|
|
+ │
|
|
|
+ ▼ 推送至设备
|
|
|
+┌──────────────────────────────────────────────────────────────────┐
|
|
|
+│ 艾灸椅执行 │
|
|
|
+├──────────────────────────────────────────────────────────────────┤
|
|
|
+│ │
|
|
|
+│ 1. 传感器检测大椎穴位置 │
|
|
|
+│ 2. 计算: 穴位坐标 = 大椎穴位置 + 相对偏移 │
|
|
|
+│ 3. 控制灸头移动至目标位置 │
|
|
|
+│ 4. 执行艾灸(温度+时间+手法) │
|
|
|
+│ │
|
|
|
+└──────────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
+## 已支持功能
|
|
|
+
|
|
|
+### 1. 用户管理 (44用例) ✅
|
|
|
+
|
|
|
+用户档案管理、体型数据采集、穴位表生成、设备绑定
|
|
|
+
|
|
|
+### 2. 穴位管理 (22用例) ✅
|
|
|
+
|
|
|
+穴位库维护、艾灸手法配置(5种)、定位参数设置
|
|
|
+
|
|
|
+### 3. 方案管理 (34用例) ✅
|
|
|
+
|
|
|
+| 模式 | 说明 |
|
|
|
+|------|------|
|
|
|
+| 一键艾灸 | 系统预置,默认执行 |
|
|
|
+| 专业模式 | 8种功效(驱寒/祛湿/清热/补气/养血/活血/安神/理气) |
|
|
|
+| 自定义模式 | 用户自选穴位组合 |
|
|
|
+| 延年圣手 | 专家方案同步至设备,快捷键1-8 |
|
|
|
+
|
|
|
+### 4. 设备管理 (19用例) ✅
|
|
|
+
|
|
|
+设备注册、用户绑定、主设备设置、在线状态监控
|
|
|
+
|
|
|
+### 5. 系统管理 (11用例) ✅
|
|
|
+
|
|
|
+管理员CRUD、角色权限、操作日志
|
|
|
+
|
|
|
+### 6. 核心算法 (20用例) ✅
|
|
|
+
|
|
|
+| 算法 | 说明 |
|
|
|
+|------|------|
|
|
|
+| 指寸估算 | A路(肩宽权重) + B路(身长权重) 融合 |
|
|
|
+| 背部一寸 | 双源融合计算标准背部一寸宽度 |
|
|
|
+| 穴位坐标 | Y轴(纵向) + X轴(横向) + 身高缩放 |
|
|
|
+| 置信度 | 仅肩宽身长50% / 部分指寸65% / 完整指寸95% |
|
|
|
+
|
|
|
+### 7. 内容管理 ✅
|
|
|
+
|
|
|
+文章发布、审核流程、水印处理
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
## 项目结构
|
|
|
|
|
|
```
|
|
|
@@ -187,35 +404,47 @@ ajy/
|
|
|
├── code/
|
|
|
│ ├── backend/ # Spring Boot 后端
|
|
|
│ │ └── src/main/java/com/aijiuyi/admin/
|
|
|
-│ │ ├── controller/ # API控制器
|
|
|
-│ │ ├── service/ # 业务逻辑
|
|
|
-│ │ ├── mapper/ # 数据访问
|
|
|
-│ │ ├── entity/ # 实体类
|
|
|
+│ │ ├── controller/ # REST API 控制器
|
|
|
+│ │ ├── service/ # 业务逻辑层
|
|
|
+│ │ ├── mapper/ # 数据访问层
|
|
|
+│ │ ├── entity/ # 实体类定义
|
|
|
│ │ └── common/ # 公共组件
|
|
|
-│ └── frontend/ # Vue 3 前端
|
|
|
-│ └── src/
|
|
|
-│ ├── views/ # 页面组件
|
|
|
-│ ├── api/ # API调用
|
|
|
-│ └── store/ # 状态管理
|
|
|
-├── test-e2e/ # E2E测试
|
|
|
-├── 需求工作区/ # 需求文档
|
|
|
-│ └── 需求设计文档/
|
|
|
-│ └── 智能穴位定位系统测试用例.md
|
|
|
-└── openspec/ # 技术规范
|
|
|
+│ ├── frontend/ # Vue 3 管理后台
|
|
|
+│ │ └── src/
|
|
|
+│ │ ├── views/ # 页面组件
|
|
|
+│ │ ├── api/ # API 调用封装
|
|
|
+│ │ └── router/ # 路由配置
|
|
|
+│ └── ajyApp/ # UniApp (APP端)
|
|
|
+│ └── pages/ # APP 页面
|
|
|
+├── test-e2e/ # Playwright E2E 测试
|
|
|
+├── 需求工作区/ # 需求文档
|
|
|
+│ ├── 需求材料/ # 原始需求(Excel/Word)
|
|
|
+│ └── 需求设计文档/ # 设计文档(Markdown)
|
|
|
+└── openspec/ # 技术规范与参考
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
-## 开发环境
|
|
|
+## 测试覆盖
|
|
|
|
|
|
-- **生产环境**: https://ajy.danclub.cn
|
|
|
-- **测试账号**: admin / admin123
|
|
|
+| 模块 | 需求用例 | 实际用例 | 覆盖率 |
|
|
|
+|------|---------|---------|--------|
|
|
|
+| 用户管理 | 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%** |
|
|
|
|
|
|
-### 支持的穴位(12个)
|
|
|
+---
|
|
|
|
|
|
-| 穴位 | 经络 | 相对大椎穴位置 | 功效 |
|
|
|
-|------|------|----------------|------|
|
|
|
-| 大椎穴 | 督脉 | 基准点 (0, 0) | 驱寒、祛湿、解表 |
|
|
|
+## 支持的穴位
|
|
|
+
|
|
|
+| 穴位 | 经络 | 位置 | 功效 |
|
|
|
+|------|------|------|------|
|
|
|
+| 大椎穴 | 督脉 | 基准点 (0,0) | 驱寒、祛湿、解表 |
|
|
|
| 身柱穴 | 督脉 | 下3寸 | 止咳平喘、安神 |
|
|
|
| 至阳穴 | 督脉 | 下7寸 | 宽胸理气 |
|
|
|
| 命门穴 | 督脉 | 下14寸 | 补肾壮阳 |
|
|
|
@@ -228,28 +457,26 @@ ajy/
|
|
|
| 肾俞穴(双) | 膀胱经 | 下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% | ✅ |
|
|
|
+| 生产环境 | https://ajy.danclub.cn | admin / admin123 |
|
|
|
+| 测试环境 | 本地开发 | - |
|
|
|
|
|
|
---
|
|
|
|
|
|
## License
|
|
|
|
|
|
-ISC
|
|
|
+ISC
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 文档版本
|
|
|
+
|
|
|
+| 版本 | 日期 | 说明 |
|
|
|
+|------|------|------|
|
|
|
+| v1.0.0 | 2026-06-02 | 初始版本:补充用户场景、角色定义、蓝图规划、阶段设计 |
|
|
|
+| v0.9.0 | - | 基础功能开发完成 |
|