feat(首页彩蛋): 宝宝胎动按孕周分阶段,贴近真实 (v26100403)

- <20 周 / 未建档 / 产后:不出现
- 20~25 周:小鱼吐泡泡(flick/tap),小浅快、常连两下,隔 10~25 秒,不追屏
- 26~33 周:完整版拳打脚踢,最勤
- 34 周起:多为大片慢拱(roll/butt),猛踢减少、节奏放慢
- app.js syncPregnancy 结束后广播 mb-preg;调试参数 bumpweek=N

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-04 00:36:59 +00:00
parent cc51237dff
commit f737d1f18d
3 changed files with 68 additions and 15 deletions

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26100402';
var VER = '26100403';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -1156,7 +1156,16 @@
el.textContent = t || '';
el.classList.toggle('hide', !t);
}
/* 把当前孕期状态广播给首页彩蛋 js/bump.js(宝宝在肚皮底下动按孕周分阶段,2026-10-04)。
syncPregnancy 有好几个提前 return 的分支,所以用微任务等它整个跑完再发,拿到的是最终状态。 */
function pubPreg() {
const d = { week: (state.postpartum || state.pregEmpty) ? null : state.week, day: state.day,
postpartum: !!state.postpartum, empty: !!state.pregEmpty };
window.__mbPreg = d;
window.dispatchEvent(new CustomEvent('mb-preg', { detail: d }));
}
function syncPregnancy() {
Promise.resolve().then(pubPreg);
/* 孕期小知识:只认真实孕周(自己判显隐,见 renderTips) */
renderTips();
nurseryRender();
@@ -1571,7 +1580,7 @@
] },
/* 2026-10-03 首页彩蛋开关(js/bump.js):第 5 项是 localStorage 键,开关状态真的存下来,不是摆设 */
{ t: '首页小彩蛋', rows: [
['sw', '宝宝在肚皮下动', '首页偶尔被宝宝顶起来,摁一下会躲开', 1, 'mb_bump']
['sw', '宝宝在肚皮下动', '孕 20 周起,首页偶尔被宝宝顶起来,摁一下会躲开', 1, 'mb_bump']
] },
{ t: '', rows: [
['txt', '我们不会把你的孕期数据用于广告投放,也不会卖给第三方。数据加密存储,你可以随时导出或删除。']