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
+13 -2
View File
@@ -107,6 +107,9 @@
| R9 | 附近的人默认 `geo_visible=false`;仅可见已开启位置的 self 档案 |
| R10 | 合盘星历走 Swiss Ephemeris(默认 Moshier);宫位制 Whole Sign |
| R11 | 合盘交叉校验:档案 A 为本账号 Self;档案 B 须为本账号 `other` 或附近可见他人 Self;拒绝 self×self / 同 id |
| R12 | **本命层**(轮盘/行星/相位/太阳月亮上升)随生日确定,不因打开时间重算;**运势层**(日/周/月/年 outlook · 行运)按**自然日(CST**刷新 |
| R13 | GET `/reports/latest` 与 GET `/reports/{id}`type=star):若 `summary.as_of` ≠ 当日则**原报告 id 原地更新**时效段并落库;同日再读即时返回;禁止为换日运新建报告 id(以免深度权益丢失) |
| R14 | `summary``as_of`YYYY-MM-DD)与 `valid_until`(次日 00:00 CST RFC3339);前端到点静默刷新;**不按十二时辰**切换 |
---
@@ -119,7 +122,7 @@
| `profiles.birth_place` | 可选;常用城市表解析经纬度 |
| `profiles.geo_lat/lng/visible` | 附近的人 |
| `synastry_invites` | 邀请 token · host/guest · report_id |
| 报告 JSON | `charts.*`(五主盘+推运)· `as_of` · 三指数 · fortune/transits |
| 报告 JSON | `charts.*`(五主盘+推运)· `as_of` · `valid_until` · 三指数 · fortune/transits |
详见 erd;实现切片同步 OpenAPI。
@@ -153,7 +156,7 @@
| Event | 触发 |
|---|---|
| `star_completed` / portrait_completed source=star | 基础结果展示 |
| `star_completed` | 基础结果展示 |
| `star_wheel_viewed` | 点选轮盘行星 |
| `synastry_completed` | 合盘结果展示 |
| `synastry_invite_created` / `synastry_invite_accepted` | 邀请链路 |
@@ -184,6 +187,14 @@
**When** 打开 `/star`
**Then** 页内生日表单可生成
**Given** 已有 star 报告且 `as_of` 为昨日
**When** GET latest
**Then** 日运等 outlook 按今日更新;报告 `id` 不变;响应含当日 `as_of``valid_until`
**Given** 用户停留在 `/star` 跨自然日
**When** 到达 `valid_until`
**Then** 前端静默刷新运势 Tab 内容
---
## 13. AI 开发前检查