mama-box 首页与底tab 第九批: 卡2 生长曲线→数宫缩(gongsuopinlv), 档案tab跳孕检日历, 来信tab改兜爸心选商城(购物袋图标+红点移到首页), 隐藏专属福利; 工具链接统一 mp 业务域名 (v26091601)
This commit is contained in:
BIN
assets/img/b3253e3c7a83.png
Normal file
BIN
assets/img/b3253e3c7a83.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 514 B |
64
index.html
64
index.html
@@ -7,7 +7,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>兜爸心选 · 孕育陪伴</title>
|
||||
<!-- V:26090817 缓存版本标记:改 css/js 时同步 bump 该值,并给下方资源引用加 ?v= 以强制 webview 刷新子资源 -->
|
||||
<!-- V:26091601 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<link rel="stylesheet" href="mama-box.css">
|
||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
|
||||
</head>
|
||||
@@ -16,7 +16,10 @@
|
||||
<div class="phone" id="phone">
|
||||
<nav class="tabbar" id="tabbar">
|
||||
<button class="tab is-active" data-tab="home">
|
||||
<span class="t-ico ic-home"></span><span class="t-txt">首页</span>
|
||||
<!-- ⚠️ 未读红点 #tabBadge 本批(第九批)从原「宝宝来信」tab 挪到这里:
|
||||
那枚 tab 改成了商城入口(见下方 #tabMall),把信件未读红点挂在商城里会误导。
|
||||
挪动是纯 DOM 位置调整,syncLetterCounts/applyRemote* 仍只按 id 取,JS 一行没改。 -->
|
||||
<span class="t-ico ic-home"></span><span class="t-badge" id="tabBadge"></span><span class="t-txt">首页</span>
|
||||
</button>
|
||||
<button class="tab" data-tab="archive">
|
||||
<span class="t-ico ic-archive"></span><span class="t-txt">档案</span>
|
||||
@@ -24,17 +27,16 @@
|
||||
<button class="tab tab-fab" data-sheet="open">
|
||||
<span class="fab"><img src="assets/img/69818ea975da.png" alt="" aria-hidden="true"></span><span class="t-txt">记一下</span>
|
||||
</button>
|
||||
<button class="tab" data-tab="letter">
|
||||
<!-- ⚠️ 「宝宝来信」。上一批按需求整条线改口叫过「宝宝消息」,本批用户明确要求
|
||||
**退回「来信」**,全线七处一起退(底 tab、首页卡、详情页顶栏、珍贵时刻卡
|
||||
标题 + 出处、搜索占位符、搜索 chip)。
|
||||
退回之后那条老矛盾会跟着回来:列表本身是聊天气泡(头像 + 气泡 + 时间戳),
|
||||
tab 上写「来信」、点进去是一屏对话,字面上对不齐。这是用户看过两版之后
|
||||
**选定**的说法,不是漏改 —— 想再改回「消息」之前先去问,别自己动。
|
||||
⚠️ 这枚标签**不跟小名走**(syncBabyWords 有意不碰它):底 tab 是全局导航,
|
||||
跟着改会变成「小汤圆来信」,四个 tab 里只有这一个宽度会变;
|
||||
而且导航栏本来就该是固定坐标,不随用户数据浮动。 -->
|
||||
<span class="t-ico ic-letter"></span><span class="t-badge" id="tabBadge"></span><span class="t-txt">宝宝来信</span>
|
||||
<button class="tab" id="tabMall">
|
||||
<!-- ⚠️ 本批(第九批)按用户要求,把原「宝宝来信」这枚底 tab 改成「兜爸心选」商城入口。
|
||||
⚠️ 与「档案」tab 同款:**不挂 data-tab**,点了直接走 goMall() 跳小程序原生商城页
|
||||
(switchTab /pages/goods_cate/goods_cate),所以它**没有** is-active 高亮态,
|
||||
也不参与 go() 的 tab 高亮切换。
|
||||
⚠️ 来信屏 #screen-letter **没有被删**:它仍在 swipe() 的 order 里,左右滑动还能进;
|
||||
只是底 tab 不再提供入口(用户本批明确选择「保留屏幕、滑动仍可进入」)。
|
||||
想再把这枚 tab 挂回来信之前先去问,别自己动。
|
||||
⚠️ 未读红点已挪到「首页」tab(原 #tabBadge 的位置),别再挂回这枚商城 tab。 -->
|
||||
<span class="t-ico ic-shop"></span><span class="t-txt">兜爸心选</span>
|
||||
</button>
|
||||
<button class="tab" data-tab="me">
|
||||
<span class="t-ico ic-me"></span><span class="t-txt">我的</span>
|
||||
@@ -209,9 +211,18 @@
|
||||
</button>
|
||||
<!-- 生长曲线原来是 flex:1,把这一列剩下的高度全吃了(约 134px),
|
||||
而它的内容和上面的孕检日历一模一样多。压到 80px,
|
||||
省下的 54px 给下面那张「更多工具」。 -->
|
||||
省下的 54px 给下面那张「更多工具」。
|
||||
⚠️ 本批(第九批)把这张卡从「生长曲线」换成「数宫缩」:
|
||||
文案改这一行;落点改 app.js 的 MINI_APP_MAP.curve
|
||||
(taiershengzhang → gongsuopinlv,指向已上架的「宫缩频率计算」)。
|
||||
⚠️「生长曲线」工具本身**没被删**:App 表里 taiershengzhang /
|
||||
taierquxian 都还在,仍会出现在「记一下」的全部工具列表里;
|
||||
这里换掉的只是首页这一个坑位。
|
||||
⚠️ 图标仍是原来那张 72f41378ef8e(曲线插画),本批未要求换;
|
||||
若要换成宫缩/宫缩计时的插画,属另一次改动。
|
||||
⚠️ 副标题仍是 data-wk="cn" 自动显示孕周,本批未要求改文案。 -->
|
||||
<button class="mini-card curve ripple" data-mini="curve">
|
||||
<div class="mc-title sm">生长曲线</div>
|
||||
<div class="mc-title sm">数宫缩</div>
|
||||
<div class="mc-sub" data-wk="cn">—</div>
|
||||
<img class="mc-art" src="assets/img/72f41378ef8e.png" alt="" aria-hidden="true">
|
||||
</button>
|
||||
@@ -850,10 +861,19 @@
|
||||
⚠️ 故意**不挂 data-modal="modalWx"**。那条通用通道直接调 openModal,
|
||||
会绕过 openWx() —— 弹窗的模式类名、引导语、上次残留的红字和
|
||||
输入内容、还有 wxPending 全都不会被重置。这里必须走 JS 那条路。
|
||||
⚠️ 这张卡**不随解锁状态隐藏**(资源库顶部那条 banner 会)。
|
||||
它是「我的」页的常驻入口,藏了会缺一块;代价是已解锁的人
|
||||
仍会看到福利文案 —— 由弹窗 done 模式的文案把动线接上,
|
||||
见 app.js openWx() 里那三段。这是有意的,不是漏改。 -->
|
||||
⚠️ 这张卡历史上**不随解锁状态隐藏**(资源库顶部那条 banner 会),
|
||||
定位是「我的」页的常驻入口。本批(第九批)按用户要求把整块
|
||||
「专属福利」先隐藏 —— 见下面 #meWelfareHidden 那段注释;
|
||||
上面这条「常驻」的旧约定随之暂停,恢复时把该容器的 display:none 去掉即可。 -->
|
||||
<!-- ⚠️ 本批(第九批)按用户要求**先隐藏**「专属福利」整块(标题 + 孕育顾问卡)。
|
||||
用外层容器 display:none 而不是删 DOM,原因有二:
|
||||
① #meWxCard 的点击绑定(app.js openWx('gift'))、syncBabyWords() 对
|
||||
#meWxTitle/#meWxSub 的写入都还引用它们,删了会当场报错;
|
||||
② 保留 DOM 便于随时一键恢复(去掉这里的 display:none 即可)。
|
||||
⚠️ 隐藏的只是这一块。下面「甄选好物 / 进入商城」(#meMallCard)**不动** ——
|
||||
它是另一张卡,用户没要求藏。
|
||||
⚠️ 资源库顶部那条 #rlGift banner 不在这一块里,本次未动。 -->
|
||||
<div id="meWelfareHidden" style="display:none">
|
||||
<h2 class="sec-title dark">专属福利</h2>
|
||||
<button class="wx-card ripple" id="meWxCard">
|
||||
<!-- ⚠️ 这一版是**三段竖排**:角标行 / 图文行 / 通栏 CTA。
|
||||
@@ -983,6 +1003,7 @@
|
||||
<button>,按钮套按钮是非法 HTML。 -->
|
||||
<span class="wx-cta">立即免费领取</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<h2 class="sec-title dark">甄选好物</h2>
|
||||
<button class="wx-card ripple" id="meMallCard">
|
||||
@@ -1431,7 +1452,10 @@
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/505ace532176.png" alt="" aria-hidden="true">数胎动</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/8b0f0a53938b.png" alt="" aria-hidden="true">孕期体重</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/9a2e7fa472dc.png" alt="" aria-hidden="true">孕检日历</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/f989a64fe960.png" alt="" aria-hidden="true">生长曲线</button>
|
||||
<!-- ⚠️ 下面这十几枚是**接口数据到达前的静态占位**:loadPublishedApps() 拉到
|
||||
/api/mp/apps 后会用 renderAppGrid() 整个 innerHTML 覆盖。所以这里改不改
|
||||
只影响首帧闪现;本批把「生长曲线」同步改成「数宫缩」,与首页卡口径一致。 -->
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/f989a64fe960.png" alt="" aria-hidden="true">数宫缩</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/fd875eb78785.png" alt="" aria-hidden="true">胎心记录</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/97c33531806b.png" alt="" aria-hidden="true">孕肚照</button>
|
||||
<button class="app ripple"><img class="a-ico" src="assets/img/de0bc9e250f2.png" alt="" aria-hidden="true">B超影像</button>
|
||||
|
||||
29
js/app.js
29
js/app.js
@@ -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);
|
||||
});
|
||||
|
||||
|
||||
@@ -2469,9 +2469,15 @@ a.skip:focus{left:16px;top:16px}
|
||||
.t-ico.ic-home{-webkit-mask-image:url(assets/img/1afd85e578dd.png);mask-image:url(assets/img/1afd85e578dd.png)}
|
||||
.t-ico.ic-archive{-webkit-mask-image:url(assets/img/fa7b793b47e8.png);mask-image:url(assets/img/fa7b793b47e8.png)}
|
||||
.t-ico.ic-letter{-webkit-mask-image:url(assets/img/949338312a1f.png);mask-image:url(assets/img/949338312a1f.png)}
|
||||
/* 「兜爸心选」商城 tab 的购物袋图标(第九批新增,占原「宝宝来信」那枚 tab 的坑位)。
|
||||
实心剪影风格:袋身圆角矩形 + 提手粗环,与另外四枚 mask 图标同规格(30×30 RGBA)。
|
||||
源图 assets/img/b3253e3c7a83.png。
|
||||
⚠️ 上面 .ic-letter 的规则与 949338312a1f.png **保留不删**:来信屏还在(swipe 可进),
|
||||
哪天要把 tab 挂回「宝宝来信」,把 index.html 那枚 span 的 class 换回去即可。 */
|
||||
.t-ico.ic-shop{-webkit-mask-image:url(assets/img/b3253e3c7a83.png);mask-image:url(assets/img/b3253e3c7a83.png)}
|
||||
.t-ico.ic-me{-webkit-mask-image:url(assets/img/0ebc7631fea4.png);mask-image:url(assets/img/0ebc7631fea4.png)}
|
||||
.tab.is-active .t-ico{transform:translateY(-2px) scale(1.06)}
|
||||
/* nowrap:最长的那条是「宝宝来信」,四个汉字 12.5px ≈ 50px,
|
||||
/* nowrap:最长的那条是「兜爸心选」(原「宝宝来信」,同为四个汉字),12.5px ≈ 50px,
|
||||
320px 视口下每格 tab ≈ 64px,塞得下。但字号一旦被系统放大就会折行,
|
||||
而 tab 是固定高度的,折了会把图标顶出去,所以宁可让它溢出也不折。 */
|
||||
.t-txt{font-size:12.5px;font-weight:600;line-height:1.1;letter-spacing:.2px;white-space:nowrap}
|
||||
|
||||
Reference in New Issue
Block a user