落地输入合规、探索题库、报告日/时辰刷新、账号头像、OEJTS 量表,并补齐 H5 埋点与 Admin 漏斗;同步 ESS 工件、切至自建 Git、清理 GitHub Actions。 Co-authored-by: Cursor <cursoragent@cursor.com>
4.7 KiB
4.7 KiB
Feature Spec: 首页(发现与入口)
Status:
Active· Map:§1 首页 [P1]· Phase:P1
规范:../feature-design.md
1. 功能定义
| 字段 | 内容 |
|---|---|
| Name | 首页 |
| Purpose | 品牌露出 + 建档/性格探索主 CTA + 功能入口分发 |
| Business Goal | 新用户进入 Step 1–3;品牌第一屏可识别 |
| In | Out |
|---|---|
| 建档生日表单 → 画像;九宫格/入口 | 运势 Feed 主路径 |
| 推荐区静态/轻运营即可 | Dashboard 式状态墙(如「API 已连接」勿对用户展示) |
2. 用户价值
- 为何需要: 知道从哪开始认识自己。
- 完成后获得: 一键进入画像主路径或其它 Tab。
- 付费: N/A。
3. 用户角色
| Actor | 能力 |
|---|---|
| 新 Visitor | 见品牌 + 建档 CTA |
| 老用户 | 同样入口;可去「我的」看资产 |
4. 用户流程
打开 /
↓
看到品牌 + 主 CTA(生日/探索)
↓
提交生日 → 创建档案 → /portrait
或
点入口 → /explore /relation /ask /membership …
设计约束(前端):品牌英雄级信号;移动优先;文案 lexicon。
5. 页面设计
| 路由 | 页面 |
|---|---|
/ |
HomePage |
| 全局 | AppHeader · TabBar |
/
├── 全局顶栏:透明愈心谷 Logo(AppHeader,全站)
├── 「自己」卡片标题展示账号昵称(默认意象词+场景词;档案页可改)
├── 穿衣指数 · 颜色搭配 · 养生推荐
├── 功能入口(4 列固定网格 · 多行换行 · 禁止横向滑动)
└── (可选)推荐内容
6. 页面状态规范
| 状态 | UI |
|---|---|
| Normal | 主路径可见 |
| Error | 建档/跳转失败可感知 |
| Loading | 提交建档时按钮态 |
Empty:首页本身是入口,不因无档案空白死页。
7. Business Rules
| ID | Rule |
|---|---|
| R1 | 主 CTA 必须通向建档或画像,而非死链 |
| R2 | 不展示内部运维信息(API 连接状态等) |
| R3 | 入口文案符合 lexicon(个人画像/关系理解/成长会员…) |
| R4 | Tab 五名冻结:首页·探索·问答·陪伴·我的 |
| R5 | 「自己」卡片:穿衣指数 / 颜色搭配 / 养生推荐;有 Self 生日时按生日+本地日历+十二时辰易经种子生成;每一时辰准点切换;无档案或 LLM 不可用则本地回退 |
| R6 | 文案禁止占卜/算命恐吓与医疗疗效承诺;卦象仅作节律意象 |
| R7 | 贴士按 user × 时辰起点 持久缓存;GET 优先读缓存即时返回;缓存未命中时先回退/旧值,后台异步生成写入,禁止每次打开同步等 LLM |
| R8 | 响应含 shichen / shichen_name / valid_until(下一时辰起点);前端在 valid_until 自动静默刷新 |
8. 数据模型影响
经首页建档时写 profiles。home_daily_tips(user_id, shichen_start, tips jsonb) 缓存时辰贴士。
9. API 需求
| Method | Path | 说明 |
|---|---|---|
| GET | /api/v1/home/tools |
宫格(已有) |
| GET | /api/v1/home/daily-tips |
自己卡片贴士(读缓存;含 valid_until) |
| — | 复用 | POST /profiles、POST /reports/portrait |
10. 权限设计
| 能力 | Visitor | User |
|---|---|---|
| 浏览首页 | ✓ | ✓ |
| 建档并生成画像 | 需登录 | ✓ |
| daily-tips(个性化) | 回退文案 | 有 Self 生日则 LLM |
11. 埋点
| Event | 触发 |
|---|---|
home_viewed |
打开 |
home_cta_portrait |
主 CTA |
home_entry_click |
九宫格项(带 name) |
12. 测试验收标准
Given 新用户
When 打开首页
Then 可见品牌与建档/探索入口
Given 合法生日
When 提交主 CTA
Then 进入画像基础结果路径
Given 已登录且有 Self 生日、该时辰已有缓存
When GET /home/daily-tips
Then 立即返回缓存(含 clothing/palette/wellness / valid_until),不阻塞 LLM
Given 时辰切换到点
When 前端到达 valid_until
Then 静默刷新;穿衣/颜色/养生随新时辰更新
Given 无档案或无 LLM
When GET /home/daily-tips
Then source=fallback 且页面不白屏
13. AI 开发前检查
-
lexicon
-
不恐吓 / 不算命话术
-
OpenAPI 已登记
/home/daily-tips -
Spec 齐全
14. Implementation Notes
| 项 | 内容 |
|---|---|
| Packages | HomePage · App.vue shell |
| Gaps | 推荐 Feed 运营位可静态;埋点未接 |
| Process Review | 2026-08-02 P1-PROCESS-REVIEW · 设计闭合 · 实现 PASS · 测试 PARTIAL |