Karlcarlo d7410500cf fix(加载顺序): 远程数据按依赖顺序取 —— 身份 → 资料(含上游同步)→ 应用数据 (v26092215)
产品口径:上游有档案且有预产期时,页面应按 ①身份(openid/unionid/phone) → ②用户资料
(box_app /profile,会从上游同步预产期/小名/宝宝名)→ ③应用数据(今日足迹等)这个顺序加载。

- applyRemoteProfile() 改为**返回 Promise**(访客分支与已跑过也返回已决议的 Promise),
  init() 里改为 `Promise.race([applyRemoteProfile(), 10s 超时]).then(() => { 应用数据 })`:
  显式等 ② 落地再取 ③(资料库/记录/内容、今日脚印、首页工具卡、来信未读)。
  ⚠️ 加兜底超时的原因:② 万一挂住(上游不响应),③ 也必须照常发出,别让首页空等。
  ⚠️ 原来这五个 fetch 一起发、谁先回来谁写 DOM —— 竞态都是这么来的(今日脚印整块显隐被
     profile 回来后又翻回去;来信提示的红点与卡各写一份判据)。顺序化后两者都收敛。

为什么这条重要(与今日脚印的显隐口径直接相关):上游有预产期时,第 ② 步会把预产期同步进来
(方案 A:读时同步覆盖),state.pregEmpty 因此为 false → 今日脚印不会被「未建档」门槛挡住。
即「上游有档案且有预产期」与「mama-box 未建档」不会同时成立(除非第 ② 步失败/超时)。

本地验证(桩后端,profile 故意延迟 0.6s 以观察顺序):
  已建档(上游有预产期)→ 请求顺序 profile/pregnancy 先、footprint/tool-cards/laixin 后,
  今日脚印整块显示并渲染 2 条真实事件;未建档 → 同样先取资料,今日脚印按口径隐藏。均无 JS 异常。
2026-09-22 23:59:57 +08:00
Description
No description provided
343 MiB
Languages
HTML 54.1%
JavaScript 29.6%
CSS 15.1%
Python 1.2%