mama-box 首页与底tab 第九批: 卡2 生长曲线→数宫缩(gongsuopinlv), 档案tab跳孕检日历, 来信tab改兜爸心选商城(购物袋图标+红点移到首页), 隐藏专属福利; 工具链接统一 mp 业务域名 (v26091601)

This commit is contained in:
2026-09-16 16:34:28 +08:00
parent 7868556042
commit 60bc63a870
4 changed files with 70 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26090817';
var VER = '26091601';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -156,14 +156,17 @@
catch (e) { el.scrollTop = 0; }
}
/* 「档案」tab 一期跳独立 H5(yunqi-dangan)。
⚠️ 内置档案屏(#screen-archive)暂时屏蔽:数据来源未确认,不放进一期给用户。
/* 「档案」tab 一期跳独立 H5。第九批(2026-09-16)按用户要求把落点从
「孕期档案管理 yunqi-dangan」改成「孕检日历 chanjian-rili」。
⚠️ 地址必须走业务域名 mp.yizhezhe.com(小程序 web-view 只放行业务域名,
taidong.douba.top 直连会被拦),所以这里用的是 nginx 反代入口,不是源站直连。
⚠️ 内置档案屏(#screen-archive)依旧屏蔽:数据来源未确认,不放进一期给用户。
屏的代码/样式全部保留,后续确认数据源后把这里改回 go('archive') 原逻辑即可。
身份转发:把当前 openid/unionid 带过去(query + hash 双写,对齐身份注入惯例)。 */
function goArchiveH5() {
const oid = hashParam('openid');
const uid = hashParam('unionid');
let u = 'https://mp.yizhezhe.com/yunqi-dangan/';
let u = 'https://mp.yizhezhe.com/chanjian-rili/';
const q = [];
if (oid) q.push('openid=' + encodeURIComponent(oid));
if (uid) q.push('unionid=' + encodeURIComponent(uid));
@@ -483,23 +486,26 @@
}));
/* 首页宫格入口。
五个坑位里有三个已经有真站点了,点了直接跳过去;剩下两个(数胎动 / 生长曲线)
还没有后端,维持原来弹 toast 的占位行为,不假装能打开。
五个坑位现在**全部**指向已上架应用(都由 App 表下发 URL),没有占位 toast 了;
某张卡的 identifier 在 App 表里查不到 / 没配 URL 时,才退回「即将上线」提示。
跳转用 location.href 走**当前标签页**:这个壳是照着原生 App 做的,
新开标签会在微信 / Safari 里堆出一串返回不去的页面;同页跳转的话,
浏览器返回键就是天然的「返回」。 */
/* 首页五张工具卡 → 已上架应用(identifier 在应用管理维护,后台改 URL 即生效)。
⚠️ 不再裸跳旧 beian*.douba.top 域名:统一走 jumpApp 带身份(openid/unionid)。 */
⚠️ 不再裸跳旧 beian*.douba.top 域名:统一走 jumpApp 带身份(openid/unionid)。
⚠️ App 表里的 URL 一律用业务域名 mp.yizhezhe.com/<slug>/(nginx 反代到源站)——
小程序 web-view 只放行业务域名,写 taidong.douba.top 直连会被拦。
第九批(2026-09-16):curve 从「生长曲线 taiershengzhang」改成「数宫缩 gongsuopinlv」。 */
const MINI_APP_MAP = {
kick: 'taidong', // 数胎动 (1005)
weight: 'yunqitizhong', // 孕期体重管理 (1012)
cal: 'chanjianrili', // 孕检日历 (1009)
curve: 'taiershengzhang', // 生长曲线 (1013)
curve: 'gongsuopinlv', // 数宫缩(原「生长曲线」,第九批换坑位)
fweight:'taierguzhong' // 胎儿估重 (1037)
};
const APP_BY_ID = {};
$$('[data-mini]').forEach(b => b.addEventListener('click', () => {
const map = { kick: '数胎动', weight: '孕期体重', cal: '孕检日历', curve: '生长曲线', fweight: '胎儿估重' };
const map = { kick: '数胎动', weight: '孕期体重', cal: '孕检日历', curve: '数宫缩', fweight: '胎儿估重' };
const app = APP_BY_ID[MINI_APP_MAP[b.dataset.mini]];
if (app && app.url) { jumpApp(app.url); return; }
toast('「' + map[b.dataset.mini] + '」即将上线');
@@ -4442,7 +4448,10 @@
toast('请在微信小程序中打开商城');
}
}
$$('#btnMall, #meMallCard').forEach(function (b) {
/* 第九批:底部 tab「兜爸心选」(#tabMall)也走同一个 goMall()。
它**不挂 data-tab**,因此不在上面的 tabs 集合里、不参与 go() 高亮切换;
点击只做「跳商城」这一件事。落点与「我的」页「进入商城」完全一致。 */
$$('#btnMall, #meMallCard, #tabMall').forEach(function (b) {
b.addEventListener('click', goMall);
});