悄悄话入口挪进孕妈广场(首页模块底部 + 广场页祈福树下),?wh=1 直开星空页;v26110607

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-07 01:37:55 +00:00
parent 2fbb76c60b
commit f3072e5617
7 changed files with 115 additions and 35 deletions

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26110605';
var VER = '26110607';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -4453,25 +4453,10 @@
const oid = () => hashParam('openid');
const list = () => (data && data.list) || [];
/* ---------- 每周话题(2026-10-02 用户:「一周一个主题,要么大家也不知道说什么」)----------
一条 = 从 from(北京时间那周的周一)起生效,直到下一条的 from;所以表里永远取「from ≤ 今天」的最后一条,
没配新话题时沿用上一周的,不会空着。换话题 = 往表尾追加一条。
后端将来若在 /whisper 返回 theme(同结构),以后端为准。
presets 只是「不知道说什么?点一句」的示范句,发出去时不在服务端预设库里 → 照常走微信内容安全审核。 */
const WH_THEMES = [
/* 2026-10-02 用户:本周话题由「对宝宝说的话」改成「对老公说的话」;2026-11-01 用户:改成「对未来宝宝说的话」 */
{ from: '2026-09-28', name: '对未来宝宝说的话',
tip: '想对还没见面的宝宝说的,悄悄放进星空',
say: '对未来宝宝说一句悄悄话', ph: '宝宝,妈妈想跟你说……',
presets: ['宝宝,妈妈每天都在等你', '不用多优秀,健康快乐就好', '今天你踢了我好多下,妈妈都记着呢',
'等你来了,带你去看海', '谢谢你选中我做你的妈妈', '我们很快就见面啦'] },
];
/* ---------- 每周话题:表在 js/wh-themes.js(2026-11-07 抽出,孕妈广场也要用)---------- */
function theme() {
if (data && data.theme && data.theme.name) return data.theme;
const d = new Date(Date.now() + 8 * 3600e3).toISOString().slice(0, 10);
let t = null;
WH_THEMES.forEach(x => { if (x.from <= d) t = x; });
return t;
return window.MB_WH_THEME ? window.MB_WH_THEME() : null;
}
/* ---------- 首页入口:一句轮播 ---------- */
@@ -4851,9 +4836,16 @@
if (!page.classList.contains('show')) paintPage();
}
show(true);
if (autoOpen) { autoOpen = false; openPage(); }
})
.catch(() => { if (!silent) show(false); });
}
/* 2026-11-07 孕妈广场页的悄悄话条点了跳回首页带 ?wh=1 → 数据回来直接打开星空页;参数用完就去掉,刷新不再弹 */
let autoOpen = /[?&]wh=1(?:&|$)/.test(location.search);
if (autoOpen && history.replaceState) {
const q = new URLSearchParams(location.search); q.delete('wh');
history.replaceState(history.state, '', location.pathname + (q.toString() ? '?' + q : '') + location.hash);
}
whLoad = w => load(w, w === wk); /* 同一孕周的重拉(「此刻」每 60 秒一次)按静默刷新走:失败不收入口 */
setInterval(() => { if (wk && !document.hidden && !busy) load(wk, true); }, 300000);

View File

@@ -97,7 +97,7 @@
var REC = ['taidong', 'yunqitizhong', 'yun', 'yunqixuetang', 'gongsuopinlv', 'taierguzhong', 'chanjianrili', 'bushui']
.map(function (t) { return '#htGrid .tg[data-tool="' + t + '"]'; }).join(',');
var SEL = {
home: REC + ',#vitals .vt-it,.tab-fab,.fab,.fab-w,#htEdit,.tg-add,#homeExchMod,#meExchCard,#meExchGo,#meExchOrders,#bbBanner,[data-modal="modalProfile"],[data-modal="modalWhisper"],#bfMe,.preg-card',
home: REC + ',#vitals .vt-it,.tab-fab,.fab,.fab-w,#htEdit,.tg-add,#homeExchMod,#meExchCard,#meExchGo,#meExchOrders,#bbBanner,[data-modal="modalProfile"],[data-modal="modalWhisper"],#bfMe,.preg-card,#whSay,[data-hug]',
plaza: '#blk,#bfv,#csend,#cpic,#cemo,#cpOk,[data-like],[data-cl],[data-rk],#cmgo,[data-write],[data-mywrite],#tabRec',
topic: '.tc-lk,.tc-go,.tc-in .pic-b,.tc-in .emo-b'
};

17
js/wh-themes.js Normal file
View File

@@ -0,0 +1,17 @@
/* 孕妈悄悄话 · 每周话题表(2026-11-07 从 app.js 抽出来,首页和孕妈广场共用)。
一条 = 从 from(北京时间那周的周一)起生效,直到下一条的 from;取「from ≤ 今天」的最后一条,没配新话题时沿用上一周的。
换话题 = 往表尾追加一条。后端将来若在 /whisper 返回 theme(同结构),以后端为准。
presets 只是「不知道说什么?点一句」的示范句,发出去照常走微信内容安全审核。 */
window.MB_WH_THEMES = [
/* 2026-10-02 用户:本周话题由「对宝宝说的话」改成「对老公说的话」;2026-11-01 用户:改成「对未来宝宝说的话」 */
{ from: '2026-09-28', name: '对未来宝宝说的话',
tip: '想对还没见面的宝宝说的,悄悄放进星空',
say: '对未来宝宝说一句悄悄话', ph: '宝宝,妈妈想跟你说……',
presets: ['宝宝,妈妈每天都在等你', '不用多优秀,健康快乐就好', '今天你踢了我好多下,妈妈都记着呢',
'等你来了,带你去看海', '谢谢你选中我做你的妈妈', '我们很快就见面啦'] },
];
window.MB_WH_THEME = function () {
var d = new Date(Date.now() + 8 * 3600e3).toISOString().slice(0, 10), t = null;
window.MB_WH_THEMES.forEach(function (x) { if (x.from <= d) t = x; });
return t;
};