47 lines
3.3 KiB
JavaScript
47 lines
3.3 KiB
JavaScript
/* 11-03 用户:「把此刻那个板块改成测一测、科普、还有计算器」(先在预览改)
|
||
二改(同日):「不是进去测一个,而是进去之后是列表页……名字改改,要不大家也不知道测一测是啥」
|
||
→ 位置不变(「我的孕期工具」卡底部,原 #pulse 处),叫「孕期百宝箱」,一排三个入口,各进各的列表页:
|
||
· 趣味小测试 → 孕妈广场「测一测」列表(guangchang/?c=ceshi,30 个测试)
|
||
· 孕期百问 → 首页全部问题页(app.js openQA,标题换成「孕期百问」,按孕周排)
|
||
· 孕期计算器 → topic/jisuan/(新做的列表页:生娃花费、产假天数、胎儿体重、孕期增重)
|
||
原「此刻」#pulse 只是藏起来(kit.css),JS 照跑(别的地方要用它的总人数);地址带 ?kit=0 可看回旧版对比。 */
|
||
(function () {
|
||
if (/[?&]kit=0(?:&|$)/.test(location.search)) return;
|
||
var box = document.getElementById('kit');
|
||
if (!box) return;
|
||
var V = '26110260';
|
||
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');
|
||
|
||
function cleanQ(extra) {
|
||
var q = new URLSearchParams(location.search);
|
||
['t', 'n', 'c', 'id', 'mine', 'write', 'fav', 'kit'].forEach(function (k) { q.delete(k); });
|
||
if (extra) Object.keys(extra).forEach(function (k) { q.set(k, extra[k]); });
|
||
var s = q.toString(); return (s ? '?' + s : '') + location.hash;
|
||
}
|
||
var E = [
|
||
{ k: 'qz', n: '趣味小测试', d: '1 分钟出结果,测测你是哪种孕妈', c: '30 个测试', img: 'ceshi' },
|
||
{ k: 'qa', n: '孕期百问', d: '孕妈最常问的问题,一次看明白', c: '100 个问题', img: 'kepu' },
|
||
{ k: 'js', n: '孕期计算器', d: '花多少钱、休几天产假,算一算', c: '4 个计算器', img: 'jisuan' }
|
||
];
|
||
box.innerHTML = '<div class="kit-hd"><b>孕期百宝箱</b><span>测一测 · 查一查 · 算一算</span></div><div class="kit-g">' +
|
||
E.map(function (x) {
|
||
return '<button type="button" class="kit-e e-' + x.k + '" data-k="' + x.k + '"><img src="assets/img/kit/' + x.img + '.webp" alt="" decoding="async">' +
|
||
'<b>' + x.n + '</b><span>' + x.d + '</span><em>' + x.c + '<i aria-hidden="true">›</i></em></button>';
|
||
}).join('') + '</div>';
|
||
box.classList.remove('hide');
|
||
/* 个数跟着真实数据走(测试表 / 问题库加载到了就换真数) */
|
||
function setCnt(k, t) { var e = box.querySelector('.e-' + k + ' em'); if (e) e.firstChild.nodeValue = t; }
|
||
if (window.GC_TESTS_META) setCnt('qz', window.GC_TESTS_META.length + ' 个测试');
|
||
fetch('assets/data/qa/hot.json?v=' + V).then(function (r) { return r.ok ? r.json() : []; }).then(function (a) { if (a && a.length) setCnt('qa', a.length + ' 个问题'); }).catch(function () {});
|
||
|
||
box.addEventListener('click', function (e) {
|
||
var b = e.target.closest('.kit-e'); if (!b) return;
|
||
try { navigator.vibrate && navigator.vibrate(8); } catch (x) {}
|
||
var k = b.dataset.k;
|
||
if (k === 'qz') location.href = 'guangchang/' + cleanQ({ c: 'ceshi' });
|
||
else if (k === 'js') location.href = 'topic/jisuan/' + cleanQ();
|
||
else if (window.__mbOpenQA) window.__mbOpenQA('孕期百问');
|
||
});
|
||
})();
|