# 任务清单:穴位定位功能 ## Wave 1: 数据层 - [ ] 创建 `packages/shared/src/data/acupoints.json` 穴位数据库 - [ ] 创建 `packages/shared/src/types/acupoint.ts` 类型定义 - [ ] 创建 `packages/shared/src/utils/acupointCalculator.ts` 坐标计算算法 - [ ] 编写穴位计算单元测试 - [ ] 编写数据验证测试 ## Wave 2: API 层 - [ ] 创建 `apps/api/src/routes/acupoints.ts` 路由 - [ ] 实现 `GET /api/acupoints` 获取穴位列表 - [ ] 实现 `GET /api/acupoints/:id` 获取单个穴位 - [ ] 实现 `POST /api/acupoints/calculate` 计算穴位位置 - [ ] 实现 `POST /api/acupoints/recommend` 症状推荐 - [ ] 创建 API 文档 ## Wave 3: 前端可视化 - [ ] 创建 `apps/web/src/components/MeridianGraph/` 目录 - [ ] 实现 `MeridianGraph.tsx` 经络图主组件 - [ ] 实现 `AcupointMarker.tsx` 穴位标记点 - [ ] 实现 `AcupointTooltip.tsx` 穴位信息浮层 - [ ] 创建 `apps/web/src/components/AcupointSelector/` 目录 - [ ] 实现 `AcupointSelector.tsx` 穴位选择器 - [ ] 实现 `AcupointCard.tsx` 穴位卡片 - [ ] 创建经络图 SVG 资源 ## Wave 4: 集成 - [ ] 创建 Zustand store: `useAcupointStore` - [ ] 集成用户信息模块 - [ ] 集成艾灸方案模块 - [ ] 创建穴位定位页面 - [ ] 端到端测试 ## Wave 5: 验收 - [ ] 验证 12 个穴位坐标计算正确 - [ ] 验证经络图交互功能 - [ ] 验证症状推荐逻辑 - [ ] 验证与艾灸方案集成 - [ ] 归档变更 `/opsx:archive acupoint-location` ## 数据准备 需要准备的穴位数据(12个): | ID | 穴位名称 | 相对大椎穴偏移 | 功效 | |----|----------|---------------|------| | dazhui | 大椎穴 | (0, 0) | 驱寒、祛湿、解表 | | shenzhu | 身柱穴 | (0, -7.5cm) | 止咳平喘、安神 | | zhiyang | 至阳穴 | (0, -15cm) | 宽胸理气 | | mingmen | 命门穴 | (0, -30cm) | 补肾壮阳 | | yaoyangguan | 腰阳关穴 | (0, -35cm) | 强腰健肾 | | fengmen | 风门穴 | (±4cm, -3cm) | 祛风解表 | | bingfeng | 秉风穴 | (±6cm, -8cm) | 祛风散寒 | | geshu | 膈俞穴 | (±4cm, -17cm) | 活血化瘀 | | baliao | 八髎穴 | (0, -33cm) | 调理下焦 | | feishu | 肺俞穴 | (±4cm, -10cm) | 化痰止咳 | | pishu | 脾俞穴 | (±4cm, -20cm) | 健脾养血 | | shenshu | 肾俞穴 | (±4cm, -22cm) | 补肾益气 | ## 技能需求 | 技能 | 用途 | 状态 | |------|------|------| | test-driven-development | TDD 开发 | 需安装 Superpowers | | design-taste-frontend | UI 设计 | 已安装 | | verification-before-completion | 验收测试 | 需安装 Superpowers | ## 验收标准 - [ ] `pnpm test` 全部通过 - [ ] 穴位坐标误差 ≤ 2cm - [ ] 经络图支持点击、缩放 - [ ] 症状推荐覆盖率 80%+ - [ ] API 响应时间 < 200ms