其他妈妈也在搜按孕周分 6 段:首条固定生娃计算器 + 本段 4 条 + 通用 1 条;新增 50 个分段专题页(问题库共 100);全部问题页加「孕 N 周」筛选;v26110201

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-02 05:28:58 +00:00
parent be74d7cf35
commit 7e02da209b
106 changed files with 14995 additions and 67 deletions

View File

@@ -19,13 +19,12 @@
sec.classList.add('gv6');
var mk = sec.querySelector('.g4-mark'); if (mk) { if (window.__gcDefault) mk.remove(); else mk.textContent = '效果稿 V6'; }
var old = document.getElementById('pregTips'); if (old) old.style.display = 'none';
var wk = document.getElementById('msWk'), wkT = wk && wk.textContent.trim();
var box = document.createElement('div');
box.className = 'g6-ms';
box.innerHTML =
'<div class="g6-mh"><h3 class="g6-mt"><span>其他妈妈也在搜</span></h3>' +
'<span class="ms-live" aria-hidden="true">' + FIRE.replace('currentColor', 'currentColor') + '实时热搜</span>' +
(wkT ? '<span class="g6-wk">' + esc(wkT) + '</span>' : '') + '</div>' +
'</div>' +
'<div class="ms-list g6-list"></div>' +
'<button type="button" class="ms-all g6-all hide"></button>';
var foot = sec.querySelector('.g4-foot');
@@ -70,16 +69,26 @@
sec.insertBefore(qz, foot);
var list = box.querySelector('.g6-list'), all = box.querySelector('.g6-all');
var tot = (window.__mbPulse && window.__mbPulse.total && +window.__mbPulse.total.value) || 1510000;
fetch('assets/data/qa/hot.json?' + Date.now()).then(function (r) { return r.ok ? r.json() : []; }).catch(function () { return []; }).then(function (bank) {
if (!bank || !bank.length) { box.style.display = 'none'; return; }
/* 上面「测一测」已经放了的测试,列表里不再重复,往后顺延 */
var QH = QZ.map(function (q) { return q.href; });
list.innerHTML = bank.filter(function (x) { return QH.indexOf(x.href) < 0; }).slice(0, 6).map(function (x, i) {
/* 11-02 按孕周出题:挑题逻辑在 app.js(window.__mbQaPick:第 1 条固定生娃计算器 + 本孕周段 4 条 + 通用 1 条),孕期数据到了(mb-preg)再刷一次 */
var BANK = null;
function paintList() {
if (!BANK || !BANK.length) return;
var pg = window.__mbPreg || {}, w = pg.week || 0;
var tag = box.querySelector('.g6-wk');
if (w) { if (!tag) { tag = document.createElement('span'); tag.className = 'g6-wk'; box.querySelector('.g6-mh').appendChild(tag); } tag.textContent = '孕 ' + w + ' 周'; }
else if (tag) tag.remove();
var pick = window.__mbQaPick ? window.__mbQaPick(BANK, w) : BANK.slice(0, 6);
list.innerHTML = pick.map(function (x, i) {
var n = tot * (+x.heat || 0), heat = x.heat ? '<span class="ms-h">' + FIRE + '<b>' + (n >= 1e4 ? Math.round(n / 1e3) / 10 + '万' : Math.round(n)) + ' 人看过</b></span>' : '';
var bd = x.badge ? '<span class="ms-bd' + (x.badge === '爆' ? ' bao' : x.badge === '新' ? ' new' : '') + '">' + (x.badge === '爆' ? FIRE_W : '') + esc(x.badge) + '</span>' : '';
return '<a class="ms-it ripple" href="' + esc((x.href || '') + location.search + location.hash) + '"><i class="ms-no">' + (i + 1) + '</i>' +
'<span class="ms-m"><span class="ms-q">' + esc(x.q) + '</span>' + heat + '</span>' + bd + '<i class="ms-go">›</i></a>';
}).join('');
}
window.addEventListener('mb-preg', paintList);
fetch('assets/data/qa/hot.json?' + Date.now()).then(function (r) { return r.ok ? r.json() : []; }).catch(function () { return []; }).then(function (bank) {
if (!bank || !bank.length) { box.style.display = 'none'; return; }
BANK = bank; paintList();
if (bank.length > 6) {
all.textContent = '查看全部 ' + bank.length + ' 个问题 ›';
all.classList.remove('hide');