feat(ECR-012–016): 合规、题库、时辰刷新、头像、MBTI OEJTS 与埋点

落地输入合规、探索题库、报告日/时辰刷新、账号头像、OEJTS 量表,并补齐 H5 埋点与 Admin 漏斗;同步 ESS 工件、切至自建 Git、清理 GitHub Actions。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-13 01:27:58 +08:00
co-authored by Cursor
parent 13860bf1ef
commit 89756f65b4
227 changed files with 7405 additions and 1407 deletions
+12 -6
View File
@@ -62,7 +62,7 @@
```text
/
├── Hero / 品牌
├── 全局顶栏:透明愈心谷 Logo(AppHeader,全站)
├── 「自己」卡片标题展示账号昵称(默认意象词+场景词;档案页可改)
├── 穿衣指数 · 颜色搭配 · 养生推荐
├── 功能入口(4 列固定网格 · 多行换行 · 禁止横向滑动)
@@ -91,14 +91,16 @@ Empty:首页本身是入口,不因无档案空白死页。
| R2 | 不展示内部运维信息(API 连接状态等) |
| R3 | 入口文案符合 lexicon(个人画像/关系理解/成长会员…) |
| R4 | Tab 五名冻结:首页·探索·问答·陪伴·我的 |
| R5 | 「自己」卡片:穿衣指数 / 颜色搭配 / 养生推荐;有 Self 档案生日时按生日+本地时刻易经卦象种子调大模型生成;无档案或 LLM 不可用则本地回退 |
| R5 | 「自己」卡片:穿衣指数 / 颜色搭配 / 养生推荐;有 Self 生日时按生日+**本地日历**+**十二时辰**易经种子生成;**每一时辰准点切换**;无档案或 LLM 不可用则本地回退 |
| R6 | 文案禁止占卜/算命恐吓与医疗疗效承诺;卦象仅作节律意象 |
| R7 | 贴士按 `user × 时辰起点` 持久缓存;GET 优先读缓存**即时返回**;缓存未命中时先回退/旧值,后台异步生成写入,禁止每次打开同步等 LLM |
| R8 | 响应含 `shichen` / `shichen_name` / `valid_until`(下一时辰起点);前端在 `valid_until` 自动静默刷新 |
---
## 8. 数据模型影响
经首页建档时写 `profiles`(见 profile Spec)。每日贴士可缓存(同用户约 45 分钟 / 按时段刷新)
经首页建档时写 `profiles``home_daily_tips(user_id, shichen_start, tips jsonb)` 缓存时辰贴士
---
@@ -107,7 +109,7 @@ Empty:首页本身是入口,不因无档案空白死页。
| Method | Path | 说明 |
|---|---|---|
| GET | `/api/v1/home/tools` | 宫格(已有) |
| GET | `/api/v1/home/daily-tips` | 自己卡片贴士(DeviceAuth;有 birthday 则 LLM |
| GET | `/api/v1/home/daily-tips` | 自己卡片贴士(读缓存;含 valid_until |
| — | 复用 | `POST /profiles``POST /reports/portrait` |
---
@@ -142,9 +144,13 @@ Empty:首页本身是入口,不因无档案空白死页。
**When** 提交主 CTA
**Then** 进入画像基础结果路径
**Given** 已登录且有 Self 生日、已配 deepseek
**Given** 已登录且有 Self 生日、该时辰已有缓存
**When** GET `/home/daily-tips`
**Then** `source=llm`含 clothing_index / palette / wellness
**Then** 立即返回缓存(含 clothing/palette/wellness / valid_until),不阻塞 LLM
**Given** 时辰切换到点
**When** 前端到达 `valid_until`
**Then** 静默刷新;穿衣/颜色/养生随新时辰更新
**Given** 无档案或无 LLM
**When** GET `/home/daily-tips`