feat(首页): 新增 3D 婴儿房入口卡(小房子造型、昼夜两版),放在今天的动线与书架之间 (v26100110)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 07:33:37 +00:00
parent 4637412e26
commit df95d1fae0
4 changed files with 115 additions and 4 deletions

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26100109';
var VER = '26100110';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -1053,6 +1053,7 @@
function syncPregnancy() {
/* 孕期小知识:只认真实孕周(自己判显隐,见 renderTips) */
renderTips();
nurseryCopy();
/* ---- 产后态:宝宝已出生 → 一律不显示孕周数字(2026-09-22) ----
⚠️ 必须放在 pregEmpty 之前:产后返回体的 week 也是 null,
落到空态分支会给**已经生产**的用户弹「完善孕期信息」引导。
@@ -3097,6 +3098,32 @@
}, 2600);
})();
/* ================= 3D 婴儿房 · 入口(2026-10-01)=================
地址由「3D 婴儿房」会话(33d6c837)维护;对方目前不读任何参数,jumpApp 多带的 openid 无害(以后接后端正好用上)。
· 昼夜:北京时间 19:00–6:00 挂 .is-night(和婴儿房里的昼夜灯光呼应);每 10 分钟查一次,跨点时自己换。
· 文案:syncPregnancy() 调 nurseryCopy(),只认真实孕周(同孕期小知识的口径)。 */
const NURSERY_URL = 'https://beian3.douba.top/yef/';
const NURSERY_ID = 'yef-nursery';
function nurseryCopy() {
const sub = $('#nySub');
if (!sub) return;
const left = (state.pregEmpty === false && !state.postpartum) ? 40 - (state.week || 0) : -1;
sub.innerHTML = left > 1 ? '再过 <b>' + left + '</b> 周 TA 就要住进来啦,<br>攒兜豆换小床、墙纸和挂饰'
: left >= 0 ? 'TA 马上就要住进来啦,<br>攒兜豆换小床、墙纸和挂饰'
: '做孕期任务攒兜豆,<br>换小床、墙纸和挂饰';
}
(function nurseryCard() {
const sec = $('#nursery');
if (!sec) return;
$('#nyCard').addEventListener('click', () => jumpApp(NURSERY_URL, NURSERY_ID));
const tick = () => {
const h = new Date(Date.now() + 8 * 3600e3).getUTCHours(); // 北京时间
sec.classList.toggle('is-night', h >= 19 || h < 6);
};
tick(); setInterval(tick, 600e3);
nurseryCopy();
})();
/* ================= 此刻,孕妈们在做什么(2026-10-01,需求文档 v1.0 第二节) =================
GET /api/mp/public/mama-box/pulse(免登录、所有人同一份)→ { show, total, today[], feed[] }。
· 数据是模拟还是真实由 box_app 后台 pulseMode 决定,前端不区分、不兜底造数:show=false / 接口失败 → 整卡隐藏。