绑定 ESS 双轨治理,拆分超大 H5 页与 Go 引擎,抽出 membership 服务, 并将 star/fortune 重命名为 outlook(JSON 双写兼容);同时修复 /psy API 代理与首页 + 菜单层级。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
CODE_REVIEW — ECR-001 Phase B
Reviewer: Cursor Agent (REVIEWER)
Date: 2026-08-05
Decision: PASS(带人工冒烟)
Evidence
| Check | Result |
|---|---|
| Scope 仅 Phase B(Home/Synastry 拆分) | PASS |
| 无 API / OpenAPI / schema 变更 | PASS |
| 页面行数 ≤400 | Home 133 · Synastry 187 PASS |
| BirthDateInputs 绑定与组件 API 一致 | PASS(year/month/day + update:*) |
build:h5 |
PASS(先轮) |
homeCatalog 单测 |
PASS |
| 行为冻结 | 逻辑迁入 composable,未见故意改文案/路由 |
Nits(不阻断)
SynastryPage的v-else-if="loading"在!report时不可达——与重构前一致,landing 按钮文案承担 loading。- Synastry props/emits 面偏宽;后续可改为注入 composable 或 provide(非本 Phase)。
useSynastryPage390 行贴近上限,Phase 后续可再抽 chart helpers。
Smoke(本会话)
| 项 | 结果 |
|---|---|
| API healthz | PASS |
| Home UI(心情卡/金刚区/推荐) | PASS · 截图 /tmp/yuxingu-smoke/home.png |
| Synastry UI 结构 | PASS |
Synastry listProfiles |
BLOCKED initially — baseURL=/psy/api 但 Vite 只代理 /api,返回 HTML 200 |
Fix applied(review 中发现,非 Phase B 引入)
vite.config.ts:base: '/psy/'+/psy/api→8080/apirewriteclient.ts:baseURL从错误的/psy/api改为/psy(SDK 路径已含/api/v1,避免/psy/api/api/v1)
冒烟后再验:GET /psy/api/v1/profiles → 200 JSON;合盘页无「接口返回异常」。
Risk
低(拆分本身)。代理缺口已修;合盘需至少两档案才可生成结果。
Gate
- Ready for local smoke
- Human/agent smoke:首页 OK;合盘页 UI OK(代理已修)
- Decision PASS