Files
digital-psychology/.ai/product/feature-spec/explore-test.md
T
jackyu66gitandCursor 89756f65b4 feat(ECR-012–016): 合规、题库、时辰刷新、头像、MBTI OEJTS 与埋点
落地输入合规、探索题库、报告日/时辰刷新、账号头像、OEJTS 量表,并补齐 H5 埋点与 Admin 漏斗;同步 ESS 工件、切至自建 Git、清理 GitHub Actions。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 01:27:58 +08:00

7.8 KiB
Raw Blame History

Feature Spec: 探索测试

Status: Active · Map: 2.2 人格测评 [P1] · Phase: P1
规范:../feature-design.md


1. 功能定义

字段 内容
Name 探索测试
Purpose 通过短量表帮助用户了解沟通方式、情感模式等偏好
Business Goal 丰富探索中心;结果导流关系理解与问答;可分享
In Out
已发布量表列表、答题、计分、丰富结果 伪 MBTI 版权侵权内容
≥1 热门测试(P1:沟通方式 + 情感模式) 医疗量表诊断
分享结果卡 未定义的「深度付费层」若未实现则标 Gap

2. 用户价值

  1. 为何需要: 比生日画像更场景化的自我标签。
  2. 完成后获得: 风格标签、概述、维度、建议、话术、成长计划。
  3. 付费: P1 结果全量返回(免费);深度会员导流为软转化(非强制锁结果)。Gap: 若产品后续要对部分结果上锁,须先更新本 Spec。

3. 用户角色

Actor 能力
Visitor 浏览列表;提交需 Self Profile
无档案 可看题,提交前引导建档

4. 用户流程

/explore 测试列表
  ↓
进入 /scales/:slug
  ↓
已有结果? → 直接展示最近结果 +「重新测试」
  ↓(无结果 / 点重测)
加载题目 · 逐题作答(须全部完成)
  ↓
无 Self? → 引导建档
  ↓
POST result → 展示丰富结果
  ↓
分享 / 去关系理解 / 去问答

子能力展开

子能力 P1
测试入口(探索 Tab · 首页宫格) ✓ · 产品向 mbti-lite;探索主路径为 curated 题库(A 集)
测试列表 ✓ · 探索「题库精选」宫格(每类 1~2)+「题库分类」;分类页 /explore/bank/:key
题库范围(A ✓ 人格 / 情绪能力 / 智能 / 生活与关系;不含抑郁焦虑强迫躁狂双相等临床筛查
问题流程
答题保存(服务端结果落库)
最近结果回看 ✓ GET /scales/{slug}/result;有结果进页不重复作答
重新测试 ✓ 结果页按钮 → 清空草稿再答;新结果落库并覆盖展示
中断恢复 ✓ localStorage 草稿(scaleDraft);提交后清除
结果生成(丰富结构)
免费层 ✓ 全量 result
深度层 N/A(当前不锁)
分享 ✓ ShareSheet
AI 解释 软链 /ask
数据统计 埋点名定义;SDK Gap
验收标准 §12

5. 页面设计

路由 页面
/explore ExplorePage(题库精选宫格 + 题库分类 + 其它工具)
/explore/bank/:category ExploreBankCategoryPage · curated 题库分类列表
/explore/:category ExploreCategoryPage · 产品工具分类(解码/星座等)
/scales/:slug ScalePage(含 bank slug
/scales/:slug
├── Loading(题目)
├── Normal(答题中)
├── Empty/NeedProfile(提交前无档案)
├── Error
└── Result(完成后)

6. 页面状态规范

状态 UI
Loading 加载题目
Error 重试
Normal 进度 + 单选题
NeedProfile 引导首页
Result ReportRich 结构展示

7. Business Rules

ID Rule
R1 published 量表可列表/作答
R2 提交前答案覆盖全部题目
R3 必须绑定用户 Self profile_id
R4 计分:多数选项 → style;结果文案 lexicon 安全
R5 result 含 label/summary/overview/dimensions/tips/scripts/growth_plan/faq
R6 结果「不是固定标签」需在文案中提示
R7 作答过程写入本地草稿(按 slug);提交成功后清除;刷新可恢复未提交答案
R8 同一用户同一 slug(含 curated 题库 slug)若已有 scale_results,再次进入直接展示最近一次结果,并提供「重新测试」;未点重测不得自动进入答题
R9 mbti-lite 产品展示名统一为「MBTI测试」(首页宫格 / 探索入口 / 量表 title)
R10 标准版 mbti-lite:开源 OEJTS 1.2 · 32 题(四维各 8)· 双极 1–5 Likert;按维累加,阈值判出 E/I·S/N·T/F·J/P 一侧,合成四字母类型;免费
R11 完整版 mbti-full60 题(四维各 15)· 须成长会员;未开通时 GET 返回 locked=true 且无题目;提交返回 403
R12 禁止使用官方 MBTI® 版权题干;结果须提示「不是固定标签」;题库重大更新须 soft-delete 旧 scale_results
R13 curated 题库(scalebank)仅含 A 集非临床探索量表;文案须声明「非诊断」;临床类(抑郁/焦虑/强迫等)不得进入 C 端
R14 curated 题库作答走同一 /scales/:slug;完成后再次点击入口须遵守 R8(只看结果或显式重测),不得每次从头作答

8. 数据模型影响

备注
scales / scale_questions seed
scale_results answers + result jsonb

9. API 需求

Method Path 意图
GET /api/v1/scales 列表
GET /api/v1/scales/{slug} 题目
GET /api/v1/scales/{slug}/result 当前用户该量表最近一次结果;无则 404
POST /api/v1/scales/{slug}/result 提交计分

10. 权限设计

能力 Visitor 无档案 Visitor 有 Self
看列表/题目
提交结果
mbti-full 作答 ✗(须成长会员) ✓(会员 active

11. 埋点

经统一 track();非 P1 核心 5 事件。禁止参数含题干全文、答案明文、档案 ID。

Event 触发 可选 params
scale_list_viewed 打开 /explore 且题库 catalog 加载成功
scale_bank_category_viewed 打开 /explore/bank/:category 且分类加载成功 categorykey
scale_started 用户点开始进入作答(含「重新测试」后再开始) slug · access: free|member
scale_completed 提交计分成功并展示结果 slug · access: free|member
scale_result_reopened 再次进入已有结果直接展示(R8,未重测) slug
scale_retake_clicked 点「重新测试」 slug
scale_locked_viewed 会员锁页展示(如 mbti-full slug
scale_share_clicked 结果页打开分享 slug
scale_cta_relation / scale_cta_ask 结果导流(若 UI 有) slug

page_view/explore · /explore/bank/* · /scales/* 由路由自动采集。


12. 测试验收标准

Given published 量表与 Self
When 答完提交
Then 返回 label 与 overview/tips 等丰富字段

Given 已提交过结果
When 再次进入 /scales/{slug}
Then 直接展示最近结果与「重新测试」;不进入答题

Given 结果页点「重新测试」并完成提交
When 再次进入
Then 展示新结果

Given 未答完
When 提交
Then 前端拦截;不成功落库

Given 无 Self
When 提交
Then 引导建档


13. AI 开发前检查

  • Spec 齐全 · 子能力已展开 · map · lexicon · OpenAPI · 可测

14. Implementation Notes

内容
Packages internal/scale · service/scale · ExplorePage · ScalePage
Seeds communication-style · emotion-pattern · mbti-liteOEJTS 32 · mbti-full60·会员)
Gaps 结果付费墙若要做须先改 Spec;全量 §11 埋点未挂(核心漏斗见 analytics)
Tests score/result L1ScoreJungianscaleDraft.specScale 流程组件测
Process Review OEJTS 标准/完整双轨 · 最近结果回看 · P1 收口
Credit OEJTS / Open Psychometrics · openjung MIT