踢腿音效加开关(默认开);测试分组「好物配置」改名「花钱风格」

This commit is contained in:
deploy
2026-11-05 02:17:06 +00:00
parent 20613191f5
commit a6b279343e
34 changed files with 110 additions and 107 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../../js/ugc.js?v=26110440" data-guard></script>
<script src="../../js/ugc.js?v=26110441" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>测一测 · 孕妈广场</title>
@@ -322,9 +322,9 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
</div>
<div class="toast" id="toast"></div>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="meta.js?v=26110440"></script>
<script src="tests.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script src="meta.js?v=26110441"></script>
<script src="tests.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -348,7 +348,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
quiz: { name: '常识小测', en: 'QUIZ', c: '#F0714F', bg: '#FFEFE9', c2: '#FFD9CB', rgb: '240,113,79' },
psy: { name: '趣味心理测试', en: 'MIND TEST', c: '#7C5CFC', bg: '#F1EDFF', c2: '#E4DDFD', rgb: '124,92,252' },
game: { name: '趣味闯关', en: 'CHALLENGE', c: '#13A08A', bg: '#E4F6F1', c2: '#C4EBE1', rgb: '19,160,138' },
shop: { name: '好物配置', en: 'SHOPPING TYPE', c: '#E9557F', bg: '#FFEEF3', c2: '#FFD3E0', rgb: '233,85,127' }
shop: { name: '花钱风格', en: 'SHOPPING TYPE', c: '#E9557F', bg: '#FFEEF3', c2: '#FFD3E0', rgb: '233,85,127' }
};
var G = GROUP[t.group] || GROUP.psy, R = t.results, N = t.questions.length, KS = 'ABCD';
var st = document.documentElement.style;
@@ -356,7 +356,7 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
st.setProperty('--c06', 'rgba(' + G.rgb + ',.06)'); st.setProperty('--c10', 'rgba(' + G.rgb + ',.10)'); st.setProperty('--c20', 'rgba(' + G.rgb + ',.22)');
document.title = t.title + ' · 测一测';
var IMG = function (k) { return 'img/' + t.id + '_' + k + '.webp'; }; /* k=0 主图;k=i+1 第 i 个结果 */
var rImg = function (r) { return r.img || IMG(R.indexOf(r) + 1); }; /* 好物配置组按类型共用插画:results[].img */
var rImg = function (r) { return r.img || IMG(R.indexOf(r) + 1); }; /* 花钱风格组按类型共用插画:results[].img */
var optT = function (o) { return typeof o === 'string' ? o : o.t; };
var isQuiz = t.type === 'quiz', isType = t.type === 'type';

View File

@@ -4,7 +4,7 @@
window.gcTested = function (id) {
var h = 2166136261; for (var i = 0; i < id.length; i++) { h ^= id.charCodeAt(i); h = Math.imul(h, 16777619); } h ^= h >>> 13; h = Math.imul(h, 0x5bd1e995); h = (h ^ (h >>> 15)) >>> 0;
var g = (window.GC_TESTS_META || []).filter(function (x) { return x.id === id; })[0], k = g && (g.group === 'quiz' || g.group === 'psy') ? 1.4 : 1;
/* 11-02 用户:好物配置这几个热度高一点,5万~15万之间 */
/* 11-02 用户:花钱风格这几个热度高一点,5万~15万之间 */
var base = g && g.group === 'shop' ? 50000 + h % 80000 : (12000 + h % 36000) * k, days = Math.max(0, (Date.now() - Date.parse('2026-11-02T00:00:00+08:00')) / 864e5);
return Math.round(base * (1 + 0.004 * days));
};

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../js/ugc.js?v=26110440" data-guard></script>
<script src="../js/ugc.js?v=26110441" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>孕妈广场</title>
@@ -890,12 +890,12 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
<div id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
<div class="toast" id="toast"></div>
<script src="topics.js?v=26110440"></script>
<script src="data.js?v=26110440"></script>
<script src="feed.js?v=26110440"></script>
<script src="../js/ava-pool.js?v=26110440"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="ceshi/meta.js?v=26110440"></script>
<script src="../js/share-card.js?v=26110440"></script>
<script src="topics.js?v=26110441"></script>
<script src="data.js?v=26110441"></script>
<script src="feed.js?v=26110441"></script>
<script src="../js/ava-pool.js?v=26110441"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="ceshi/meta.js?v=26110441"></script>
<script src="../js/share-card.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -962,7 +962,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
var CMD = null, CMERR = false;
/* 头像编码:数字 = av/NNNN.webp(旧代码头像);'av:c012' = av/c012.webp(卡通/可爱卡通);'/…' = 站内绝对路径(内置头像库 /_bridge/avatars/);其余 = assets/img/mom/xxx.jpg */
var avP = function (a) { return typeof a === 'number' ? 'av/' + ('000' + a).slice(-4) + '.webp' : a.indexOf('av:') === 0 ? 'av/' + a.slice(3) + '.webp' : a.charAt(0) === '/' ? a : '../assets/img/mom/' + a + '.jpg'; };
fetch('cm.json?v=26110440').then(function (r) { return r.json(); }).then(function (j) {
fetch('cm.json?v=26110441').then(function (r) { return r.json(); }).then(function (j) {
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
function commentsOf(n) {
@@ -1156,7 +1156,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
测试目录只引轻量 ceshi/meta.js;题库在 ceshi/tests.js,只在测试页加载。 */
var TM = window.GC_TESTS_META || [], TMBY = {};
TM.forEach(function (x) { TMBY[x.id] = x; });
var TG = { quiz: '常识小测', psy: '趣味心理', game: '趣味闯关', shop: '好物配置' }, tGrp = '';
var TG = { quiz: '常识小测', psy: '趣味心理', game: '趣味闯关', shop: '花钱风格' }, tGrp = '';
var CS_MIX = ['t11', 't29', 't01', 't24', 't26', 't16', 't03', 't27', 't14', 't21', 't30', 't18'];
function csDone() { try { return (JSON.parse(localStorage.getItem('mmbox.gcts.v1') || '{}')[param('openid') || '_guest']) || {}; } catch (e) { return {}; } }
function ceshiURL(id, fromTab) {
@@ -1177,7 +1177,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
var TGD = { quiz: '有标准答案,答完看解析', psy: '没有对错,测测你是哪一型', game: '挑战一下,看能拿什么称号', shop: '测测你给娃买东西、挑东西是哪种风格' };
/* 11-03 用户发参考图:「测试列表按图里的排版」→ 分组标题(色条 + 图标 + 名称 + 一句话)+ 宫格卡:
彩色渐变封面(两团柔和色块)上写大字短名 + 小字「谁来测 · N 题」+「开始测试」胶囊,封面下一行完整标题 + 人数;
常识小测 / 趣味闯关 3 列,趣味心理 / 好物配置 2 列(大卡)。原热度榜不再单列,组内仍按人数从高到低排。 */
常识小测 / 趣味闯关 3 列,趣味心理 / 花钱风格 2 列(大卡)。原热度榜不再单列,组内仍按人数从高到低排。 */
var CS_SHORT = window.GC_SHORT || {}; /* 短名表在 ceshi/meta.js(测试开始页顶部小胶囊也用) */
/* 11-04 用户:「列表页小图标都用扁平化」→ 分组 emoji 换成纯色圆角块 + 白色实心图标(CS_ICO);
「一排 3 个字看不清」→ 每组统一一排 2 个,最多 3 排(6 张),多出来的改一行一条的列表(csRowHTML);5 个的组出 4 张卡 + 1 行,不留单张。 */
@@ -1231,7 +1231,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
function csAvs(n) { var h = '<span class="cav">'; for (var i = 0; i < n; i++) h += '<img src="' + csSrc(CS_AVP[csAvK++ % CS_AVP.length]) + '" alt="" loading="lazy">'; return h + '</span>'; }
var CS_SEC = { quiz: ['', '查漏补缺,温和掌握孕产育儿知识', 2], psy: ['', '看见情绪,也看见关系', 2], game: ['', '挑战一下,看能拿什么称号', 2], shop: ['', '测测你给娃买东西、挑东西是哪种风格', 2] };
/* 11-04 用户:「每个测试的背景图要做匹配的图片,不要同样的背景色;按组区分色块、组内统一」→ 每个测试一张插画(ceshi/cv/tNN.webp),
色调跟组走:常识小测暖桃 / 趣味心理薰衣草紫 / 趣味闯关薄荷绿 / 好物配置天蓝;画面上半留白放标题。列表行的小方块也换成同一张图。 */
色调跟组走:常识小测暖桃 / 趣味心理薰衣草紫 / 趣味闯关薄荷绿 / 花钱风格天蓝;画面上半留白放标题。列表行的小方块也换成同一张图。 */
var CS_CV_V = 3; /* 同日二改:用户嫌插画乱 → 换真实风景照(按组选色调)+ 同色柔光遮罩 */
function csRowHTML(x, done, i) {
var d = done[x.id], who = (x.sub || '').split('·')[0].trim();
@@ -1243,7 +1243,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
var CS_BLOB = '<svg class="cbl" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true"><path class="b1" d="M58 0C66 14 80 18 100 14V0z"/><path class="b2" d="M0 72C18 60 30 78 46 86S80 84 100 70V100H0z"/><path class="b3" d="M0 0H28C20 12 8 16 0 30z"/></svg>';
/* 11-04 用户:「封面下面那行完整标题放到图片上」→ 封面大字由短名改成完整标题,封面下只留人数 */
/* 11-04 用户:「几个模块颜色都一样,分不出来;图片样式可以一样,UI 按模块变一下」→ 配色 / 封面色块形状按分组走,不再全局轮换:
常识小测 蜜桃橙、趣味心理 薰衣草紫、趣味闯关 薄荷绿、好物配置 天空蓝;四组各一种色块形状(CS_BLOBS),列表行同色。 */
常识小测 蜜桃橙、趣味心理 薰衣草紫、趣味闯关 薄荷绿、花钱风格 天空蓝;四组各一种色块形状(CS_BLOBS),列表行同色。 */
var CS_GPAL = { quiz: 'gq', psy: 'gp', game: 'gg', shop: 'gs' };
var CS_BLOBS = {
quiz: CS_BLOB,

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../../js/ugc.js?v=26110440" data-guard></script>
<script src="../../js/ugc.js?v=26110441" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>我的投稿</title>
@@ -107,7 +107,7 @@ main{padding:6px 16px 0}
</div>
<div class="wb"><button type="button" id="write"><svg class="ic" viewBox="0 0 24 24"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 013 3L7 19l-4 1 1-4z"/></svg>写新的故事</button></div>
<script src="../topics.js?v=26110440"></script>
<script src="../topics.js?v=26110441"></script>
<script>
(function () {
'use strict';

View File

@@ -8,8 +8,8 @@
<meta name="apple-mobile-web-app-capable" content="yes">
<title>兜爸心选 · 孕育陪伴</title>
<!-- 11-04 UGC 总开关(孕妈广场 + 测一测,后台 /box_bm/plaza 顶部切换),见 js/ugc.js -->
<script src="js/ugc.js?v=26110440"></script>
<!-- V:26110440 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<script src="js/ugc.js?v=26110441"></script>
<!-- V:26110441 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<link rel="stylesheet" href="mama-box.css">
<link rel="stylesheet" href="night.css">
<!-- 11-04 用户:「顶部图片上的倒计时先删除掉」→ 不加载 hero-cd.css / hero-cd.js(文件留着,加回这两行即恢复),头图回到原样式 -->
@@ -2618,13 +2618,13 @@
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
<script src="/_bridge/hand-icons.js?v=26101202"></script>
<script src="js/zodiac-art.js"></script>
<script src="guangchang/topics.js?v=26110440"></script>
<script src="js/ava-pool.js?v=26110440"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="guangchang/topics.js?v=26110441"></script>
<script src="js/ava-pool.js?v=26110441"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="js/app.js"></script>
<script src="js/kit.js?v=26110440"></script>
<script src="js/kit.js?v=26110441"></script>
<!-- 11-05 用户:孕期百问加上跟趣味小测试一样的底部 Tab(孕期百问 / 记一下 / 返回首页)。挂在 #detailQA 里,面板关着时跟着滑出屏外;
「记一下」直接开首页自己的记一下弹层(z 95 盖在百问 z 80 上),「返回首页」= 关掉百问面板 -->
<script src="js/mb-tabbar.js?v=26110440"></script>
<script src="js/mb-tabbar.js?v=26110441"></script>
<script>
(function () {
var d = document.getElementById('detailQA'); if (!d || !window.MBTab) return;
@@ -2644,7 +2644,7 @@
if (gchDone || !window.__mbUgc) return; gchDone = true;
var m = location.search.match(/[?&]gcv=([1-6])(?:&|$)/);
if (!m) window.__gcDefault = 1;
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110440';
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110441';
var dir = n === '4' || n === '6' ? 'js/gch/' : 'demo/gch/'; /* 11-03 上正式:定稿 V6(含它套的 V4)并进 js/gch/,其余效果稿仍在 demo/ */
l.rel = 'stylesheet'; l.href = dir + 'v' + n + '.css?' + q;
s.src = dir + 'v' + n + '.js?' + q;
@@ -2659,7 +2659,7 @@
/* 11-02 品牌露出(用户定 4 处都要):默认加载,?brand=0 可关掉对比;11-03 已并进 js/gch/ */
if (!/[?&]brand=0/.test(location.search)) {
var bl = document.createElement('link'), bs = document.createElement('script');
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110440'; bs.src = 'js/gch/brand.js?v=26110440';
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110441'; bs.src = 'js/gch/brand.js?v=26110441';
document.head.appendChild(bl); document.body.appendChild(bs);
}
})();
@@ -2669,8 +2669,8 @@
<!-- 2026-10-04 首页头图:按孕周换宝宝 + 阳光水波(独立文件) -->
<script src="js/hero-fx.js"></script>
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
<script src="js/baby-limbs.js?v=26110440"></script>
<script src="js/coach.js?v=26110440"></script>
<script src="js/baby-limbs.js?v=26110441"></script>
<script src="js/coach.js?v=26110441"></script>
<script src="js/birth-flow.js?v=26110201"></script>
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26110440';
var VER = '26110441';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -2400,7 +2400,9 @@
/* 2026-10-22 删「谁能看到」两个开关(档案仅自己可见 / 允许家人查看):只变色 + toast,什么都不存 */
/* 2026-10-03 首页彩蛋开关(js/bump.js):第 5 项是 localStorage 键,开关状态真的存下来,不是摆设 */
{ t: '首页小彩蛋', rows: [
['sw', '宝宝在肚皮下动', '孕 20 周起,首页偶尔被宝宝顶起来,摁一下会躲开', 1, 'mb_bump']
['sw', '宝宝在肚皮下动', '孕 20 周起,首页偶尔被宝宝顶起来,摁一下会躲开', 1, 'mb_bump'],
/* 11-05 用户:踢腿音效加开关,默认开(js/baby-limbs.js 每次响之前读 mb_kick_snd,'0' = 关) */
['sw', '宝宝踢腿音效', '孕 20 周起,宝宝蹬腿时轻轻「噗」一声', 1, 'mb_kick_snd']
] },
{ t: '', rows: [
['txt', '我们不会把你的孕期数据用于广告投放,也不会卖给第三方。数据加密存储。']

View File

@@ -133,6 +133,7 @@
['touchstart', 'pointerdown', 'click'].forEach(t => addEventListener(t, unlock, { passive: true, once: false, capture: true }));
function kickSound(delay) {
if (!ac || ac.state !== 'running') return;
try { if (localStorage.getItem('mb_kick_snd') === '0') return; } catch (e) {} // 11-05 「我的 → 隐私与权限 → 宝宝踢腿音效」关了就不响
const t = ac.currentTime + delay / 1000;
// 闷响:正弦 150→60Hz 快速下滑,低通滤掉高频,像隔着肚皮
const o = ac.createOscillator(), g = ac.createGain(), lp = ac.createBiquadFilter();

View File

@@ -244,5 +244,5 @@
}
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
if (window.GC_FEED) init();
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110440'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110441'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
})();

View File

@@ -6,9 +6,9 @@
(function () {
var sec = document.getElementById('gcHome');
if (!sec) return;
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110440';
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110441';
document.head.appendChild(l);
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110440';
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110441';
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
document.body.appendChild(s);

View File

@@ -9,7 +9,7 @@
if (/[?&]kit=0(?:&|$)/.test(location.search)) return;
var box = document.getElementById('kit'), sec = document.getElementById('kitHome');
if (!box || !sec) return;
var V = '26110440';
var V = '26110441';
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/kit.css?v=' + V; document.head.appendChild(l);
document.documentElement.classList.add('has-kit');

View File

@@ -8,7 +8,7 @@
postMessage 不是实时投递,微信在分享那一刻才派发,所以每次换内容都要再报一次;子页面没引 jweixin,这里按需加载。 */
(function (g) {
'use strict';
var V = '26110440';
var V = '26110441';
var isWx = /MicroMessenger/i.test(navigator.userAgent || '');
var waiting = [], loading = false;
function ready(cb) {

View File

@@ -38,7 +38,7 @@ dirs.forEach(d => {
if (d === 'yuchanqi-js') { out.push({ k: 't/' + d, type: 'text', mod, c, big: '预产期', title: '宝宝哪天到?还有几天见面', cta, ic: 'calc' }); return; }
out.push({ k: 't/' + d, type: 'text', mod, c, big: kw, title: q, cta, ic: CALC[d] ? 'calc' : QUIZ_TOPIC[d] ? 'quiz' : (h ? h.tag : '专题') });
});
const GC = { quiz: '#FF8A65', psy: '#9A7FE0', game: '#3FAE7A', shop: '#4E8DE6' }, GN = { quiz: '常识小测', psy: '趣味心理', game: '趣味闯关', shop: '好物配置' };
const GC = { quiz: '#FF8A65', psy: '#9A7FE0', game: '#3FAE7A', shop: '#4E8DE6' }, GN = { quiz: '常识小测', psy: '趣味心理', game: '趣味闯关', shop: '花钱风格' };
window.GC_TESTS_META.forEach(x => out.push({ k: 'c/' + x.id, type: 'text', mod: '测一测 · ' + GN[x.group], c: GC[x.group], big: window.GC_SHORT[x.id] || '', title: x.title.replace(/^测一测|/, ''), cta: '点开测一测', ic: 'test:' + x.id, sub: x.n + ' 道题 · 测完看结果' }));
const T = window.GC_TOPICS, D = window.GC_DATA;
T.forEach(t => {

View File

@@ -1437,7 +1437,7 @@
{
"k": "c/t26",
"type": "text",
"mod": "测一测 · 好物配置",
"mod": "测一测 · 花钱风格",
"c": "#4E8DE6",
"big": "挑东西看啥",
"title": "测测你给娃挑东西,最先看什么?",
@@ -1448,7 +1448,7 @@
{
"k": "c/t27",
"type": "text",
"mod": "测一测 · 好物配置",
"mod": "测一测 · 花钱风格",
"c": "#4E8DE6",
"big": "下单风格",
"title": "测测你买母婴用品,是哪种下单风格?",
@@ -1459,7 +1459,7 @@
{
"k": "c/t28",
"type": "text",
"mod": "测一测 · 好物配置",
"mod": "测一测 · 花钱风格",
"c": "#4E8DE6",
"big": "囤货指数",
"title": "测测你是「囤货妈」,还是「够用就好妈」?",
@@ -1470,7 +1470,7 @@
{
"k": "c/t29",
"type": "text",
"mod": "测一测 · 好物配置",
"mod": "测一测 · 花钱风格",
"c": "#4E8DE6",
"big": "花钱类型",
"title": "测测你是哪一类「带娃花钱」玩家?",
@@ -1481,7 +1481,7 @@
{
"k": "c/t30",
"type": "text",
"mod": "测一测 · 好物配置",
"mod": "测一测 · 花钱风格",
"c": "#4E8DE6",
"big": "清单挑货",
"title": "拿着宝宝购物清单,测出你的挑货习惯",

View File

@@ -57,7 +57,7 @@
'.tc-more{display:block;width:100%;margin-top:6px;height:40px;border:0;border-radius:99px;background:#F7F8FA;color:#4E5969;font-size:13px;font-weight:600}';
var SLUG = (location.pathname.match(/\/topic\/([^\/]+)\//) || [])[1] || '';
/* 11-04 微信转发图:每个专题一张 assets/share/t/<slug>.jpg(核心词大字 + logo),见 js/share-card.js */
if (SLUG) (function () { var s = document.createElement('script'); s.src = '../../js/share-card.js?v=26110440'; s.onload = function () { window.mbShare('../../assets/share/t/' + SLUG + '.jpg'); }; document.head.appendChild(s); })();
if (SLUG) (function () { var s = document.createElement('script'); s.src = '../../js/share-card.js?v=26110441'; s.onload = function () { window.mbShare('../../assets/share/t/' + SLUG + '.jpg'); }; document.head.appendChild(s); })();
var SK = 'mmbox.tp.v1', UK = (function () { var m = ((location.hash || '') + '&' + (location.search || '')).match(/[#?&]openid=([^&]*)/); return m ? decodeURIComponent(m[1]) : '_guest'; })();
function loadMe() { try { var a = JSON.parse(localStorage.getItem(SK) || '{}') || {}; var m = a[UK] || {}; m.cm = m.cm || {}; m.lk = m.lk || {}; return { a: a, m: m }; } catch (e) { return { a: {}, m: { cm: {}, lk: {} } }; } }
function saveMe(st) { try { st.a[UK] = st.m; localStorage.setItem(SK, JSON.stringify(st.a)); } catch (e) {} }
@@ -70,7 +70,7 @@
function getJSON(u) { return fetch(u, { cache: 'no-cache' }).then(function (r) { if (!r.ok) throw r.status; return r.json(); }); }
function related(box) {
getJSON('../_shared/idx.json?v=26110440').then(function (idx) {
getJSON('../_shared/idx.json?v=26110441').then(function (idx) {
var me = null; idx.forEach(function (x) { if (x[0] === SLUG) me = x; });
var tag = me ? me[2] : '', h = 0; for (var i = 0; i < SLUG.length; i++) h = (h * 31 + SLUG.charCodeAt(i)) >>> 0;
var rest = idx.filter(function (x) { return x[0] !== SLUG && (window.__mbUgc || ['ceshi', 'duiyou'].indexOf(x[0]) < 0); }); /* UGC 关着不推两个测试 */
@@ -177,13 +177,13 @@
}
fetch(API + '/comments?kind=topic&target=' + encodeURIComponent(SLUG) + (OID ? '&openid=' + encodeURIComponent(OID) : ''))
.then(function (r) { return r.json(); }).then(function (j) { if (j && j.code === 200) { RC = j.result; paint(); } }).catch(function () {});
getJSON('../_shared/cm/' + SLUG + '.json?v=26110440').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
getJSON('../_shared/cm/' + SLUG + '.json?v=26110441').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
}
function ugcReady() {
if (window.__mbUgcReady) return window.__mbUgcReady;
return new Promise(function (res) {
var u = document.createElement('script'); u.src = '../../js/ugc.js?v=26110440';
var u = document.createElement('script'); u.src = '../../js/ugc.js?v=26110441';
u.onload = function () { (window.__mbUgcReady || Promise.resolve(false)).then(res); };
u.onerror = function () { res(false); };
document.head.appendChild(u);

View File

@@ -11,8 +11,8 @@
月数按「自然月」数:从 max(出生月, 2025-01) 起,到满 3 周岁那个月之前为止(结果标「约」,以当地核定为准)。
最多填 3 个孩子;还没出生的填预产期先算。地方另有加码的(如部分城市每孩另发)不在这里算。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#E25C5C;--c2:#FF9A8A;--cbg:#FFEFED}.kid{position:relative;margin-top:12px;padding:12px;border-radius:14px;background:#FAF7F8}.kid .lb{display:flex;justify-content:space-between}.kid .rm{font-size:12.5px;font-weight:700;color:var(--m)}.add{display:block;width:100%;height:42px;margin-top:12px;border-radius:12px;border:1.5px dashed var(--c);color:var(--c);font-size:14px;font-weight:800}.kid .seg{margin-top:8px}</style>
</head>
<body>
@@ -46,7 +46,7 @@
<div class="tip"><b>地方可能另有补贴:</b>部分城市在国家 3600 元之外还另发生育补贴、育儿补贴,问一下当地卫健部门或看政务平台。</div>
<p class="foot">依据《育儿补贴制度实施方案》(2025)估算,月数折算以当地核定为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -107,10 +107,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/butie-js.jpg', '育儿补贴:每孩每年 3600 元,你家能领多少'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../../js/ugc.js?v=26110440" data-guard></script>
<script src="../../js/ugc.js?v=26110441" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>测一测你是什么样的妈妈?</title>

View File

@@ -10,8 +10,8 @@
每次「查什么」只列常规项目,具体以产检医院安排为准。做完可以打勾(记在本机 mmbox.calc.chanjian)。
预产期优先用预产期计算器填过的值。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#2F86C9;--c2:#6CB6F0;--cbg:#EAF5FF}.tl .ck{flex:none;align-self:flex-start;height:28px;padding:0 10px;margin-top:1px;border-radius:99px;background:#F4F6F8;color:var(--m);font-size:12px;font-weight:800}.tl li.ok .ck{background:var(--c);color:#fff}.tl li.ok .m{opacity:.55}.tl li.ok .d{border-color:var(--c);background:var(--c);box-shadow:none}.tl .m span.it{margin-top:3px;color:var(--t)}</style>
</head>
<body>
@@ -37,7 +37,7 @@
<div class="tip"><b>要空腹的几次:</b>第一次建档抽血、糖耐(OGTT)一般要空腹,前一晚 10 点后别吃东西;具体看医院通知。<br><b>错过不能补的:</b>NT(11~13+6 周)、大排畸(20~24 周)、糖耐(24~28 周)都有时间窗口,提前预约。</div>
<p class="foot">按《孕前和孕期保健指南(2018)》常规时间排,具体项目和时间以产检医院安排为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -94,10 +94,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/chanjian-js.jpg', '产检时间表:每次产检哪天去、查什么'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
<script src="../../js/ugc.js?v=26110440" data-guard></script>
<script src="../../js/ugc.js?v=26110441" data-guard></script>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<meta name="format-detection" content="telephone=no">
<title>测一测:你家准爸爸是哪种队友?</title>

View File

@@ -11,8 +11,8 @@
计算:综合所得年度税表(3%~45%,年减除 6 万);应纳税所得 = 12 ×(月薪 − 个人五险一金 − 其他专项附加)− 60000,
省的税 = 不扣宝宝那项的税 − 扣了之后的税。不含年终奖单独计税、劳务报酬等,结果为估算。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#6C5BD6;--c2:#A595F2;--cbg:#F1EEFF}</style>
</head>
<body>
@@ -49,7 +49,7 @@
<p class="foot">按现行个税政策估算,未含年终奖单独计税等情况,以个税 App 实际计算为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -82,10 +82,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/geshui-js.jpg', '个税省多少:有宝宝一年能少交多少税'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -11,8 +11,8 @@
本省延长的天数是否由生育保险基金支付各地不一样,结果同时给出「按国家 98 天起」和「按本省合计」两个数。
津贴低于本人工资的,多数省份规定由单位补足差额 —— 填了本人月工资就算出差额。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#E0812A;--c2:#FFB067;--cbg:#FFF3E6}select.in{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#999 50%),linear-gradient(135deg,#999 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}</style>
</head>
<body>
@@ -47,7 +47,7 @@
<div class="tip"><b>生育津贴 ≠ 生育医疗费:</b>产检、住院分娩的费用另外按生育保险报销,不在这个数里。</div>
<p class="foot">按《社会保险法》《女职工劳动保护特别规定》常用算法估算,实际以当地医保部门核定为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -86,10 +86,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/jintie-js.jpg', '生育津贴计算器:产假期间能领多少钱'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -138,9 +138,9 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
})();
</script>
<!-- 11-05 用户:底部加上跟趣味小测试一样的 Tab(孕期计算器 / 记一下 / 返回首页) -->
<script src="../../js/mb-tabbar.js?v=26110440"></script>
<script src="../../js/mb-tabbar.js?v=26110441"></script>
<script>MBTab.init({ root: '../../', first: { t: '孕期计算器', ic: 'calc' } });</script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/jisuan.jpg', '孕期计算器:生娃花费、预产期、产假天数,一算就知道'); /* 11-04 微信转发图 */</script>
</body>
</html>

View File

@@ -10,8 +10,8 @@
对比用国家卫健委《中国居民营养与慢性病状况报告(2020 年)》18~44 岁平均身高:男 169.7 cm、女 158.0 cm。
身高约 70% 看遗传,营养、睡眠、运动影响剩下的部分 —— 结果只是参考范围。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#1F9BA8;--c2:#5FCBD3;--cbg:#E6F7F8}.sx{display:flex;gap:10px;margin-top:12px}.sx div{flex:1;padding:10px;border-radius:12px;background:rgba(255,255,255,.18)}.sx b{display:block;font-size:22px;font-weight:900;line-height:1.3}</style>
</head>
<body>
@@ -46,7 +46,7 @@
<p class="foot">按遗传靶身高公式估算,再按家族身高、作息和运动习惯小幅调整;实际身高受营养、睡眠、运动和疾病等影响,仅供参考。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -89,10 +89,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/shengao-js.jpg', '宝宝身高预测:长大后大概多高'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -11,8 +11,8 @@
各地规定不一,页面写「以当地为准」。很多地方已开通「新生儿出生一件事」联办(出生证 + 户口 + 医保 + 社保卡一次办)。
做完可以打勾(记在本机 mmbox.calc.shouxu);还没生的按预产期先排。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#4E7FD8;--c2:#86AEF2;--cbg:#EDF3FF}.tl .ck{flex:none;align-self:flex-start;height:28px;padding:0 10px;margin-top:1px;border-radius:99px;background:#F4F6F8;color:var(--m);font-size:12px;font-weight:800}.tl li.ok .ck{background:var(--c);color:#fff}.tl li.ok .m{opacity:.55}.tl li.ok .d{border-color:var(--c);background:var(--c);box-shadow:none}.tl li.late .m b em{background:#FFE8E6;color:#E0453A}.tl .m span.w{color:var(--t)}</style>
</head>
<body>
@@ -37,7 +37,7 @@
<div class="tip"><b>先查有没有「出生一件事」:</b>很多城市在支付宝、微信或当地政务 App 上能把出生医学证明、上户口、医保参保、社保卡一次办完,不用一趟趟跑。<br><b>要准备的:</b>爸妈身份证、户口本、结婚证、出生医学证明(宝宝名字定好再办)。</div>
<p class="foot">各地规定和截止时间不完全一样,以当地公安、医保、卫健部门要求为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -88,10 +88,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/shouxu-js.jpg', '出生后手续时间线:每件事截止哪天'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -11,8 +11,8 @@
顺带提示两种溶血风险:妈妈 Rh 阴性 + 爸爸 Rh 阳性(Rh 溶血,要查抗 D 抗体);妈妈 O 型 + 爸爸非 O 型(ABO 溶血,多数轻)。
顺式 AB(cis-AB)、孟买型等罕见情况不算,页面写明。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#D9475A;--c2:#FF8A96;--cbg:#FFEDEF}.bars{margin-top:12px}.bars div{display:flex;align-items:center;gap:8px;margin-top:6px}.bars b{flex:none;width:44px;font-size:16px}.bars i{flex:1;height:12px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden}.bars i u{display:block;height:100%;border-radius:99px;background:#fff}.bars span{flex:none;width:52px;text-align:right;font-size:14px;font-weight:800}.bars .no{opacity:.45}</style>
</head>
<body>
@@ -44,7 +44,7 @@
<p class="foot">按常规遗传规律估算,不能用来做亲子鉴定;顺式 AB、孟买型等罕见血型不在计算范围。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -98,10 +98,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/xuexing-js.jpg', '宝宝血型推算:爸妈血型配宝宝会是什么型'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -71,7 +71,7 @@ button{cursor:pointer}
.tip b{color:var(--h)}
.foot{margin:14px 20px 0;font-size:12px;color:var(--m);text-align:center;line-height:1.6}
</style>
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
</head>
<body>
<svg style="position:absolute;width:0;height:0" aria-hidden="true"><symbol id="i-back" viewBox="0 0 24 24"><path d="M15 5l-7 7 7 7"/></symbol></svg>
@@ -188,10 +188,10 @@ button{cursor:pointer}
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/yuchanqi-js.jpg', '预产期计算器:宝宝哪天到?还有几天见面'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -9,8 +9,8 @@
价格是 2026 年市场行情的估算区间(月子中心 28 天套餐、金牌 / 普通月嫂 26 天、在家坐月子的食材营养 + 用品),按城市 × 档次取值,按天数折算;
不是报价,只帮用户比较三种方式的量级。改价格只改下面 P 表。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#C9658F;--c2:#F0A0C0;--cbg:#FCEEF4}</style>
</head>
<body>
@@ -37,7 +37,7 @@
<div class="tip"><b>看月子中心记得问清:</b>价格含不含宝宝护理、产后修复、家属餐和陪护床;护士是否 24 小时、一对几;有没有医护资质和儿科医生定期巡房。<br><b>请月嫂:</b>看健康证、育婴师证,最好先面试、试工,合同写清休息和换人规则。</div>
<p class="foot">价格为 2026 年市场行情估算,各地差别很大,以实际报价为准。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -71,10 +71,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/yuezi-js.jpg', '月子花费:月子中心、月嫂、在家坐各花多少'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -10,8 +10,8 @@
孕月按 4 周一个月(孕 1~10 月);孕早期 < 14 周、孕中期 14~27+6 周、孕晚期 ≥ 28 周;37 周足月、42 周过期。
宝宝像什么用全生态统一表 /common/baby-size.js(别自己维护)。预产期计算器填过的值直接拿来用。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#E2668E;--c2:#FF9DB8;--cbg:#FFEEF3}.bs{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.18)}.bs i{font-style:normal;font-size:30px;line-height:1}.bs b{display:block;font-size:15px}.chk{display:flex;align-items:center;gap:10px;margin-top:10px}.chk .in{flex:1;margin:0}.chk b{flex:none;min-width:120px;text-align:right;font-size:15px;color:var(--c)}</style>
</head>
<body>
@@ -49,7 +49,7 @@
<div class="tip"><b>孕周以早孕 B 超为准:</b>月经不规律或记不清末次月经时,医生会按孕早期 B 超(头臀长)定孕周。这里算的是常规算法,仅供参考。</div>
<p class="foot">计算结果仅供参考,不能代替医生诊断。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script src="/common/baby-size.js?v=26101001"></script>
<script>
(function () {
@@ -109,10 +109,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/yunzhou-js.jpg', '孕周计算器:今天孕几周几天,宝宝像什么'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -12,8 +12,8 @@
某一孕周的推荐范围 = 孕早期 0~2 kg + (孕周 − 13) × 每周范围,封顶到总范围。双胎按 IOM 2009(标准没覆盖双胎)。
只算范围不做记录(11-04 用户:记体重是另一个记录工具)。
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
<link rel="stylesheet" href="../_shared/calc.css?v=26110440">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<link rel="stylesheet" href="../_shared/calc.css?v=26110441">
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<style>:root{--c:#2E9C6A;--c2:#6CCB9A;--cbg:#E8F7EF}.gauge{position:relative;height:10px;margin-top:14px;border-radius:99px;background:rgba(255,255,255,.28)}.gauge .ok{position:absolute;top:0;bottom:0;border-radius:99px;background:rgba(255,255,255,.65)}.gauge .me{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(0,0,0,.15)}.glab{display:flex;justify-content:space-between;margin-top:4px;font-size:11.5px;opacity:.85}</style>
</head>
<body>
@@ -46,7 +46,7 @@
<div class="tip"><b>胖得太快或太慢都要留意:</b>增重过多容易妊娠糖尿病、巨大儿,过少可能影响宝宝发育。一周涨超过 1 公斤,或者突然腿脚、脸都肿,要尽快告诉医生。</div>
<p class="foot">依据 WS/T 801—2022《妊娠期妇女体重增长推荐值标准》;双胎参考美国医学研究所 IOM 2009。仅供参考。</p>
</div>
<script src="../_shared/calc.js?v=26110440"></script>
<script src="../_shared/calc.js?v=26110441"></script>
<script>
(function () {
'use strict';
@@ -95,10 +95,10 @@
})();
</script>
<script src="../_shared/brand.js?v=26110203"></script>
<script src="../../js/share-card.js?v=26110440"></script>
<script src="../../js/share-card.js?v=26110441"></script>
<script>window.mbShare('../../assets/share/t/zengzhong-js.jpg', '孕期增重范围:孕期胖多少才合适'); /* 11-04 微信转发图 */</script>
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
<script src="../_shared/wizard.js?v=26110440"></script>
<script src="../_shared/wizard.js?v=26110441"></script>
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
</body>
</html>

View File

@@ -203,8 +203,8 @@ html.cm .key{margin-top:26px}
html.cm:not(.cm-all) .cm-more{display:flex;align-items:center;justify-content:center;gap:4px;margin:22px 20px 0;height:46px;border-radius:99px;background:var(--cbg);color:var(--c);font-size:14.5px;font-weight:700;width:calc(100% - 40px)}
</style>
<!-- 11-04 计算器模式(calc=1)走分步:一步一题、最后出结果,见 ../_shared/wizard.js -->
<link rel="stylesheet" href="../_shared/wizard.css?v=26110440">
<script src="../_shared/wizard.js?v=26110440"></script>
<link rel="stylesheet" href="../_shared/wizard.css?v=26110441">
<script src="../_shared/wizard.js?v=26110441"></script>
</head>
<body>
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">