e29052f107c16493a81e048841a7a9f770a8cece
现象:从商城切回首页加载 mama-box 时,先渲染出一张「宝宝来信/宝宝回信啦」卡 (用内置样例信 + 本地待投递队列拼的),几百毫秒后 /letters 回来说没有未读, 卡又缩回去,闪一下。 原因:卡在 index.html 里默认可见,pushLatestToHome() 是「先显示、数据回来再决定」; 而首屏渲染远早于 /letters。 改法(反过来:没确定之前一律不显示): - index.html:#homeLetter 默认带 .hide、#homeBody 默认带 .no-letter(首屏按「无卡」排版,不跳) - app.js:新增 lettersResolved 开关;pushLatestToHome() 在未确定、访客态(无 openid)、 或后端明确未建档(pregEmpty)时一律保持收起;applyRemoteLetters 的每条终态 (成功/空列表/接口挂/无身份)与 applyRemoteProfile 的访客分支都置位并重算 - 访客分支顺手补了一次 pushLatestToHome():此前清空 LETTERS 后没人重算, 那张卡会顶着一封已不存在的信留在首页 验证(本地 + 延迟代理四态,浏览器实测): - 有建档 + 0 封信:全程 hidden(修的就是这个) - 有建档 + 1 封未读:接口回来前 hidden → 回来后显示「小汤圆来信」 - 接口全挂:回退内置样例照旧显示(离线行为不变) - 访客(无 openid):hidden
Description
No description provided
Languages
HTML
54.1%
JavaScript
29.6%
CSS
15.1%
Python
1.2%