Files
digital-psychology/.ai/product/feature-spec/home.md
T
jackyu66gitandCursor 13860bf1ef
ci / h5 (push) Canceled after 0s
ci / api (push) Canceled after 0s
ci / ess-docs (push) Canceled after 0s
feat(ECR-011): 昵称、首页贴士与档案 Self 唯一/合盘交叉校验
每账号仅一条 self(migration 40902);合盘只选 TA;账号昵称可改;首页穿衣/颜色/养生贴士。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 22:05:00 +08:00

172 lines
4.1 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.
# Feature Spec: 首页(发现与入口)
> Status: `Active` · Map: `§1 首页 [P1]` · Phase: `P1`
> 规范:[../feature-design.md](../feature-design.md)
---
## 1. 功能定义
| 字段 | 内容 |
|---|---|
| Name | 首页 |
| Purpose | 品牌露出 + 建档/性格探索主 CTA + 功能入口分发 |
| Business Goal | 新用户进入 Step 1–3;品牌第一屏可识别 |
| In | Out |
|---|---|
| 建档生日表单 → 画像;九宫格/入口 | 运势 Feed 主路径 |
| 推荐区静态/轻运营即可 | Dashboard 式状态墙(如「API 已连接」勿对用户展示) |
---
## 2. 用户价值
1. **为何需要:** 知道从哪开始认识自己。
2. **完成后获得:** 一键进入画像主路径或其它 Tab。
3. **付费:** N/A。
---
## 3. 用户角色
| Actor | 能力 |
|---|---|
| 新 Visitor | 见品牌 + 建档 CTA |
| 老用户 | 同样入口;可去「我的」看资产 |
---
## 4. 用户流程
```text
打开 /
看到品牌 + 主 CTA(生日/探索)
提交生日 → 创建档案 → /portrait
点入口 → /explore /relation /ask /membership …
```
设计约束(前端):品牌英雄级信号;移动优先;文案 lexicon。
---
## 5. 页面设计
| 路由 | 页面 |
|---|---|
| `/` | HomePage |
| 全局 | AppHeader · TabBar |
```text
/
├── Hero / 品牌
├── 「自己」卡片标题展示账号昵称(默认意象词+场景词;档案页可改)
├── 穿衣指数 · 颜色搭配 · 养生推荐
├── 功能入口(4 列固定网格 · 多行换行 · 禁止横向滑动)
└── (可选)推荐内容
```
---
## 6. 页面状态规范
| 状态 | UI |
|---|---|
| Normal | 主路径可见 |
| Error | 建档/跳转失败可感知 |
| Loading | 提交建档时按钮态 |
Empty:首页本身是入口,不因无档案空白死页。
---
## 7. Business Rules
| ID | Rule |
|---|---|
| R1 | 主 CTA 必须通向建档或画像,而非死链 |
| R2 | 不展示内部运维信息(API 连接状态等) |
| R3 | 入口文案符合 lexicon(个人画像/关系理解/成长会员…) |
| R4 | Tab 五名冻结:首页·探索·问答·陪伴·我的 |
| R5 | 「自己」卡片:穿衣指数 / 颜色搭配 / 养生推荐;有 Self 档案生日时按生日+本地时刻易经卦象种子调大模型生成;无档案或 LLM 不可用则本地回退 |
| R6 | 文案禁止占卜/算命恐吓与医疗疗效承诺;卦象仅作节律意象 |
---
## 8. 数据模型影响
经首页建档时写 `profiles`(见 profile Spec)。每日贴士可缓存(同用户约 45 分钟 / 按时段刷新)。
---
## 9. API 需求
| Method | Path | 说明 |
|---|---|---|
| GET | `/api/v1/home/tools` | 宫格(已有) |
| GET | `/api/v1/home/daily-tips` | 自己卡片贴士(DeviceAuth;有 birthday 则 LLM |
| — | 复用 | `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 生日、已配 deepseek
**When** GET `/home/daily-tips`
**Then** `source=llm` 且含 clothing_index / palette / wellness
**Given** 无档案或无 LLM
**When** GET `/home/daily-tips`
**Then** `source=fallback` 且页面不白屏
---
## 13. AI 开发前检查
- [x] lexicon
- [x] 不恐吓 / 不算命话术
- [x] OpenAPI 已登记 `/home/daily-tips`
- [x] Spec 齐全
---
## 14. Implementation Notes
| 项 | 内容 |
|---|---|
| Packages | `HomePage` · `App.vue` shell |
| Gaps | 推荐 Feed 运营位可静态;埋点未接 |
| Process Review | 2026-08-02 [P1-PROCESS-REVIEW](P1-PROCESS-REVIEW.md) · 设计闭合 · 实现 PASS · 测试 PARTIAL |