v26110461 孕周专属福利资料改 3 兜豆兑换:详情页加「这份资料里有什么」、兑换后弹网盘地址可复制;去掉顾问二维码入口;修详情页正文被接口清空

This commit is contained in:
deploy
2026-11-05 10:23:35 +00:00
parent 8fa7ffebc9
commit 887b87dc82
25 changed files with 292 additions and 107 deletions

View File

@@ -8,8 +8,8 @@
<meta name="apple-mobile-web-app-capable" content="yes">
<title>兜爸心选 · 孕育陪伴</title>
<!-- 11-04 UGC 总开关(孕妈广场 + 测一测,后台 /box_bm/plaza 顶部切换),见 js/ugc.js -->
<script src="js/ugc.js?v=26110460"></script>
<!-- V:26110460 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<script src="js/ugc.js?v=26110461"></script>
<!-- V:26110461 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<link rel="stylesheet" href="mama-box.css">
<link rel="stylesheet" href="night.css">
<!-- 11-04 用户:「顶部图片上的倒计时先删除掉」→ 不加载 hero-cd.css / hero-cd.js(文件留着,加回这两行即恢复),头图回到原样式 -->
@@ -23,6 +23,31 @@
/* 11-05 用户:「消消乐 banner 左右要顶到两边,跟上下模块的距离再缩小几个像素,保持协调一致」→ 去掉外层内边距:左右和其他模块一样贴满(0~屏宽),上下只留模块间统一的 16px 缝(原来多出 8px);圆角跟其他模块一致 26px;同日三改:用户嫌圆角太大 → 16px */
#gamePromo{padding:0!important}
#gamePromo .gp-card{border-radius:16px;padding:10px 22px 10px 22px} /* 卡里内容往里收,和上下模块的内容左右对齐 */</style>
<style id="resDouCss">/* 2026-11-05 资料兜豆兑换 */
.shelf.gift2 .sb-row .pill-free,.res-item .pill-free{background:#FFF1E6!important;color:#E8743B!important}
.rp-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px}
.rp-fmt{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rp-fmt span{font-size:12px;font-weight:700;color:#E8743B;background:#FFF1E6;padding:4px 9px;border-radius:7px}
.rp-list{list-style:none;margin:0;padding:0}
.rp-list li{position:relative;padding:6px 0 6px 22px;font-size:14.5px;line-height:1.6;color:#4A403A}
.rp-list li::before{content:"";position:absolute;left:2px;top:12px;width:11px;height:6px;border-left:2.2px solid #E8743B;border-bottom:2.2px solid #E8743B;transform:rotate(-45deg)}
.rp-how{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line);font-size:12.5px;line-height:1.7;color:var(--muted)}
.rp-how b{color:#E8743B}
html.night .rp-box{background:rgba(255,255,255,.06)}
html.night .rp-list li{color:#E8DFE8}
.rs-modal h3 .rs-n{color:#E8743B}
.rs-modal .rs-ico{line-height:0}
.rs-modal .rs-name{font-size:15px;font-weight:700;color:var(--ink);margin:6px 0 0}
.rs-modal .rs-sub{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.6}
.rs-pan .rp-card{margin-top:12px;background:#FFF7F0;border:1px solid #FBDCC6;border-radius:12px;padding:12px}
.rs-pan .rp-k{font-size:12px;color:var(--muted)}
.rs-pan .rp-url{margin-top:4px;font-size:14px;font-weight:700;color:var(--ink);word-break:break-all;user-select:text;-webkit-user-select:text}
.rs-pan .rp-code{margin-top:8px;font-size:13px;color:var(--ink-2)}
.rs-pan .rp-code b{font-size:16px;color:#E8743B;letter-spacing:2px;user-select:text;-webkit-user-select:text}
.rs-pan .rp-code.hide{display:none}
.rs-pan .modal-foot .dl-btn{flex:1}
html.night .rs-pan .rp-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
</style>
</head>
<body>
<a class="skip" href="#screens">跳到内容</a>
@@ -881,7 +906,7 @@
<span class="gb-gift" aria-hidden="true"><svg viewBox="0 0 24 24" width="26" height="26"><rect x="4.5" y="10.5" width="15" height="9.5" rx="2" fill="#fff"/><rect x="3.2" y="7.4" width="17.6" height="4.2" rx="1.6" fill="#fff"/><rect x="11" y="7.4" width="2" height="12.6" fill="#F7745E"/><rect x="3.2" y="11" width="17.6" height="1" fill="#F7745E" opacity=".35"/><path d="M12 7.4C10.6 4.6 7.6 4.2 7.6 6.1c0 1.3 2.2 1.3 4.4 1.3zm0 0c1.4-2.8 4.4-3.2 4.4-1.3 0 1.3-2.2 1.3-4.4 1.3z" fill="none" stroke="#fff" stroke-width="1.6" stroke-linejoin="round"/><path d="M20 1.8l.5 1.3 1.3.5-1.3.5-.5 1.3-.5-1.3-1.3-.5 1.3-.5z" fill="#FFF3C4"/></svg></span>
<div class="gb-ht">
<h2 class="sh-title">孕<span data-wk="n">—</span>周专属福利</h2>
<p class="sh-note">这周用得上的孕育资料,<b>全部免费送</b></p>
<p class="sh-note">这周用得上的孕育资料,<b><span class="res-price-n">3</span> 兜豆就能领</b></p>
</div>
<button class="sh-all" data-open="detailResList">全部 ›</button>
</div>
@@ -916,21 +941,21 @@
<img class="sb-cover" src="assets/img/gift-book.png" alt="" aria-hidden="true">
<span class="sb-title">《糖耐检查全攻略》</span>
<span class="sb-desc">孕24-28周必看 · 附检查前饮食清单</span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">12.8 万妈妈已领取</i><span class="pill-free">免费领</span></span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">12.8 万妈妈已领取</i><span class="pill-free">3 豆兑</span></span>
</button>
<button class="shelf-book sb-food ripple" data-open="detailRes" data-res="food">
<span class="sb-tag">孕<span data-wk="n">—</span>周专属</span>
<img class="sb-cover" src="assets/img/gift-food.png" alt="" aria-hidden="true">
<span class="sb-title">孕期营养全书</span>
<span class="sb-desc">按孕周编排的一日三餐参考</span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">20.4 万妈妈已领取</i><span class="pill-free">免费领</span></span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">20.4 万妈妈已领取</i><span class="pill-free">3 豆兑</span></span>
</button>
<button class="shelf-book sb-music ripple" data-open="detailRes" data-res="music">
<span class="sb-tag">孕<span data-wk="n">—</span>周专属</span>
<img class="sb-cover" src="assets/img/gift-music.png" alt="" aria-hidden="true">
<span class="sb-title">胎教音乐合集</span>
<span class="sb-desc">30 首适合孕中期的舒缓曲目</span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">9.6 万妈妈已领取</i><span class="pill-free">免费领</span></span>
<span class="sb-row"><span class="sb-faces" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i></span><i class="sb-got">9.6 万妈妈已领取</i><span class="pill-free">3 豆兑</span></span>
</button>
</div>
<!-- ⚠️ 这句话现在是**静态文案**(2026-09-19 9.19 需求:兑换码闸门取消,
@@ -946,7 +971,7 @@
· 没上架的**并非拿不到** —— 扫码加小助手可以直接索要(见顾问二维码弹窗)。
所以「128 份等你来领」是邀请口径(含找小助手要的),跟「列表当前 8 条」
是两件事,**数字不一样是对的**,别再"修"。 -->
<p class="unlock"><i class="ul-gift" aria-hidden="true"></i>福利库还有 <b>128</b> 份资料等你领 · <a data-open="detailResList">查看全部 ›</a></p>
<p class="unlock"><i class="ul-gift" aria-hidden="true"></i>福利库还有 <b>128</b> 份资料陆续上架 · <a data-open="detailResList">查看全部 ›</a></p>
</section>
<!-- 孕期盲盒 · 首页细横幅(2026-10-01,需求文档 v1.0 三-7)。
@@ -1971,6 +1996,7 @@
<h1 class="rd-title" id="rdTitle">《糖耐检查全攻略》</h1>
<p class="rd-desc" id="rdDesc">孕24-28周必看 · 附检查前饮食清单</p>
<div class="rd-meta" id="rdMeta"></div>
<div id="rdPack"></div>
<div class="rd-body" id="rdBody"></div>
<h3 class="d-sec">相关推荐</h3>
<div class="res-list slim" id="rdMore"></div>
@@ -1982,7 +2008,7 @@
「其他」说的是和手上这份的关系,比页面名更能说清点下去会看到什么。 -->
<div class="rd-cta" id="rdCta">
<button class="dl-btn ghost" id="rdLib">其他资源</button>
<button class="dl-btn main" id="rdGet">立即领取</button>
<button class="dl-btn main" id="rdGet">3 兜豆兑换</button>
</div>
</section>
@@ -2505,6 +2531,43 @@
<div class="modal-foot"><button class="dl-btn main" id="bxPrizeOk">太好了</button></div>
</section>
<!-- 资料兑换(2026-11-05 用户:3 兜豆兑换 → 立刻弹网盘地址可复制;顾问二维码不用了)。逻辑见 app.js redeemRes() -->
<section class="modal bx-prize rs-modal" id="modalResBuy" data-autofocus="off" role="dialog" aria-modal="true" aria-labelledby="rbT">
<div class="bx-prize-ico rs-ico" aria-hidden="true"><svg viewBox="0 0 48 48" width="48" height="48"><rect x="9" y="6" width="28" height="36" rx="4" fill="#F7A06E"/><rect x="13" y="6" width="24" height="36" rx="3" fill="#FBC59E"/><path d="M18 15h13M18 21h13M18 27h8" stroke="#fff" stroke-width="2.4" stroke-linecap="round"/><circle cx="35" cy="35" r="8" fill="#E8743B"/><path d="M31.5 35l2.4 2.4 4-4.6" fill="none" stroke="#fff" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
<h3 id="rbT">用 <b class="rs-n" id="rbPrice">3</b> 兜豆兑换</h3>
<p class="rs-name" id="rbName"></p>
<p class="rs-sub" id="rbBal"></p>
<div class="modal-foot">
<button class="dl-btn ghost" data-modal="close">再想想</button>
<button class="dl-btn main" id="rbOk">确认兑换</button>
</div>
</section>
<section class="modal rs-modal rs-pan" id="modalResPan" data-autofocus="off" role="dialog" aria-modal="true" aria-labelledby="rpTitle">
<div class="modal-head">
<h3 id="rpTitle">兑换成功</h3>
<button class="modal-x" data-modal="close" aria-label="关闭">
<svg viewBox="0 0 24 24" width="15" height="15" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg>
</button>
</div>
<p class="modal-lead" id="rpLead"></p>
<div class="rp-card">
<div class="rp-k">网盘地址</div>
<div class="rp-url" id="rpUrl"></div>
<div class="rp-code" id="rpCodeRow">提取码 <b id="rpCode"></b></div>
</div>
<p class="rs-sub">兑换过的资料,回到详情页点「查看网盘地址」随时再看,不重复扣豆。</p>
<div class="modal-foot"><button class="dl-btn main" id="rpCopy">复制地址和提取码</button></div>
</section>
<section class="modal bx-prize rs-modal" id="modalResShort" data-autofocus="off" role="dialog" aria-modal="true" aria-labelledby="rsT">
<div class="bx-prize-ico rs-ico" aria-hidden="true"><svg viewBox="0 0 48 48" width="48" height="48"><ellipse cx="24" cy="25" rx="13" ry="16" fill="#F2B46B" transform="rotate(-18 24 25)"/><path d="M20 15c-3 5-3 13 2 19" fill="none" stroke="#fff" stroke-width="2.4" stroke-linecap="round" opacity=".8"/><circle cx="36" cy="12" r="2" fill="#FBC59E"/><circle cx="11" cy="36" r="1.6" fill="#FBC59E"/></svg></div>
<h3 id="rsT">兜豆还差 <b class="rs-n" id="rsShort">3</b> 个</h3>
<p class="rs-sub">你现在有 <span id="rsBal">0</span> 兜豆,做做孕期任务就能攒够</p>
<div class="modal-foot">
<button class="dl-btn ghost" data-modal="close">知道了</button>
<button class="dl-btn main" id="rsGo">去攒兜豆</button>
</div>
</section>
<!-- 新人欢迎礼(2026-10-10):统一兜豆账本 welcome 规则首次发放时弹一次;豆数用接口返回的 granted -->
<section class="modal bx-prize wg-modal" id="modalWelcome" role="dialog" aria-modal="true" aria-labelledby="wgT">
<div class="bx-prize-ico" aria-hidden="true">🎁</div>
@@ -2623,13 +2686,13 @@
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
<script src="/_bridge/hand-icons.js?v=26101202"></script>
<script src="js/zodiac-art.js"></script>
<script src="guangchang/topics.js?v=26110460"></script>
<script src="js/ava-pool.js?v=26110460"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="guangchang/topics.js?v=26110461"></script>
<script src="js/ava-pool.js?v=26110461"></script> <!-- 11-05 装饰头像分配表(各模块互不重复) -->
<script src="js/app.js"></script>
<script src="js/kit.js?v=26110460"></script>
<script src="js/kit.js?v=26110461"></script>
<!-- 11-05 用户:孕期百问加上跟趣味小测试一样的底部 Tab(孕期百问 / 记一下 / 返回首页)。挂在 #detailQA 里,面板关着时跟着滑出屏外;
「记一下」直接开首页自己的记一下弹层(z 95 盖在百问 z 80 上),「返回首页」= 关掉百问面板 -->
<script src="js/mb-tabbar.js?v=26110460"></script>
<script src="js/mb-tabbar.js?v=26110461"></script>
<script>
(function () {
var d = document.getElementById('detailQA'); if (!d || !window.MBTab) return;
@@ -2649,7 +2712,7 @@
if (gchDone || !window.__mbUgc) return; gchDone = true;
var m = location.search.match(/[?&]gcv=([1-6])(?:&|$)/);
if (!m) window.__gcDefault = 1;
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110460';
var n = m ? m[1] : '6', l = document.createElement('link'), s = document.createElement('script'), q = m ? Date.now() : 'v=26110461';
var dir = n === '4' || n === '6' ? 'js/gch/' : 'demo/gch/'; /* 11-03 上正式:定稿 V6(含它套的 V4)并进 js/gch/,其余效果稿仍在 demo/ */
l.rel = 'stylesheet'; l.href = dir + 'v' + n + '.css?' + q;
s.src = dir + 'v' + n + '.js?' + q;
@@ -2664,19 +2727,19 @@
/* 11-02 品牌露出(用户定 4 处都要):默认加载,?brand=0 可关掉对比;11-03 已并进 js/gch/ */
if (!/[?&]brand=0/.test(location.search)) {
var bl = document.createElement('link'), bs = document.createElement('script');
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110460'; bs.src = 'js/gch/brand.js?v=26110460';
bl.rel = 'stylesheet'; bl.href = 'js/gch/brand.css?v=26110461'; bs.src = 'js/gch/brand.js?v=26110461';
document.head.appendChild(bl); document.body.appendChild(bs);
}
})();
</script>
<!-- 2026-10-03 首页彩蛋:宝宝在肚皮底下动(独立文件,删掉这一行即整体下线;开关在「隐私权限」) -->
<script src="js/bump.js?v=26110460"></script>
<script src="js/bump.js?v=26110461"></script>
<!-- 2026-10-04 首页头图:按孕周换宝宝 + 阳光水波(独立文件) -->
<script src="js/hero-fx.js"></script>
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
<script src="js/baby-limbs.js?v=26110460"></script>
<script src="js/coach.js?v=26110460"></script>
<script src="js/birth-flow.js?v=26110460"></script>
<script src="js/baby-limbs.js?v=26110461"></script>
<script src="js/coach.js?v=26110461"></script>
<script src="js/birth-flow.js?v=26110461"></script>
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
<script>