孕期百问、孕期计算器加底部 Tab(同趣味小测试:本页/记一下/返回首页),抽成 js/mb-tabbar.js(v26110438)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
||||||
<script src="../../js/ugc.js?v=26110437" data-guard></script>
|
<script src="../../js/ugc.js?v=26110438" data-guard></script>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
|
<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">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<title>测一测 · 孕妈广场</title>
|
<title>测一测 · 孕妈广场</title>
|
||||||
@@ -322,9 +322,9 @@ mark{background:linear-gradient(transparent 62%,var(--c20) 0);color:inherit;padd
|
|||||||
</div>
|
</div>
|
||||||
<div class="toast" id="toast"></div>
|
<div class="toast" id="toast"></div>
|
||||||
|
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script src="meta.js?v=26110437"></script>
|
<script src="meta.js?v=26110438"></script>
|
||||||
<script src="tests.js?v=26110437"></script>
|
<script src="tests.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
||||||
<script src="../js/ugc.js?v=26110437" data-guard></script>
|
<script src="../js/ugc.js?v=26110438" data-guard></script>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
|
<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">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<title>孕妈广场</title>
|
<title>孕妈广场</title>
|
||||||
@@ -890,11 +890,11 @@ 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 id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
|
||||||
<div class="toast" id="toast"></div>
|
<div class="toast" id="toast"></div>
|
||||||
|
|
||||||
<script src="topics.js?v=26110437"></script>
|
<script src="topics.js?v=26110438"></script>
|
||||||
<script src="data.js?v=26110437"></script>
|
<script src="data.js?v=26110438"></script>
|
||||||
<script src="feed.js?v=26110437"></script>
|
<script src="feed.js?v=26110438"></script>
|
||||||
<script src="ceshi/meta.js?v=26110437"></script>
|
<script src="ceshi/meta.js?v=26110438"></script>
|
||||||
<script src="../js/share-card.js?v=26110437"></script>
|
<script src="../js/share-card.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -960,7 +960,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
|||||||
var CMD = null, CMERR = false;
|
var CMD = null, CMERR = false;
|
||||||
/* 头像编码:数字 = av/NNNN.webp(旧代码头像);'av:c012' = av/c012.webp(卡通/可爱卡通);'/…' = 站内绝对路径(内置头像库 /_bridge/avatars/);其余 = assets/img/mom/xxx.jpg */
|
/* 头像编码:数字 = 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'; };
|
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=26110437').then(function (r) { return r.json(); }).then(function (j) {
|
fetch('cm.json?v=26110438').then(function (r) { return r.json(); }).then(function (j) {
|
||||||
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
||||||
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
||||||
function commentsOf(n) {
|
function commentsOf(n) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
||||||
<script src="../../js/ugc.js?v=26110437" data-guard></script>
|
<script src="../../js/ugc.js?v=26110438" data-guard></script>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
|
<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">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<title>我的投稿</title>
|
<title>我的投稿</title>
|
||||||
@@ -107,7 +107,7 @@ main{padding:6px 16px 0}
|
|||||||
</div>
|
</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>
|
<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=26110437"></script>
|
<script src="../topics.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|||||||
27
index.html
27
index.html
@@ -8,8 +8,8 @@
|
|||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<title>兜爸心选 · 孕育陪伴</title>
|
<title>兜爸心选 · 孕育陪伴</title>
|
||||||
<!-- 11-04 UGC 总开关(孕妈广场 + 测一测,后台 /box_bm/plaza 顶部切换),见 js/ugc.js -->
|
<!-- 11-04 UGC 总开关(孕妈广场 + 测一测,后台 /box_bm/plaza 顶部切换),见 js/ugc.js -->
|
||||||
<script src="js/ugc.js?v=26110437"></script>
|
<script src="js/ugc.js?v=26110438"></script>
|
||||||
<!-- V:26110437 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
<!-- V:26110438 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||||
<link rel="stylesheet" href="mama-box.css">
|
<link rel="stylesheet" href="mama-box.css">
|
||||||
<link rel="stylesheet" href="night.css">
|
<link rel="stylesheet" href="night.css">
|
||||||
<!-- 11-04 用户:「顶部图片上的倒计时先删除掉」→ 不加载 hero-cd.css / hero-cd.js(文件留着,加回这两行即恢复),头图回到原样式 -->
|
<!-- 11-04 用户:「顶部图片上的倒计时先删除掉」→ 不加载 hero-cd.css / hero-cd.js(文件留着,加回这两行即恢复),头图回到原样式 -->
|
||||||
@@ -1651,6 +1651,7 @@
|
|||||||
<style>
|
<style>
|
||||||
.mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC}
|
.mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC}
|
||||||
.qa-page .mb-brand{margin:22px 0 6px}
|
.qa-page .mb-brand{margin:22px 0 6px}
|
||||||
|
#detailQA .qa-page{padding-bottom:calc(120px + env(safe-area-inset-bottom))} /* 给底部 Tab 让位 */
|
||||||
.qa-page{padding:6px 16px 40px}
|
.qa-page{padding:6px 16px 40px}
|
||||||
.qa-bn{position:relative;display:flex;align-items:center;min-height:108px;margin:6px 0 14px;padding:14px 120px 14px 16px;border-radius:20px;overflow:hidden;background:linear-gradient(118deg,#FF7A59 0%,#FF9A6B 48%,#FFC08A 100%);box-shadow:0 12px 24px -16px #F2533A}
|
.qa-bn{position:relative;display:flex;align-items:center;min-height:108px;margin:6px 0 14px;padding:14px 120px 14px 16px;border-radius:20px;overflow:hidden;background:linear-gradient(118deg,#FF7A59 0%,#FF9A6B 48%,#FFC08A 100%);box-shadow:0 12px 24px -16px #F2533A}
|
||||||
.qa-bn-t{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
|
.qa-bn-t{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
|
||||||
@@ -2617,9 +2618,21 @@
|
|||||||
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
|
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
|
||||||
<script src="/_bridge/hand-icons.js?v=26101202"></script>
|
<script src="/_bridge/hand-icons.js?v=26101202"></script>
|
||||||
<script src="js/zodiac-art.js"></script>
|
<script src="js/zodiac-art.js"></script>
|
||||||
<script src="guangchang/topics.js?v=26110437"></script>
|
<script src="guangchang/topics.js?v=26110438"></script>
|
||||||
<script src="js/app.js"></script>
|
<script src="js/app.js"></script>
|
||||||
<script src="js/kit.js?v=26110437"></script>
|
<script src="js/kit.js?v=26110438"></script>
|
||||||
|
<!-- 11-05 用户:孕期百问加上跟趣味小测试一样的底部 Tab(孕期百问 / 记一下 / 返回首页)。挂在 #detailQA 里,面板关着时跟着滑出屏外;
|
||||||
|
「记一下」直接开首页自己的记一下弹层(z 95 盖在百问 z 80 上),「返回首页」= 关掉百问面板 -->
|
||||||
|
<script src="js/mb-tabbar.js?v=26110438"></script>
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
var d = document.getElementById('detailQA'); if (!d || !window.MBTab) return;
|
||||||
|
MBTab.init({ root: './', mount: d, first: { t: '孕期百问', ic: 'qa' },
|
||||||
|
onFirst: function () { var b = d.querySelector('.detail-body'); b && b.scrollTo({ top: 0, behavior: 'smooth' }); },
|
||||||
|
onRec: function () { var f = document.querySelector('[data-sheet="open"]'); f && f.click(); },
|
||||||
|
onHome: function () { var c = d.querySelector('[data-detail="close"]'); c && c.click(); } });
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
/* 11-02 首页「孕妈广场」效果稿:地址带 ?gcv=1~6 时,把 #gcHome 换成 demo/gch/vN.css + vN.js 的版式并滚到这一块。
|
/* 11-02 首页「孕妈广场」效果稿:地址带 ?gcv=1~6 时,把 #gcHome 换成 demo/gch/vN.css + vN.js 的版式并滚到这一块。
|
||||||
11-02 用户:「用第一版,放到预览页面上」;后改定彩色卡 → 不带参数也默认用 V6 合并版(广场卡堆 + 其他妈妈也在搜 + 测一测第 4 版彩色卡),不滚动、不显示效果稿角标 */
|
11-02 用户:「用第一版,放到预览页面上」;后改定彩色卡 → 不带参数也默认用 V6 合并版(广场卡堆 + 其他妈妈也在搜 + 测一测第 4 版彩色卡),不滚动、不显示效果稿角标 */
|
||||||
@@ -2630,7 +2643,7 @@
|
|||||||
if (gchDone || !window.__mbUgc) return; gchDone = true;
|
if (gchDone || !window.__mbUgc) return; gchDone = true;
|
||||||
var m = location.search.match(/[?&]gcv=([1-6])(?:&|$)/);
|
var m = location.search.match(/[?&]gcv=([1-6])(?:&|$)/);
|
||||||
if (!m) window.__gcDefault = 1;
|
if (!m) window.__gcDefault = 1;
|
||||||
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110437';
|
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110438';
|
||||||
var dir = n === '4' || n === '6' ? 'js/gch/' : 'demo/gch/'; /* 11-03 上正式:定稿 V6(含它套的 V4)并进 js/gch/,其余效果稿仍在 demo/ */
|
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;
|
l.rel = 'stylesheet'; l.href = dir + 'v' + n + '.css?' + q;
|
||||||
s.src = dir + 'v' + n + '.js?' + q;
|
s.src = dir + 'v' + n + '.js?' + q;
|
||||||
@@ -2645,7 +2658,7 @@
|
|||||||
/* 11-02 品牌露出(用户定 4 处都要):默认加载,?brand=0 可关掉对比;11-03 已并进 js/gch/ */
|
/* 11-02 品牌露出(用户定 4 处都要):默认加载,?brand=0 可关掉对比;11-03 已并进 js/gch/ */
|
||||||
if (!/[?&]brand=0/.test(location.search)) {
|
if (!/[?&]brand=0/.test(location.search)) {
|
||||||
var bl = document.createElement('link'), bs = document.createElement('script');
|
var bl = document.createElement('link'), bs = document.createElement('script');
|
||||||
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110437'; bs.src = 'js/gch/brand.js?v=26110437';
|
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110438'; bs.src = 'js/gch/brand.js?v=26110438';
|
||||||
document.head.appendChild(bl); document.body.appendChild(bs);
|
document.head.appendChild(bl); document.body.appendChild(bs);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
@@ -2656,7 +2669,7 @@
|
|||||||
<script src="js/hero-fx.js"></script>
|
<script src="js/hero-fx.js"></script>
|
||||||
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
|
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
|
||||||
<script src="js/baby-limbs.js?v=26101201"></script>
|
<script src="js/baby-limbs.js?v=26101201"></script>
|
||||||
<script src="js/coach.js?v=26110437"></script>
|
<script src="js/coach.js?v=26110438"></script>
|
||||||
<script src="js/birth-flow.js?v=26110201"></script>
|
<script src="js/birth-flow.js?v=26110201"></script>
|
||||||
|
|
||||||
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
|
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||||
var VER = '26110437';
|
var VER = '26110438';
|
||||||
const $ = (s, c) => (c || document).querySelector(s);
|
const $ = (s, c) => (c || document).querySelector(s);
|
||||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||||
|
|
||||||
|
|||||||
@@ -244,5 +244,5 @@
|
|||||||
}
|
}
|
||||||
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
|
/* feed.js 首页默认不加载(index.html 只引了 topics.js),这里按需拉一次 */
|
||||||
if (window.GC_FEED) init();
|
if (window.GC_FEED) init();
|
||||||
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110437'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
else { var fs = document.createElement('script'); fs.src = 'guangchang/feed.js?v=26110438'; fs.onload = fs.onerror = init; document.body.appendChild(fs); }
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
(function () {
|
(function () {
|
||||||
var sec = document.getElementById('gcHome');
|
var sec = document.getElementById('gcHome');
|
||||||
if (!sec) return;
|
if (!sec) return;
|
||||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110437';
|
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110438';
|
||||||
document.head.appendChild(l);
|
document.head.appendChild(l);
|
||||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110437';
|
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110438';
|
||||||
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
|
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
|
||||||
document.body.appendChild(s);
|
document.body.appendChild(s);
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
if (/[?&]kit=0(?:&|$)/.test(location.search)) return;
|
if (/[?&]kit=0(?:&|$)/.test(location.search)) return;
|
||||||
var box = document.getElementById('kit'), sec = document.getElementById('kitHome');
|
var box = document.getElementById('kit'), sec = document.getElementById('kitHome');
|
||||||
if (!box || !sec) return;
|
if (!box || !sec) return;
|
||||||
var V = '26110437';
|
var V = '26110438';
|
||||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/kit.css?v=' + V; document.head.appendChild(l);
|
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');
|
document.documentElement.classList.add('has-kit');
|
||||||
|
|
||||||
|
|||||||
193
js/mb-tabbar.js
Normal file
193
js/mb-tabbar.js
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
/* 底部胶囊 Tab(11-05 用户:「孕期百问、孕期计算器加上跟趣味小测试一样的底部 Tab」)
|
||||||
|
样式 / 行为照搬 guangchang/index.html 那条(左:本页 · 中:「记一下」橙色圆钮 · 右:返回首页 + 用户头像渐变圈),
|
||||||
|
类名统一加 mbt- 前缀,避免和首页自己的 .tabbar / .tab 撞车。
|
||||||
|
用法:MBTab.init({
|
||||||
|
root: '../../', // 到 mama-box 根目录的相对路径(取头像 / 回首页用)
|
||||||
|
first: { t: '孕期计算器', ic: 'calc' }, // 左边那格:本页名字 + 图标(calc / qa)
|
||||||
|
onFirst: fn, // 点左边(默认:滚回顶部)
|
||||||
|
onHome: fn, // 点「返回首页」(默认:跳 root 带身份)
|
||||||
|
onRec: fn, // 点「记一下」(默认:自带弹层,列后台已上架的孕期工具,同广场)
|
||||||
|
mount: el, scroller: el // 挂在哪(默认 body,position:fixed);滚回顶部用的容器
|
||||||
|
}) */
|
||||||
|
(function (g) {
|
||||||
|
'use strict';
|
||||||
|
var CSS = '' +
|
||||||
|
'.mbt-fade{position:fixed;left:0;right:0;bottom:0;z-index:29;pointer-events:none;height:calc(96px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,246,241,0),rgba(255,246,241,.75))}' +
|
||||||
|
'.mbt{position:fixed;left:16px;right:16px;bottom:calc(22px + env(safe-area-inset-bottom));height:62px;z-index:30;border-radius:31px;padding:0 6px;display:grid;grid-template-columns:repeat(3,1fr);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}' +
|
||||||
|
'.mbt::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:#FFF9F5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85),inset 0 1px 0 #fff;' +
|
||||||
|
'-webkit-mask:radial-gradient(circle 31px at 50% 6px,transparent 30.5px,#000 31.5px);mask:radial-gradient(circle 31px at 50% 6px,transparent 30.5px,#000 31.5px)}' +
|
||||||
|
'.mbt::after{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;pointer-events:none;box-shadow:0 14px 34px rgba(200,100,70,.2),0 2px 6px rgba(200,100,70,.06)}' +
|
||||||
|
'.mbt-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 0 6px;border:0;background:none;font-family:inherit;color:#A3958D;cursor:pointer;-webkit-tap-highlight-color:transparent}' +
|
||||||
|
'.mbt-t.on{color:#F4593C}' +
|
||||||
|
'.mbt-i{width:25px;height:25px;display:block;position:relative}' +
|
||||||
|
'.mbt-i svg{display:block;width:100%;height:100%;overflow:visible}' +
|
||||||
|
'.mbt-i .tf,.mbt-i .tl{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}' +
|
||||||
|
'.mbt-t.on .tf{fill:currentColor}.mbt-t.on .tl{stroke:#fff}' +
|
||||||
|
'.mbt-x{font-size:12.5px;font-weight:600;line-height:1.1;letter-spacing:.2px;white-space:nowrap}.mbt-t.on .mbt-x{font-weight:800}' +
|
||||||
|
'.mbt-t::after{content:"";position:absolute;left:50%;bottom:6px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#F4593C;opacity:0}.mbt-t.on::after{opacity:1}' +
|
||||||
|
'.mbt-fab::after{display:none}' +
|
||||||
|
'.mbt-fab .fab{position:absolute;left:50%;top:-20px;width:52px;height:52px;margin-left:-26px;border-radius:50%;display:grid;place-items:center;overflow:visible;' +
|
||||||
|
'background:linear-gradient(150deg,#FF8A6E,#F4593C);box-shadow:0 6px 14px rgba(244,89,60,.32),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}' +
|
||||||
|
'.mbt-fab .fab::before{content:"";display:block;width:20px;height:20px;opacity:.28;border-radius:2px;background:linear-gradient(#fff,#fff) center/100% 3px no-repeat,linear-gradient(#fff,#fff) center/3px 100% no-repeat}' +
|
||||||
|
'.mbt-fab:active .fab{transform:scale(.9)}' +
|
||||||
|
'.mbt-w{position:absolute;left:50%;top:50%;transform:translate(calc(-50% - 5px),-54%) rotate(-8deg);display:flex;align-items:center;white-space:nowrap;font-weight:900;font-style:normal;color:#4A1E14;line-height:1;pointer-events:none;' +
|
||||||
|
'text-shadow:1.6px 0 #fff,-1.6px 0 #fff,0 1.6px #fff,0 -1.6px #fff,1.2px 1.2px #fff,-1.2px 1.2px #fff,1.2px -1.2px #fff,-1.2px -1.2px #fff,0 3px 4px rgba(120,30,10,.25)}' +
|
||||||
|
'.mbt-w i{font-style:normal;font-size:31px}.mbt-w em{font-style:normal;font-size:12.5px;line-height:1;margin:9px 0 0;letter-spacing:-.5px}.mbt-w s{text-decoration:none;font-size:20px;display:inline-block;transform:skewX(-8deg)}' +
|
||||||
|
'.mbt-fab .mbt-x{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}' +
|
||||||
|
'.mbt-home .mbt-i{margin-bottom:6px}.mbt-home .mbt-x{font-size:11.5px;font-weight:600}' +
|
||||||
|
'.mbt-av{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);border-radius:50%;object-fit:cover;display:none;background:#fff;box-shadow:0 0 0 1.5px #fff,0 3px 10px rgba(226,105,74,.3)}' +
|
||||||
|
'.mbt-hm{position:absolute;right:-8px;bottom:-5px;width:15px;height:15px;z-index:1;border-radius:50%;display:none;background:linear-gradient(150deg,#E2694A,#C24E31);box-shadow:0 0 0 1.5px #FFF6F1}.mbt-hm svg{display:block;width:10px;height:10px;margin:2.5px}' +
|
||||||
|
'.mbt-i.has-av .mbt-av,.mbt-i.has-av .mbt-hm{display:block}.mbt-i.has-av svg.ts{visibility:hidden}' +
|
||||||
|
'.mbt-i.has-av::before{content:"";position:absolute;inset:-7px;border-radius:50%;z-index:-1;pointer-events:none;background:conic-gradient(from 200deg,#FFB38A,#F4593C,#E2694A,#FF8FA3,#FFB38A);' +
|
||||||
|
'-webkit-mask:radial-gradient(circle closest-side,transparent 82%,#000 85%);mask:radial-gradient(circle closest-side,transparent 82%,#000 85%)}' +
|
||||||
|
/* 「记一下」弹层(同广场:标题一行 + 4 列工具宫格) */
|
||||||
|
'.mbt-mask{position:fixed;inset:0;z-index:60;background:rgba(40,20,14,.38);opacity:0;pointer-events:none;transition:opacity .25s}.mbt-mask.on{opacity:1;pointer-events:auto}' +
|
||||||
|
'.mbt-sh{position:fixed;left:0;right:0;bottom:0;z-index:61;max-height:80vh;overflow:auto;padding:8px 18px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#FFF9F5;transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.9,.3,1);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}' +
|
||||||
|
'.mbt-sh.on{transform:none}' +
|
||||||
|
'.mbt-rh{display:flex;align-items:baseline;gap:10px;padding:10px 2px 14px}.mbt-rh b{font-size:19px;font-weight:800;color:#2A1E1E;flex:none}' +
|
||||||
|
'.mbt-rh span{font-size:12px;color:#9C8F88;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}' +
|
||||||
|
'.mbt-rx{flex:none;align-self:center;width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(120,70,50,.08);color:#9C8F88;font-size:18px;line-height:1;cursor:pointer}' +
|
||||||
|
'.mbt-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 6px;padding:4px 0 8px}' +
|
||||||
|
'.mbt-app{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;border:0;background:none;font-family:inherit;color:#2A1E1E;cursor:pointer}' +
|
||||||
|
'.mbt-app img,.mbt-app .rl{width:48px;height:48px;display:block;object-fit:contain;border-radius:14px}' +
|
||||||
|
'.mbt-app .rl{display:grid;place-items:center;background:#F6D9CB;color:#C2553A;font-size:19px;font-weight:800}' +
|
||||||
|
'.mbt-app span{display:block;max-width:100%;font-size:11.5px;font-weight:600;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}' +
|
||||||
|
'.mbt-app.off img,.mbt-app.off .rl{opacity:.45;filter:grayscale(.4)}' +
|
||||||
|
'.mbt-app.off i{position:absolute;top:-8px;left:calc(50% + 4px);font-style:normal;font-size:9px;font-weight:700;line-height:1;padding:3px 5px;border-radius:99px;background:#B9A9A2;color:#fff;white-space:nowrap}' +
|
||||||
|
'.mbt-empty{grid-column:1/-1;padding:30px 0;text-align:center;font-size:13px;color:#9C8F88}' +
|
||||||
|
'.mbt-toast{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom));z-index:70;max-width:80vw;padding:9px 14px;border-radius:12px;background:rgba(40,28,24,.86);color:#fff;font-size:13px;transform:translate(-50%,8px);opacity:0;transition:.25s;pointer-events:none}' +
|
||||||
|
'.mbt-toast.on{opacity:1;transform:translate(-50%,0)}';
|
||||||
|
var IC = {
|
||||||
|
calc: '<svg viewBox="0 0 24 24" aria-hidden="true"><rect class="tf" x="5" y="3.5" width="14" height="17" rx="2.8"/><path class="tl" d="M8.6 7.6h6.8M8.8 12h.01M12 12h.01M15.2 12h.01M8.8 15.6h.01M12 15.6h.01M15.2 15.6h.01" stroke-width="2.2"/></svg>',
|
||||||
|
qa: '<svg viewBox="0 0 24 24" aria-hidden="true"><path class="tf" d="M4 6.6A2.6 2.6 0 0 1 6.6 4h10.8A2.6 2.6 0 0 1 20 6.6v7.8a2.6 2.6 0 0 1-2.6 2.6H11l-4.2 3.2c-.4.3-.9 0-.9-.4V17A2.6 2.6 0 0 1 4 14.4z"/><path class="tl" d="M10.2 8.9a1.9 1.9 0 1 1 2.6 1.8c-.5.2-.8.6-.8 1.1v.4M12 14.2h.01"/></svg>'
|
||||||
|
};
|
||||||
|
var HOME = '<svg class="ts" viewBox="0 0 24 24" aria-hidden="true"><path class="tf" d="M4 10.4 12 4l8 6.4V18a2.4 2.4 0 0 1-2.4 2.4H6.4A2.4 2.4 0 0 1 4 18z"/><path class="tl" d="M9.8 20.2v-4.4a2.2 2.2 0 0 1 4.4 0v4.4"/></svg>';
|
||||||
|
|
||||||
|
function param(n) {
|
||||||
|
var m = location.search.match(new RegExp('[?&]' + n + '=([^&]*)')) || location.hash.match(new RegExp('[#&]' + n + '=([^&]*)'));
|
||||||
|
try { return m ? decodeURIComponent(m[1]) : ''; } catch (e) { return ''; }
|
||||||
|
}
|
||||||
|
function haptic() { try { navigator.vibrate && navigator.vibrate(8); } catch (e) {} }
|
||||||
|
function esc(s) { return String(s == null ? '' : s).replace(/[&<>"']/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]; }); }
|
||||||
|
var realAv = function (u) { return !!u && !/\/uploads\/system\//.test(u); };
|
||||||
|
function defAv(oid) { var h = 0, s = String(oid || ''); for (var i = 0; i < s.length; i++) h = (h * 31 + s.charCodeAt(i)) >>> 0; var n = (h % 20) + 1; return 'https://mp.yizhezhe.com/_bridge/avatars/mom-' + (n < 10 ? '0' : '') + n + '.png'; }
|
||||||
|
|
||||||
|
function init(o) {
|
||||||
|
o = o || {};
|
||||||
|
var root = o.root || '../../', mount = o.mount || document.body;
|
||||||
|
if (!document.getElementById('mbtCss')) { var st = document.createElement('style'); st.id = 'mbtCss'; st.textContent = CSS; document.head.appendChild(st); }
|
||||||
|
var fade = document.createElement('div'); fade.className = 'mbt-fade'; fade.setAttribute('aria-hidden', 'true');
|
||||||
|
var bar = document.createElement('nav'); bar.className = 'mbt';
|
||||||
|
var f = o.first || { t: '本页', ic: 'qa' };
|
||||||
|
bar.innerHTML = '<button type="button" class="mbt-t on" data-k="first"><span class="mbt-i">' + (IC[f.ic] || IC.qa) + '</span><span class="mbt-x">' + esc(f.t) + '</span></button>' +
|
||||||
|
'<button type="button" class="mbt-t mbt-fab" data-k="rec"><span class="fab"><b class="mbt-w" aria-hidden="true"><i>记</i><em>一下</em><s>!</s></b></span><span class="mbt-x">记一下</span></button>' +
|
||||||
|
'<button type="button" class="mbt-t mbt-home" data-k="home"><span class="mbt-i">' + HOME + '</span><span class="mbt-x">返回首页</span></button>';
|
||||||
|
mount.appendChild(fade); mount.appendChild(bar);
|
||||||
|
var OPENID = param('openid');
|
||||||
|
|
||||||
|
function homeURL() {
|
||||||
|
var q = [], oid = param('openid'), uid = param('unionid');
|
||||||
|
if (oid) q.push('openid=' + encodeURIComponent(oid));
|
||||||
|
if (uid) q.push('unionid=' + encodeURIComponent(uid));
|
||||||
|
return root + (q.length ? '#' + q.join('&') : location.hash);
|
||||||
|
}
|
||||||
|
function goApp(url) {
|
||||||
|
try { var u = new URL(url, location.href); if (u.origin === location.origin || /(^|\.)yizhezhe\.com$/.test(u.hostname)) url = u.pathname + u.search; } catch (e) {}
|
||||||
|
var q = [], oid = param('openid'), uid = param('unionid');
|
||||||
|
if (oid) q.push('openid=' + encodeURIComponent(oid));
|
||||||
|
if (uid) q.push('unionid=' + encodeURIComponent(uid));
|
||||||
|
if (!oid && !uid) q.push('__no_identity=1');
|
||||||
|
var target = url + (url.indexOf('?') >= 0 ? '&' : '?') + q.join('&');
|
||||||
|
try {
|
||||||
|
if (oid) {
|
||||||
|
var api = '/api/mp/public/last-app?openid=' + encodeURIComponent(oid) + '&url=' + encodeURIComponent(location.origin + url);
|
||||||
|
if (!(navigator.sendBeacon && navigator.sendBeacon(api)) && window.fetch) fetch(api, { method: 'POST', keepalive: true }).catch(function () {});
|
||||||
|
}
|
||||||
|
if (window.wxAuth && wxAuth.reportLocation) wxAuth.reportLocation({ href: target });
|
||||||
|
} catch (e) {}
|
||||||
|
location.href = target;
|
||||||
|
}
|
||||||
|
var tt;
|
||||||
|
function toast(s) {
|
||||||
|
var t = document.querySelector('.mbt-toast');
|
||||||
|
if (!t) { t = document.createElement('div'); t.className = 'mbt-toast'; document.body.appendChild(t); }
|
||||||
|
t.textContent = s; t.classList.add('on'); clearTimeout(tt); tt = setTimeout(function () { t.classList.remove('on'); }, 2200);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 「记一下」:后台 App 表已上架、category=孕期工具(同首页 / 广场);数胎动 16 / 数宫缩 20 / 胎儿估重 15 周前灰掉 */
|
||||||
|
var GATE = { taidong: [16, '数胎动'], gongsuopinlv: [20, '数宫缩'], taierguzhong: [15, '胎儿估重'] }, apps = null, busy = false, mask, sh;
|
||||||
|
var myWeek = (function () { try { var w = JSON.parse(localStorage.getItem('mmbox.gcwk.v1') || 'null'); return w && !w.pp && w.w ? +w.w : 0; } catch (e) { return 0; } })();
|
||||||
|
function locked(a) { var x = GATE[a.identifier]; return x && myWeek && myWeek < x[0] ? x : null; }
|
||||||
|
function appsHTML() {
|
||||||
|
if (!apps) return '<div class="mbt-empty">加载中…</div>';
|
||||||
|
if (!apps.length) return '<div class="mbt-empty">暂时没取到工具,稍后再试</div>';
|
||||||
|
return apps.filter(function (a) { return !locked(a); }).concat(apps.filter(locked)).map(function (a) {
|
||||||
|
var x = locked(a), nm = a.name || a.identifier || '工具', ic = a.logo || a.icon;
|
||||||
|
return '<button type="button" class="mbt-app' + (x ? ' off' : '') + '" data-rid="' + esc(a.identifier || '') + '">' +
|
||||||
|
(ic ? '<img src="' + esc(ic) + '" alt="">' : '<b class="rl">' + esc(nm.slice(0, 1)) + '</b>') + '<span>' + esc(nm) + '</span>' + (x ? '<i>孕' + x[0] + '周开放</i>' : '') + '</button>';
|
||||||
|
}).join('');
|
||||||
|
}
|
||||||
|
function load() {
|
||||||
|
if (apps || busy) return; busy = true;
|
||||||
|
fetch('/api/mp/apps?isPublished=1&pageSize=200').then(function (r) { return r.ok ? r.json() : null; }).then(function (d) {
|
||||||
|
apps = ((d && d.result && d.result.items) || []).filter(function (a) { return a.url && a.category === '孕期工具'; })
|
||||||
|
.sort(function (x, y) { return (y.seq || 0) - (x.seq || 0) || (y.no || 0) - (x.no || 0); });
|
||||||
|
}).catch(function () { apps = []; }).then(function () { busy = false; var b = sh && sh.querySelector('.mbt-apps'); if (b) b.innerHTML = appsHTML(); });
|
||||||
|
}
|
||||||
|
function closeRec() { if (sh) { sh.classList.remove('on'); mask.classList.remove('on'); } }
|
||||||
|
function openRec() {
|
||||||
|
load();
|
||||||
|
if (!sh) {
|
||||||
|
mask = document.createElement('div'); mask.className = 'mbt-mask';
|
||||||
|
sh = document.createElement('div'); sh.className = 'mbt-sh'; sh.setAttribute('role', 'dialog');
|
||||||
|
document.body.appendChild(mask); document.body.appendChild(sh);
|
||||||
|
mask.addEventListener('click', closeRec);
|
||||||
|
sh.addEventListener('click', function (e) {
|
||||||
|
if (e.target.closest('.mbt-rx')) { closeRec(); return; }
|
||||||
|
var b = e.target.closest('[data-rid]'); if (!b || !apps) return;
|
||||||
|
var a = apps.filter(function (x) { return (x.identifier || '') === b.dataset.rid; })[0]; if (!a) return;
|
||||||
|
var x = locked(a);
|
||||||
|
if (x) { haptic(); toast(x[1] + '孕 ' + x[0] + ' 周以后开放,你现在孕 ' + myWeek + ' 周,还用不到哦'); return; }
|
||||||
|
haptic(); goApp(a.url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
sh.innerHTML = '<div class="mbt-rh"><b>记一下</b><span>兜爸心选的孕期工具</span><button type="button" class="mbt-rx" aria-label="关闭">×</button></div><div class="mbt-apps">' + appsHTML() + '</div>';
|
||||||
|
requestAnimationFrame(function () { mask.classList.add('on'); sh.classList.add('on'); });
|
||||||
|
}
|
||||||
|
|
||||||
|
bar.addEventListener('click', function (e) {
|
||||||
|
var b = e.target.closest('.mbt-t'); if (!b) return;
|
||||||
|
haptic();
|
||||||
|
var k = b.dataset.k;
|
||||||
|
if (k === 'first') { if (o.onFirst) o.onFirst(); else { var s = o.scroller || document.getElementById('scroll') || document.scrollingElement; s && s.scrollTo({ top: 0, behavior: 'smooth' }); } }
|
||||||
|
else if (k === 'rec') { if (o.onRec) o.onRec(); else openRec(); }
|
||||||
|
else if (o.onHome) o.onHome(); else location.href = homeURL();
|
||||||
|
});
|
||||||
|
|
||||||
|
/* 返回首页的头像(同广场):user-center/info 真头像 → hash 里的 avatar → 按 openid 固定默认头像;加载失败露回小房子 */
|
||||||
|
var ico = bar.querySelector('.mbt-home .mbt-i');
|
||||||
|
function paintAv(url) {
|
||||||
|
if (!url) return;
|
||||||
|
var im = ico.querySelector('.mbt-av');
|
||||||
|
if (!im) {
|
||||||
|
im = document.createElement('img'); im.className = 'mbt-av'; im.alt = ''; ico.appendChild(im);
|
||||||
|
ico.insertAdjacentHTML('beforeend', '<i class="mbt-hm" aria-hidden="true"><svg viewBox="0 0 24 24" fill="#fff"><path d="M12 4 3.5 11H6v8.5h4.5v-5h3v5H18V11h2.5z"/></svg></i>');
|
||||||
|
}
|
||||||
|
im.onload = function () { ico.classList.add('has-av'); };
|
||||||
|
im.onerror = function () { if (im.getAttribute('src') !== defAv(OPENID)) im.src = defAv(OPENID); else ico.classList.remove('has-av'); };
|
||||||
|
if (im.getAttribute('src') !== url) im.src = url;
|
||||||
|
}
|
||||||
|
function loadAv() {
|
||||||
|
if (!OPENID || !window.fetch) return;
|
||||||
|
fetch('/api/mp/public/user-center/info?openid=' + encodeURIComponent(OPENID) + (param('unionid') ? '&unionid=' + encodeURIComponent(param('unionid')) : ''))
|
||||||
|
.then(function (r) { return r.ok ? r.json() : null; }).then(function (d) {
|
||||||
|
var av = d && d.result && d.result.found && d.result.data && d.result.data.avatar;
|
||||||
|
if (realAv(av)) paintAv(av);
|
||||||
|
}).catch(function () {});
|
||||||
|
}
|
||||||
|
if (OPENID) { paintAv(realAv(param('avatar')) ? param('avatar') : defAv(OPENID)); loadAv(); }
|
||||||
|
window.addEventListener('pageshow', function (e) { if (e.persisted) loadAv(); });
|
||||||
|
return { bar: bar, fade: fade, openRec: openRec, closeRec: closeRec };
|
||||||
|
}
|
||||||
|
g.MBTab = { init: init };
|
||||||
|
})(window);
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
postMessage 不是实时投递,微信在分享那一刻才派发,所以每次换内容都要再报一次;子页面没引 jweixin,这里按需加载。 */
|
postMessage 不是实时投递,微信在分享那一刻才派发,所以每次换内容都要再报一次;子页面没引 jweixin,这里按需加载。 */
|
||||||
(function (g) {
|
(function (g) {
|
||||||
'use strict';
|
'use strict';
|
||||||
var V = '26110437';
|
var V = '26110438';
|
||||||
var isWx = /MicroMessenger/i.test(navigator.userAgent || '');
|
var isWx = /MicroMessenger/i.test(navigator.userAgent || '');
|
||||||
var waiting = [], loading = false;
|
var waiting = [], loading = false;
|
||||||
function ready(cb) {
|
function ready(cb) {
|
||||||
|
|||||||
@@ -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}';
|
'.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] || '';
|
var SLUG = (location.pathname.match(/\/topic\/([^\/]+)\//) || [])[1] || '';
|
||||||
/* 11-04 微信转发图:每个专题一张 assets/share/t/<slug>.jpg(核心词大字 + logo),见 js/share-card.js */
|
/* 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=26110437'; 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=26110438'; 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'; })();
|
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 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) {} }
|
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 getJSON(u) { return fetch(u, { cache: 'no-cache' }).then(function (r) { if (!r.ok) throw r.status; return r.json(); }); }
|
||||||
|
|
||||||
function related(box) {
|
function related(box) {
|
||||||
getJSON('../_shared/idx.json?v=26110437').then(function (idx) {
|
getJSON('../_shared/idx.json?v=26110438').then(function (idx) {
|
||||||
var me = null; idx.forEach(function (x) { if (x[0] === SLUG) me = x; });
|
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 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 关着不推两个测试 */
|
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) : ''))
|
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 () {});
|
.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=26110437').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
|
getJSON('../_shared/cm/' + SLUG + '.json?v=26110438').then(function (d) { L = d.c || []; paint(); }).catch(function () { paint(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
function ugcReady() {
|
function ugcReady() {
|
||||||
if (window.__mbUgcReady) return window.__mbUgcReady;
|
if (window.__mbUgcReady) return window.__mbUgcReady;
|
||||||
return new Promise(function (res) {
|
return new Promise(function (res) {
|
||||||
var u = document.createElement('script'); u.src = '../../js/ugc.js?v=26110437';
|
var u = document.createElement('script'); u.src = '../../js/ugc.js?v=26110438';
|
||||||
u.onload = function () { (window.__mbUgcReady || Promise.resolve(false)).then(res); };
|
u.onload = function () { (window.__mbUgcReady || Promise.resolve(false)).then(res); };
|
||||||
u.onerror = function () { res(false); };
|
u.onerror = function () { res(false); };
|
||||||
document.head.appendChild(u);
|
document.head.appendChild(u);
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
月数按「自然月」数:从 max(出生月, 2025-01) 起,到满 3 周岁那个月之前为止(结果标「约」,以当地核定为准)。
|
月数按「自然月」数:从 max(出生月, 2025-01) 起,到满 3 周岁那个月之前为止(结果标「约」,以当地核定为准)。
|
||||||
最多填 3 个孩子;还没出生的填预产期先算。地方另有加码的(如部分城市每孩另发)不在这里算。
|
最多填 3 个孩子;还没出生的填预产期先算。地方另有加码的(如部分城市每孩另发)不在这里算。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<div class="tip"><b>地方可能另有补贴:</b>部分城市在国家 3600 元之外还另发生育补贴、育儿补贴,问一下当地卫健部门或看政务平台。</div>
|
<div class="tip"><b>地方可能另有补贴:</b>部分城市在国家 3600 元之外还另发生育补贴、育儿补贴,问一下当地卫健部门或看政务平台。</div>
|
||||||
<p class="foot">依据《育儿补贴制度实施方案》(2025)估算,月数折算以当地核定为准。</p>
|
<p class="foot">依据《育儿补贴制度实施方案》(2025)估算,月数折算以当地核定为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -107,10 +107,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/butie-js.jpg', '育儿补贴:每孩每年 3600 元,你家能领多少'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/butie-js.jpg', '育儿补贴:每孩每年 3600 元,你家能领多少'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
||||||
<script src="../../js/ugc.js?v=26110437" data-guard></script>
|
<script src="../../js/ugc.js?v=26110438" data-guard></script>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
|
<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">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<title>测一测你是什么样的妈妈?</title>
|
<title>测一测你是什么样的妈妈?</title>
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
每次「查什么」只列常规项目,具体以产检医院安排为准。做完可以打勾(记在本机 mmbox.calc.chanjian)。
|
每次「查什么」只列常规项目,具体以产检医院安排为准。做完可以打勾(记在本机 mmbox.calc.chanjian)。
|
||||||
预产期优先用预产期计算器填过的值。
|
预产期优先用预产期计算器填过的值。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<div class="tip"><b>要空腹的几次:</b>第一次建档抽血、糖耐(OGTT)一般要空腹,前一晚 10 点后别吃东西;具体看医院通知。<br><b>错过不能补的:</b>NT(11~13+6 周)、大排畸(20~24 周)、糖耐(24~28 周)都有时间窗口,提前预约。</div>
|
<div class="tip"><b>要空腹的几次:</b>第一次建档抽血、糖耐(OGTT)一般要空腹,前一晚 10 点后别吃东西;具体看医院通知。<br><b>错过不能补的:</b>NT(11~13+6 周)、大排畸(20~24 周)、糖耐(24~28 周)都有时间窗口,提前预约。</div>
|
||||||
<p class="foot">按《孕前和孕期保健指南(2018)》常规时间排,具体项目和时间以产检医院安排为准。</p>
|
<p class="foot">按《孕前和孕期保健指南(2018)》常规时间排,具体项目和时间以产检医院安排为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -94,10 +94,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/chanjian-js.jpg', '产检时间表:每次产检哪天去、查什么'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/chanjian-js.jpg', '产检时间表:每次产检哪天去、查什么'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
<!-- 11-04 UGC 总开关关着时本页不展示,直接回首页(js/ugc.js) -->
|
||||||
<script src="../../js/ugc.js?v=26110437" data-guard></script>
|
<script src="../../js/ugc.js?v=26110438" data-guard></script>
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
|
<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">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<title>测一测:你家准爸爸是哪种队友?</title>
|
<title>测一测:你家准爸爸是哪种队友?</title>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
计算:综合所得年度税表(3%~45%,年减除 6 万);应纳税所得 = 12 ×(月薪 − 个人五险一金 − 其他专项附加)− 60000,
|
计算:综合所得年度税表(3%~45%,年减除 6 万);应纳税所得 = 12 ×(月薪 − 个人五险一金 − 其他专项附加)− 60000,
|
||||||
省的税 = 不扣宝宝那项的税 − 扣了之后的税。不含年终奖单独计税、劳务报酬等,结果为估算。
|
省的税 = 不扣宝宝那项的税 − 扣了之后的税。不含年终奖单独计税、劳务报酬等,结果为估算。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<style>:root{--c:#6C5BD6;--c2:#A595F2;--cbg:#F1EEFF}</style>
|
<style>:root{--c:#6C5BD6;--c2:#A595F2;--cbg:#F1EEFF}</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
<p class="foot">按现行个税政策估算,未含年终奖单独计税等情况,以个税 App 实际计算为准。</p>
|
<p class="foot">按现行个税政策估算,未含年终奖单独计税等情况,以个税 App 实际计算为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -82,10 +82,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/geshui-js.jpg', '个税省多少:有宝宝一年能少交多少税'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/geshui-js.jpg', '个税省多少:有宝宝一年能少交多少税'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
本省延长的天数是否由生育保险基金支付各地不一样,结果同时给出「按国家 98 天起」和「按本省合计」两个数。
|
本省延长的天数是否由生育保险基金支付各地不一样,结果同时给出「按国家 98 天起」和「按本省合计」两个数。
|
||||||
津贴低于本人工资的,多数省份规定由单位补足差额 —— 填了本人月工资就算出差额。
|
津贴低于本人工资的,多数省份规定由单位补足差额 —— 填了本人月工资就算出差额。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<div class="tip"><b>生育津贴 ≠ 生育医疗费:</b>产检、住院分娩的费用另外按生育保险报销,不在这个数里。</div>
|
<div class="tip"><b>生育津贴 ≠ 生育医疗费:</b>产检、住院分娩的费用另外按生育保险报销,不在这个数里。</div>
|
||||||
<p class="foot">按《社会保险法》《女职工劳动保护特别规定》常用算法估算,实际以当地医保部门核定为准。</p>
|
<p class="foot">按《社会保险法》《女职工劳动保护特别规定》常用算法估算,实际以当地医保部门核定为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -86,10 +86,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/jintie-js.jpg', '生育津贴计算器:产假期间能领多少钱'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/jintie-js.jpg', '生育津贴计算器:产假期间能领多少钱'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
|
|||||||
.toast{position:fixed;left:50%;bottom:calc(40px + env(safe-area-inset-bottom));z-index:50;transform:translate(-50%,10px);max-width:80%;padding:10px 16px;border-radius:12px;background:rgba(31,35,41,.86);color:#fff;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
|
.toast{position:fixed;left:50%;bottom:calc(40px + env(safe-area-inset-bottom));z-index:50;transform:translate(-50%,10px);max-width:80%;padding:10px 16px;border-radius:12px;background:rgba(31,35,41,.86);color:#fff;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
|
||||||
.toast.on{opacity:1;transform:translate(-50%,0)}
|
.toast.on{opacity:1;transform:translate(-50%,0)}
|
||||||
.mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC}
|
.mb-brand{text-align:center;color:#C29A8F;font-size:11.5px;line-height:1.7}.mb-brand img{display:block;width:86px;height:auto;margin:0 auto 6px;opacity:.6}.mb-brand p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;letter-spacing:.06em}.mb-brand p::before,.mb-brand p::after{content:'';width:28px;height:1px;background:#EAD3CC}
|
||||||
#scroll .mb-brand{margin:20px 0 0;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
|
#scroll .mb-brand{margin:20px 0 0;padding-bottom:calc(120px + env(safe-area-inset-bottom))} /* 给底部 Tab 让位 */
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -137,7 +137,10 @@ button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
|
|||||||
document.addEventListener('touchmove', function (e) { if (!sc.contains(e.target)) e.preventDefault(); }, { passive: false });
|
document.addEventListener('touchmove', function (e) { if (!sc.contains(e.target)) e.preventDefault(); }, { passive: false });
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<!-- 11-05 用户:底部加上跟趣味小测试一样的 Tab(孕期计算器 / 记一下 / 返回首页) -->
|
||||||
|
<script src="../../js/mb-tabbar.js?v=26110438"></script>
|
||||||
|
<script>MBTab.init({ root: '../../', first: { t: '孕期计算器', ic: 'calc' } });</script>
|
||||||
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/jisuan.jpg', '孕期计算器:生娃花费、预产期、产假天数,一算就知道'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/jisuan.jpg', '孕期计算器:生娃花费、预产期、产假天数,一算就知道'); /* 11-04 微信转发图 */</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
对比用国家卫健委《中国居民营养与慢性病状况报告(2020 年)》18~44 岁平均身高:男 169.7 cm、女 158.0 cm。
|
对比用国家卫健委《中国居民营养与慢性病状况报告(2020 年)》18~44 岁平均身高:男 169.7 cm、女 158.0 cm。
|
||||||
身高约 70% 看遗传,营养、睡眠、运动影响剩下的部分 —— 结果只是参考范围。
|
身高约 70% 看遗传,营养、睡眠、运动影响剩下的部分 —— 结果只是参考范围。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
<p class="foot">按遗传靶身高公式估算,再按家族身高、作息和运动习惯小幅调整;实际身高受营养、睡眠、运动和疾病等影响,仅供参考。</p>
|
<p class="foot">按遗传靶身高公式估算,再按家族身高、作息和运动习惯小幅调整;实际身高受营养、睡眠、运动和疾病等影响,仅供参考。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -89,10 +89,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/shengao-js.jpg', '宝宝身高预测:长大后大概多高'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/shengao-js.jpg', '宝宝身高预测:长大后大概多高'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
各地规定不一,页面写「以当地为准」。很多地方已开通「新生儿出生一件事」联办(出生证 + 户口 + 医保 + 社保卡一次办)。
|
各地规定不一,页面写「以当地为准」。很多地方已开通「新生儿出生一件事」联办(出生证 + 户口 + 医保 + 社保卡一次办)。
|
||||||
做完可以打勾(记在本机 mmbox.calc.shouxu);还没生的按预产期先排。
|
做完可以打勾(记在本机 mmbox.calc.shouxu);还没生的按预产期先排。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<div class="tip"><b>先查有没有「出生一件事」:</b>很多城市在支付宝、微信或当地政务 App 上能把出生医学证明、上户口、医保参保、社保卡一次办完,不用一趟趟跑。<br><b>要准备的:</b>爸妈身份证、户口本、结婚证、出生医学证明(宝宝名字定好再办)。</div>
|
<div class="tip"><b>先查有没有「出生一件事」:</b>很多城市在支付宝、微信或当地政务 App 上能把出生医学证明、上户口、医保参保、社保卡一次办完,不用一趟趟跑。<br><b>要准备的:</b>爸妈身份证、户口本、结婚证、出生医学证明(宝宝名字定好再办)。</div>
|
||||||
<p class="foot">各地规定和截止时间不完全一样,以当地公安、医保、卫健部门要求为准。</p>
|
<p class="foot">各地规定和截止时间不完全一样,以当地公安、医保、卫健部门要求为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -88,10 +88,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/shouxu-js.jpg', '出生后手续时间线:每件事截止哪天'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/shouxu-js.jpg', '出生后手续时间线:每件事截止哪天'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
顺带提示两种溶血风险:妈妈 Rh 阴性 + 爸爸 Rh 阳性(Rh 溶血,要查抗 D 抗体);妈妈 O 型 + 爸爸非 O 型(ABO 溶血,多数轻)。
|
顺带提示两种溶血风险:妈妈 Rh 阴性 + 爸爸 Rh 阳性(Rh 溶血,要查抗 D 抗体);妈妈 O 型 + 爸爸非 O 型(ABO 溶血,多数轻)。
|
||||||
顺式 AB(cis-AB)、孟买型等罕见情况不算,页面写明。
|
顺式 AB(cis-AB)、孟买型等罕见情况不算,页面写明。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
<p class="foot">按常规遗传规律估算,不能用来做亲子鉴定;顺式 AB、孟买型等罕见血型不在计算范围。</p>
|
<p class="foot">按常规遗传规律估算,不能用来做亲子鉴定;顺式 AB、孟买型等罕见血型不在计算范围。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -98,10 +98,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/xuexing-js.jpg', '宝宝血型推算:爸妈血型配宝宝会是什么型'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/xuexing-js.jpg', '宝宝血型推算:爸妈血型配宝宝会是什么型'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ button{cursor:pointer}
|
|||||||
.tip b{color:var(--h)}
|
.tip b{color:var(--h)}
|
||||||
.foot{margin:14px 20px 0;font-size:12px;color:var(--m);text-align:center;line-height:1.6}
|
.foot{margin:14px 20px 0;font-size:12px;color:var(--m);text-align:center;line-height:1.6}
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<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>
|
<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>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/yuchanqi-js.jpg', '预产期计算器:宝宝哪天到?还有几天见面'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/yuchanqi-js.jpg', '预产期计算器:宝宝哪天到?还有几天见面'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
价格是 2026 年市场行情的估算区间(月子中心 28 天套餐、金牌 / 普通月嫂 26 天、在家坐月子的食材营养 + 用品),按城市 × 档次取值,按天数折算;
|
价格是 2026 年市场行情的估算区间(月子中心 28 天套餐、金牌 / 普通月嫂 26 天、在家坐月子的食材营养 + 用品),按城市 × 档次取值,按天数折算;
|
||||||
不是报价,只帮用户比较三种方式的量级。改价格只改下面 P 表。
|
不是报价,只帮用户比较三种方式的量级。改价格只改下面 P 表。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<style>:root{--c:#C9658F;--c2:#F0A0C0;--cbg:#FCEEF4}</style>
|
<style>:root{--c:#C9658F;--c2:#F0A0C0;--cbg:#FCEEF4}</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<div class="tip"><b>看月子中心记得问清:</b>价格含不含宝宝护理、产后修复、家属餐和陪护床;护士是否 24 小时、一对几;有没有医护资质和儿科医生定期巡房。<br><b>请月嫂:</b>看健康证、育婴师证,最好先面试、试工,合同写清休息和换人规则。</div>
|
<div class="tip"><b>看月子中心记得问清:</b>价格含不含宝宝护理、产后修复、家属餐和陪护床;护士是否 24 小时、一对几;有没有医护资质和儿科医生定期巡房。<br><b>请月嫂:</b>看健康证、育婴师证,最好先面试、试工,合同写清休息和换人规则。</div>
|
||||||
<p class="foot">价格为 2026 年市场行情估算,各地差别很大,以实际报价为准。</p>
|
<p class="foot">价格为 2026 年市场行情估算,各地差别很大,以实际报价为准。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -71,10 +71,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/yuezi-js.jpg', '月子花费:月子中心、月嫂、在家坐各花多少'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/yuezi-js.jpg', '月子花费:月子中心、月嫂、在家坐各花多少'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -10,8 +10,8 @@
|
|||||||
孕月按 4 周一个月(孕 1~10 月);孕早期 < 14 周、孕中期 14~27+6 周、孕晚期 ≥ 28 周;37 周足月、42 周过期。
|
孕月按 4 周一个月(孕 1~10 月);孕早期 < 14 周、孕中期 14~27+6 周、孕晚期 ≥ 28 周;37 周足月、42 周过期。
|
||||||
宝宝像什么用全生态统一表 /common/baby-size.js(别自己维护)。预产期计算器填过的值直接拿来用。
|
宝宝像什么用全生态统一表 /common/baby-size.js(别自己维护)。预产期计算器填过的值直接拿来用。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<div class="tip"><b>孕周以早孕 B 超为准:</b>月经不规律或记不清末次月经时,医生会按孕早期 B 超(头臀长)定孕周。这里算的是常规算法,仅供参考。</div>
|
<div class="tip"><b>孕周以早孕 B 超为准:</b>月经不规律或记不清末次月经时,医生会按孕早期 B 超(头臀长)定孕周。这里算的是常规算法,仅供参考。</div>
|
||||||
<p class="foot">计算结果仅供参考,不能代替医生诊断。</p>
|
<p class="foot">计算结果仅供参考,不能代替医生诊断。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script src="/common/baby-size.js?v=26101001"></script>
|
<script src="/common/baby-size.js?v=26101001"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
@@ -109,10 +109,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/yunzhou-js.jpg', '孕周计算器:今天孕几周几天,宝宝像什么'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/yunzhou-js.jpg', '孕周计算器:今天孕几周几天,宝宝像什么'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
某一孕周的推荐范围 = 孕早期 0~2 kg + (孕周 − 13) × 每周范围,封顶到总范围。双胎按 IOM 2009(标准没覆盖双胎)。
|
某一孕周的推荐范围 = 孕早期 0~2 kg + (孕周 − 13) × 每周范围,封顶到总范围。双胎按 IOM 2009(标准没覆盖双胎)。
|
||||||
只算范围不做记录(11-04 用户:记体重是另一个记录工具)。
|
只算范围不做记录(11-04 用户:记体重是另一个记录工具)。
|
||||||
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
共用 ../_shared/calc.css + calc.js(返回 / 禁回弹 / 日期按北京时间 / 记住上次填的值);自成一页,不引 app.js。 -->
|
||||||
<link rel="stylesheet" href="../_shared/calc.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/calc.css?v=26110438">
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<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>
|
<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>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<div class="tip"><b>胖得太快或太慢都要留意:</b>增重过多容易妊娠糖尿病、巨大儿,过少可能影响宝宝发育。一周涨超过 1 公斤,或者突然腿脚、脸都肿,要尽快告诉医生。</div>
|
<div class="tip"><b>胖得太快或太慢都要留意:</b>增重过多容易妊娠糖尿病、巨大儿,过少可能影响宝宝发育。一周涨超过 1 公斤,或者突然腿脚、脸都肿,要尽快告诉医生。</div>
|
||||||
<p class="foot">依据 WS/T 801—2022《妊娠期妇女体重增长推荐值标准》;双胎参考美国医学研究所 IOM 2009。仅供参考。</p>
|
<p class="foot">依据 WS/T 801—2022《妊娠期妇女体重增长推荐值标准》;双胎参考美国医学研究所 IOM 2009。仅供参考。</p>
|
||||||
</div>
|
</div>
|
||||||
<script src="../_shared/calc.js?v=26110437"></script>
|
<script src="../_shared/calc.js?v=26110438"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -95,10 +95,10 @@
|
|||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<script src="../_shared/brand.js?v=26110203"></script>
|
<script src="../_shared/brand.js?v=26110203"></script>
|
||||||
<script src="../../js/share-card.js?v=26110437"></script>
|
<script src="../../js/share-card.js?v=26110438"></script>
|
||||||
<script>window.mbShare('../../assets/share/t/zengzhong-js.jpg', '孕期增重范围:孕期胖多少才合适'); /* 11-04 微信转发图 */</script>
|
<script>window.mbShare('../../assets/share/t/zengzhong-js.jpg', '孕期增重范围:孕期胖多少才合适'); /* 11-04 微信转发图 */</script>
|
||||||
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
<!-- 11-04 分步模式:一步一题、最后出结果(同生娃计算器),见 ../_shared/wizard.js -->
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
<script>CKW.init({ root: '.calc', res: '#res', after: '#scroll > section.calc ~ *' });</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -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)}
|
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>
|
</style>
|
||||||
<!-- 11-04 计算器模式(calc=1)走分步:一步一题、最后出结果,见 ../_shared/wizard.js -->
|
<!-- 11-04 计算器模式(calc=1)走分步:一步一题、最后出结果,见 ../_shared/wizard.js -->
|
||||||
<link rel="stylesheet" href="../_shared/wizard.css?v=26110437">
|
<link rel="stylesheet" href="../_shared/wizard.css?v=26110438">
|
||||||
<script src="../_shared/wizard.js?v=26110437"></script>
|
<script src="../_shared/wizard.js?v=26110438"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">
|
<svg class="hide" aria-hidden="true" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
|||||||
Reference in New Issue
Block a user