Files
mp-pilates/docs/body-portrait.md
richarjiang ab6602e41d feat: 新增个人身体画像评估与馆主经营助手
把 3 分钟身体状态评估做成独立获客链路,匿名测评后登录认领完整报告,并接入体验预约与今日待办。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 22:09:19 +08:00

119 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 个人身体画像增长系统
入口小程序「3 分钟身体状态评估」、报告页、体验预约,以及管理中心「今日经营助手」。线上获客归属独立 `body-portrait` 模块;线下专业评估与改善计划复用成长档案口径,不把问卷结果写成医疗诊断。
## 产品口径
- 对外名称:**3 分钟身体状态评估 / 个人身体画像**。只使用「关注度、可能表现、建议进一步评估」。禁止「诊断、疾病检测、患病风险、准确率」。
- 分数 0100 只表示**问卷关注度**,不表示身体能力、疼痛程度或患病概率。
- 陌生用户可匿名完成问卷。完成后先看摘要;微信登录并认领后看完整报告。点击体验预约时必须授权手机号。
- 安全分流不计分。命中持续明显疼痛、近期受伤、手脚明显麻木、医生限制运动或医疗恢复期时,不展示动作建议和强销售 CTA。
- 评分只在服务端用版本化规则引擎计算。客户端不得提交分数、画像类型或线索阶段。LLM 不决定结论。
- 现有 `TRIAL` 体验卡就是「评估 + 普拉提体验」。画像只补来源关联,不新增商品类型。
- 成长照片沿用私有 COS、短时签名和学员授权。馆主可见不等于可公开分享。
## 免责声明
各入口固定文案:
> 本评估不是医疗诊断或体态疾病检测,仅用于运动训练参考。若你正处于明显疼痛、伤病或医生限制运动的阶段,请先由医生或相应专业人士确认运动条件。
保存说明:匿名未认领草稿默认 30 天后清理。认领后的健康相关数据仅用于训练评估与跟进;学员可申请删除,审计事件保留必要边界。
## 问卷版本 `portrait-q-v1`
每屏一个决策,可多选的题目明确标注。不询问「骨盆前倾」等专业病名。
| 步骤 | ID | 题干 | 类型 |
| --- | --- | --- | --- |
| 1 | `concerns` | 最近身体哪里最困扰你? | 人体图多选 |
| 2 | `goal` | 如果训练有效果,你最希望看到什么变化? | 单选 |
| 3 | `sittingHours` | 每天坐多久? | 单选 |
| 4 | `exerciseFreq` | 平时运动频率? | 单选 |
| 5 | `workPosture` | 工作时最常见状态? | 单选 |
| 6 | `endOfDayFatigue` | 一天结束后,身体哪里最累? | 人体图多选 |
| 7 | `afterSitting` | 长时间坐着后,你会出现? | 多选 |
| 8 | `standingNotice` | 自然站立时,你有没有注意过? | 多选 |
| 9 | `safety` | 最近是否存在以下情况? | 多选,不计分 |
部位:头颈 `neck`、肩 `shoulder`、上背 `upperBack`、腰 `lowBack`、骨盆 `pelvis`、髋 `hip`、膝 `knee`、腿 `leg`
目标:看起来更挺拔 `posture`、肩颈没那么累 `neckRelief`、久坐更舒服 `backComfort`、腹部更有力量 `core`、身体线条更好 `shaping`、腿型/髋部状态改善 `hipLeg`、动作更稳定 `stability`、我有自己的目标 `other`
## 五维与关注度
维度:肩颈状态 `cervicalShoulder`、脊柱活动 `spinalMobility`、核心控制 `coreControl`、髋骨盆状态 `hipPelvis`、下肢稳定 `lowerLimb`
| 分数 | 关注度 |
| ---: | --- |
| 030 | 低关注 |
| 3150 | 轻度关注 |
| 5170 | 中度关注 |
| 7185 | 高关注 |
| 86100 | 重点关注 |
规则版本 `portrait-r-v1`:先按答案累加,再把每一维 clamp 到 0100。安全选项不加分。
## 画像模板8 种)
主类型 1 个,次类型最多 1 个。
| ID | 标签 |
| --- | --- |
| `sedentaryNeckTension` | 久坐肩颈紧张型 |
| `sedentaryCoreWeak` | 久坐核心弱化型 |
| `neckCompensation` | 肩颈代偿型 |
| `hipTight` | 髋部紧张型 |
| `upperLowerCross` | 上下交叉混合型 |
| `lowerLimbUnstable` | 下肢稳定不足型 |
| `mixedFatigue` | 全身疲劳累积型 |
| `lowOverallConcern` | 整体关注度较低型 |
## 报告结构
1. 一句话结论 + 主/次类型 + 问卷依据(充分/一般,不是准确率)
2. 最多 3 个优先关注点,必须引用用户原话/选项
3. 问题之间的关联(例如久坐 → 胸椎活动减少 → 肩颈承担更多)
4. 三条日常建议;安全分流不下发动作。动作建议含停止条件
5. 线上局限 → 到店评估项目 → 现有体验卡
匹配度只展示「问卷依据:充分 / 一般」,由有效回答数和证据条数计算。
## 漏斗事件
服务端事实:`assessment_started` `assessment_completed` `assessment_claimed` `phone_bound` `trial_purchased` `trial_booked` `trial_attended` `plan_purchased`
客户端可报但需幂等:`report_viewed` `advice_viewed` `trial_clicked` `report_shared`
`trial_attended` 只由体验卡预约被核销COMPLETED产生不等于自动完成也不含补录。
渠道:`xhs` `wechat` `dianping` `member_share` `organic` `other`。分享链接只用邀请码/活动码,不暴露内部用户 ID。
## 线索阶段
只允许前进:`VISIT``STARTED``COMPLETED``CLAIMED``PHONE_BOUND``TRIAL_PURCHASED``TRIAL_BOOKED``TRIAL_ATTENDED``PLAN_PURCHASED``TRAINING``RENEWAL_DUE``RENEWED`。馆主可记跟进备注,不能把阶段任意倒退覆盖历史。
## 线下评估与改善计划V2
到店 60 分钟:沟通目标 → 静态体态 → 活动度 → 动作控制 → 普拉提体验 → 解释结果。协议版本 `offline-v1`。operatorId 不是授课老师。
12 周计划三阶段14 重新建立控制58 改善活动能力912 整合身体动作。卖的是改善计划不是「20 节课」。
## 复测与分享V3
默认可在第 4 / 8 / 12 节生成复测待办。对比必须同协议、同观察项。成长卡片默认不含照片;公开导出需学员单次确认。分享落地进入 `source=member_share` 的新测评。
## 部署
新增表见 `packages/server/prisma/migrations/20260911180000_body_portrait/migration.sql`。发布顺序:`prisma migrate deploy` → 后端 → 小程序。回退先回退应用,表可保留。
## 验收清单
- 匿名可完成、可续填;登录后同一会话只能认领一次。
- 完整报告需登录;体验预约需手机号。
- 安全分流不计分、无动作建议、无强销售。
- 分数与画像只来自服务端快照。
- 馆主今日待办能看到「测完未约 / 体验后未购 / 待复测」。
- 漏斗按渠道聚合;补录不进入获客转化。
- 照片与分享遵守成长档案隐私规则。