fix(占位/来信): 工具卡演示占位归中性 + 档案屏空态 + 修来信「红点有、卡没有」(v26092210)
一、占位数据(新用户实测)
- 首页工具卡:孕期体重「58.2kg」是写死的演示值(后端也确无体重数据源,
GET /records 只给当日聚合)→ 改中性占位 '--';数胎动「今天 3 次」默认
3 在访客态/records 失败时没人覆盖 → HTML 默认 '--'、state.kickToday 改 0。
- 孕检日历 #calNext:init 先按内置默认(预产期=今天+3月 → 孕27周)写下
演示日期,而 pregEmpty 分支只清 [data-ga]/[data-wk] 两种钩子、**漏了它**
(它没有这两种属性),applyRemoteProfile 又提前 return → 假日期留在首页。
两条空态分支各补一行显式归 '--'。
- 档案屏「成长数据」:三张统计卡 + 体重曲线 + 双顶径/股骨长/腹围等测量值
全部无接口数据源,空态(未建档/产后)整块隐藏改显示引导;#favCount 从
写死的 18 改为按 DOM 里点亮的星标实时统计(18 与屏幕上的 6 张对不上)。
⚠️ 该屏真机到不了(go('archive') 无条件跳 chanjian-rili),属防御性改动。
- **明确不动**的两处真实数据,都已加注释防止再被当演示值删掉:
· 指南区「128 份孕育资料」= 后端准备总数(按孕周陆续发放,目前上架 8 份,
其余可扫码找小助手索要)——「数字与列表条数不符」是对的;
· 三张卡「12.8 / 20.4 / 9.6 万妈妈已领取」= 真实领取量(手工同步的静态文案)。
二、宝宝来信「tab 红点有、首页提醒卡没有」
根因:syncPregnancy 的未建档分支里那句 hideLetterCard() 只藏卡、**不动 #tabBadge**,
而它旁边的理由(「applyLaixinReminder 里也判 pregEmpty」)是错的 —— 后者明确
故意不看 pregEmpty(来信与建档是两件事,历史上加过一版就是这个症状)。
于是 laixin 先回来(亮红点 + 显示卡)、/profile 后回来(走该分支)时,卡被藏回去、
红点留下。定时复现:profile 延迟 1.5s 必现(卡内文案已写好却带 .hide,即「先显示后被藏」);
同时返回则正常。删掉那句后 0/1.5/3s 三档都一致;未读 0 与访客态仍两者都收。
This commit is contained in:
54
index.html
54
index.html
@@ -7,7 +7,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>兜爸心选 · 孕育陪伴</title>
|
||||
<!-- V:26092207 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<!-- V:26092210 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<link rel="stylesheet" href="mama-box.css">
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
<!-- 共享助手:授权/跳商城/位置上报(分享卡片同步,见 docs/h5-auth-standard.md 第四节) -->
|
||||
@@ -200,7 +200,11 @@
|
||||
<button class="mini-card kick ripple" data-mini="kick">
|
||||
<div class="mc-head">
|
||||
<div class="mc-title">数胎动</div>
|
||||
<div class="mc-sub">今天 <b id="kickTodayHome">3</b> 次</div>
|
||||
<!-- ⚠️ 默认值必须是中性占位,**不能写演示数字**:访客态(无 openid)与
|
||||
records 接口失败/超时这两种情况下没人会改它,写死 3 就是假数据。
|
||||
真实值由 __applyRecords() 写入(未记录的新用户是 0)。
|
||||
(2026-09-22 新用户实测:工具卡上的演示占位值一律归中性。) -->
|
||||
<div class="mc-sub">今天 <b id="kickTodayHome">--</b> 次</div>
|
||||
</div>
|
||||
<span class="mc-btn">记录</span>
|
||||
<img class="mc-art" src="assets/img/7980160b80b0.png" alt="" aria-hidden="true">
|
||||
@@ -225,7 +229,13 @@
|
||||
<button class="mini-card weight ripple" data-mini="weight">
|
||||
<img class="mc-art big" src="assets/img/b2066fd752bf.png" alt="" aria-hidden="true">
|
||||
<div class="mc-title">孕期体重</div>
|
||||
<div class="mc-big">58.2 <small>kg</small></div>
|
||||
<!-- ⚠️ 这里原来是写死的演示值「58.2 kg」,**任何用户**(含未建档案的新用户)
|
||||
都会看到 —— 属演示数据泄漏(2026-09-22 新用户实测)。
|
||||
体重目前**没有数据源**:GET /records 只返回当日聚合(kickCount/total),
|
||||
没有「最近一次体重」字段。所以先给中性占位 '--',与右列「数宫缩」
|
||||
卡的 data-wk 占位同一口径(不要写成 0,0 是个看着像真的假值)。
|
||||
将来接入真实体重:给这行加 id 并由 JS 写(同时把 <small>kg</small> 补回来)。 -->
|
||||
<div class="mc-big">--</div>
|
||||
</button>
|
||||
<div class="bento-col">
|
||||
<button class="mini-card cal ripple" data-mini="cal">
|
||||
@@ -345,8 +355,6 @@
|
||||
封面给了固定高度(80px + object-fit:contain),底行靠
|
||||
.sb-row{margin-top:auto} 顶到卡底,中间的简介统一截两行,
|
||||
三张就自然等高、四段横着都成列了。
|
||||
简介和「x 万妈妈已领取」都直接取自 js/app.js 里 RES 的同名字段,
|
||||
和资源详情页显示的是同一份文案,不是这里另编的。
|
||||
⚠️ 原来第一张那颗「立即领取」删掉了:整张卡本身就是个 <button>,
|
||||
点哪儿都是进详情页,那颗 span 长得像按钮却并不真的领取,是个假承诺;
|
||||
而且三张卡并列时三颗橙色大按钮也太吵。领取动作留在详情页底部。
|
||||
@@ -358,7 +366,14 @@
|
||||
assets/ 里没有人像图,也不该为这点装饰新增二进制资源,
|
||||
所以整叠头像是纯 CSS 画的(圆底 + ::before 头 + ::after 肩)。
|
||||
aria-hidden:读屏念到这行应该只听见「12.8 万妈妈已领取」,
|
||||
而不是六个没有内容的空节点。 -->
|
||||
而不是六个没有内容的空节点。
|
||||
|
||||
⚠️ 上面那三个数(12.8 / 20.4 / 9.6 万)是**真实领取量**,不是编的 ——
|
||||
2026-09-22 有人按「人气数看着像演示值」把它们连同头像叠一起删了,
|
||||
属**误判**,已恢复。**别再删**。它们是**手工同步的静态文案**:
|
||||
接口虽返回同源的 got(已领),但 __applyResources 明确「有意不读」
|
||||
(9.19 起 H5 已无「已领」概念),所以更新领取量时要**手工改这三处**;
|
||||
要改成读接口,得先把这个口径捋清再动。 -->
|
||||
<div class="shelf-rail">
|
||||
<button class="shelf-book sb-book ripple" data-open="detailRes" data-res="book">
|
||||
<img class="sb-cover" src="assets/img/9f3fa8edf4aa.png" alt="" aria-hidden="true">
|
||||
@@ -384,7 +399,14 @@
|
||||
#shelfLeadTxt 靶子和该函数一起删了)。
|
||||
旁边「查看全部 ›」是个 <a data-open>,它的点击监听是 init 时一次性
|
||||
绑上去的 —— 谁要是图省事对整个 <p> 写 innerHTML,链接会连同监听被静默
|
||||
换掉(看着一模一样,就是点不动),别再引入这种写法。 -->
|
||||
换掉(看着一模一样,就是点不动),别再引入这种写法。
|
||||
|
||||
⚠️ 128 是**后端准备好的资料总数**,不是「资源列表里当前有多少条」——
|
||||
2026-09-22 有人按「数字与列表条数不符」把它改成 RES 的条数,属**误判**,已回退:
|
||||
· 资料按孕周陆续发放,目前上架 8 份,其余会陆续跟进;
|
||||
· 没上架的**并非拿不到** —— 扫码加小助手可以直接索要(见顾问二维码弹窗)。
|
||||
所以「128 份等你来领」是邀请口径(含找小助手要的),跟「列表当前 8 条」
|
||||
是两件事,**数字不一样是对的**,别再"修"。 -->
|
||||
<p class="unlock"><b>128</b> 份孕育资料等你来领 · <a data-open="detailResList">查看全部 ›</a></p>
|
||||
</section>
|
||||
</div>
|
||||
@@ -481,13 +503,21 @@
|
||||
<button class="seg-btn is-active" data-seg="data">成长数据</button>
|
||||
<button class="seg-btn" data-seg="timeline">时光轴</button>
|
||||
<!-- 收藏数原本在下面那行 sec-title 里,那行整条删了,
|
||||
数字搬到标签上(和分段控件里其它计数同一种写法),#favCount 仍由 JS 更新 -->
|
||||
<button class="seg-btn" data-seg="moment">珍贵时刻 <i id="favCount">18</i></button>
|
||||
数字搬到标签上(和分段控件里其它计数同一种写法),#favCount 仍由 JS 更新。
|
||||
⚠️ 这里原来写死 18,而屏幕上点亮的星标只有 6 个 —— 数字与内容对不上。
|
||||
现在默认 0,由 app.js 启动时按 DOM 里 `.star.is-on` 的**实际个数**回填
|
||||
(档案页不是首屏,用户看不到中间态;点星标时再 ±1)。 -->
|
||||
<button class="seg-btn" data-seg="moment">珍贵时刻 <i id="favCount">0</i></button>
|
||||
</div>
|
||||
|
||||
<!-- 成长数据 -->
|
||||
<div class="seg-panel is-active" data-panel="data">
|
||||
<div class="stat-row">
|
||||
<!-- ⚠️ 空态(未建档 / pregEmpty):syncPregnancy 会给本面板加 .is-empty,
|
||||
把下面三块**全无数据源**的演示内容整块隐藏,改显示这行引导。
|
||||
三块里没有一个数字来自接口:58.2kg / 31 次 / 600g / 双顶径 6.1cm 都是设计稿数字,
|
||||
未建档用户看到就是纯假数据(2026-09-22 实测)。 -->
|
||||
<div class="data-empty">还没有可统计的记录<br>去「数胎动」或「孕期体重」记一笔,这里会生成趋势</div>
|
||||
<div class="stat-row data-demo">
|
||||
<div class="stat-card">
|
||||
<div class="sc-label">体重</div>
|
||||
<div class="sc-value">58.2<small>kg</small></div>
|
||||
@@ -508,7 +538,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chart-card">
|
||||
<div class="chart-card data-demo">
|
||||
<div class="cc-title">妈妈体重 · 孕12–24周</div>
|
||||
<svg class="chart" viewBox="0 0 320 150">
|
||||
<line class="grid" x1="4" y1="20" x2="316" y2="20"/>
|
||||
@@ -524,7 +554,7 @@
|
||||
<div class="cc-legend"><span class="lg lg-line">我的体重</span><span class="lg lg-band">推荐区间</span></div>
|
||||
</div>
|
||||
|
||||
<div class="meas-card">
|
||||
<div class="meas-card data-demo">
|
||||
<div class="meas"><span class="m-name">双顶径</span><div class="m-bar" style="--p:54%"><i></i></div><div class="m-val">6.1<small>cm</small><em>P58</em></div></div>
|
||||
<div class="meas"><span class="m-name">股骨长</span><div class="m-bar" style="--p:50%"><i></i></div><div class="m-val">4.4<small>cm</small><em>P52</em></div></div>
|
||||
<div class="meas"><span class="m-name">腹围</span><div class="m-bar" style="--p:60%"><i></i></div><div class="m-val">19.6<small>cm</small><em>P61</em></div></div>
|
||||
|
||||
Reference in New Issue
Block a user