docs(AGENTS): §4 补第 11 条 —— 首页 5 张工具卡的数据源与两条纪律(接口优先/失败回退、名称链接仍以 App 表为准)

This commit is contained in:
2026-09-22 23:02:24 +08:00
parent d1fff2c248
commit 67b10aac00

View File

@@ -70,6 +70,15 @@ nginx:`root /opt/app` + `Cache-Control: no-cache` + `etag on` —— 缓存靠
否则会给**已经生产**的用户弹「完善孕期信息」引导;
并且 `syncPregnancy()` 之后那条按 `state.week` 重算的链(`syncStaticDates` 等)要一并拦住 ——
`week=null` 会让它算出「看着正常但全错」的日期,页面上看不出来。文案集中在 `syncPregnancy` 的产后分支。
11. **首页那 5 张工具卡的数据来自 box_app**(2026-09-22,v26092213 起):`GET /api/mp/public/mama-box/tool-cards`
(box_app 封装数胎动平台的 `app-cards`;H5 **不直连上游、不持有 token**)。两条纪律:
① **接口优先、失败回退本地** —— 接口 `ok=false` 或某槽缺失时保留卡上现有值,页面绝不因上游抖动变空;
两个来源并行返回、先后不定,所以用 `cardsOwned` 旗子定优先级(`#kickTodayHome`、`#calNext` 归接口,
curve 卡写值后**摘掉 `data-wk`**),**别赌返回顺序**;
② 卡片的**名称与链接仍以 App 表为准**(`MINI_APP_MAP` + `APP_BY_ID`),接口回的 `appId/path` 只作诊断 ——
上游 `app_id` 是 URL slug(`taier-guzhong`),与 App 表 `identifier`(`taierguzhong`)**刻意不同**,别互相推导。
⚠️ 卡是固定高度 bento,只有 kick / weight 有位置放第二行(`.mc-extra`);给 fweight/cal/curve 加第二行前
先重排那笔高度账(`158+10+64=232`,见 `mama-box.css`)。
## 5. 踩坑