首页孕妈广场:横滑话题卡隔一张换成真实照片卡;v26110122

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-11-01 15:15:53 +00:00
parent fbffb9cbbd
commit 4ae16d1eb1
4 changed files with 24 additions and 12 deletions

View File

@@ -402,8 +402,8 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
<div id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
<div class="toast" id="toast"></div>
<script src="topics.js?v=26110121"></script>
<script src="data.js?v=26110121"></script>
<script src="topics.js?v=26110122"></script>
<script src="data.js?v=26110122"></script>
<script>
(function () {
'use strict';

View File

@@ -52,10 +52,12 @@
['baby', 'b09', '孕期忌口这件事,自己和自己反复拉扯', '忌'],
['baby', 'b10', '怀孕改变的不只是肚子,是整个身体状态', '变']
];
/* 首页横滑卡的照片(11-01 用户:首页广场也放一些真实图):取该话题第一篇照片笔记的封面,图在 guangchang/img/;data.js 太大首页不加载,所以抄一份到这里,换图后要同步 */
var PH = {"f01":"d9d596acde1f.jpg","f02":"5cc12b5ca19d.jpg","f03":"ed263579a24d.jpg","f04":"bcfe0afdde7c.jpg","f05":"e2736880c759.jpg","f06":"cbd9db78f705.jpg","f07":"9ed29de3419c.jpg","f08":"2cac4ef6500f.jpg","f09":"8f974da03cfa.jpg","f10":"abb5129468de.jpg","m01":"e0118088acf0.jpg","m03":"32744c66d8cb.jpg","m04":"dc0e74c1f385.jpg","m05":"ec0314894337.jpg","m06":"1b65af647407.jpg","m07":"0f367f693932.jpg","m08":"a99cef14c40d.jpg","m09":"9ca7ad933408.jpg","m10":"5107f16c4024.jpg","w01":"874abee3d741.jpg","w02":"41ceb30d229a.jpg","w03":"0eb3d4ebc595.jpg","w04":"6b374c98a040.jpg","w05":"bd8a5ddc39f5.jpg","w06":"657bd5779003.jpg","w08":"b88db204c69f.jpg","w09":"209084ea24fb.jpg","w10":"b60934de0df8.jpg","b01":"b9f151713ad0.jpg","b02":"c5443c035a02.jpg","b03":"e4ff8785f404.jpg","b04":"269846ead50f.jpg","b05":"81541ebb328d.jpg","b06":"fba0aa35ada9.jpg","b07":"6440eaf30b5a.jpg","b08":"ee5ea71da8c3.jpg","b09":"b0910125c744.jpg","b10":"c41e91521205.jpg"};
/* 占位数字:按 id 确定性生成,刷新不变 */
var h = function (s) { var x = 7; for (var i = 0; i < s.length; i++) x = (x * 31 + s.charCodeAt(i)) | 0; return Math.abs(x); };
window.GC_TOPICS = L.map(function (r) {
var k = h(r[1]), n = 300 + k % 1100;
return { id: r[1], name: r[2], cat: r[0], g: r[3], c: C[r[0]].c, ink: C[r[0]].ink, n: n, talk: n * 3 + k % 900, hot: r[4] ? 1 : 0 };
return { id: r[1], name: r[2], cat: r[0], g: r[3], c: C[r[0]].c, ink: C[r[0]].ink, n: n, talk: n * 3 + k % 900, hot: r[4] ? 1 : 0, ph: PH[r[1]] ? 'guangchang/img/' + PH[r[1]] : '' };
});
})();

View File

@@ -7,7 +7,7 @@
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>兜爸心选 · 孕育陪伴</title>
<!-- V:26110121 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<!-- V:26110122 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<link rel="stylesheet" href="mama-box.css">
<link rel="stylesheet" href="night.css">
<!-- 夜晚模式:首屏绘制前就按上次的选择加 class,避免先白后黑闪一下(开关在首页右上角 #nightBtn,逻辑见 app.js) -->
@@ -568,6 +568,14 @@
.gch-card .gn{position:relative;margin-top:auto;font-size:15px;font-weight:900;line-height:1.3;letter-spacing:.2px;color:#2F2424;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gch-card .gm{position:relative;margin-top:5px;font-size:10.5px;font-weight:600;white-space:nowrap;opacity:.85}
.gch-card .gh{position:absolute;right:0;top:0;height:20px;padding:0 7px 0 8px;border-radius:0 18px 0 10px;background:linear-gradient(135deg,#FF7A45,#F4433C);color:#fff;font-size:10.5px;font-weight:800;line-height:20px;letter-spacing:.5px}
/* 照片卡:图铺满 + 下半截暗渐变托住白字 */
.gch-card.ph{background:#E9DDD6;color:#fff}
.gch-card.ph .gp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gch-card.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 22%,rgba(30,16,16,.8) 100%);pointer-events:none}
.gch-card.ph .gk,.gch-card.ph .gn,.gch-card.ph .gm,.gch-card.ph .gh{z-index:1}
.gch-card.ph .gk{position:relative;background:rgba(255,255,255,.88);color:var(--ink)}
.gch-card.ph .gn{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.gch-card.ph .gm{opacity:.92}
.gch-card.all{align-items:center;justify-content:center;gap:8px;text-align:center;--c1:#FFF6F2;--c2:#FFE9E1;--ink:#C9886F;border:1.5px dashed #F2C9BA;box-shadow:none}
.gch-card.all .ga{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#E2553A;font-size:22px;font-weight:700;box-shadow:0 4px 10px rgba(226,85,58,.15)}
.gch-card.all b{font-size:13.5px;font-weight:800;color:#8A5A4C}
@@ -2424,7 +2432,7 @@
<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=26110121"></script>
<script src="guangchang/topics.js?v=26110122"></script>
<script src="js/app.js"></script>
<!-- 2026-10-03 首页彩蛋:宝宝在肚皮底下动(独立文件,删掉这一行即整体下线;开关在「隐私权限」) -->
<script src="js/bump.js"></script>
@@ -2433,7 +2441,7 @@
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
<script src="js/baby-limbs.js?v=26101201"></script>
<script src="js/coach.js?v=26101211"></script>
<script src="js/birth-flow.js?v=26110121"></script>
<script src="js/birth-flow.js?v=26110122"></script>
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
<script>

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26110121';
var VER = '26110122';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -4208,14 +4208,16 @@
}
function paint(cat) {
const list = pick(cat);
row.innerHTML = list.map(t =>
'<button type="button" class="gch-card" data-t="' + esc(t.id) + '" style="--c1:' + t.c[0] + ';--c2:' + t.c[1] + ';--ink:' + t.ink + '">' +
'<i class="gb" aria-hidden="true"></i><span class="gg" aria-hidden="true">' + esc(t.g) + '</span>' +
/* 隔一张换成真实照片卡(11-01 用户:首页广场也放一些真实图),照片取 topics.js 的 ph;没图的照旧渐变卡 */
row.innerHTML = list.map((t, i) => {
const ph = i % 2 === 0 && t.ph;
return '<button type="button" class="gch-card' + (ph ? ' ph' : '') + '" data-t="' + esc(t.id) + '" style="--c1:' + t.c[0] + ';--c2:' + t.c[1] + ';--ink:' + t.ink + '">' +
(ph ? '<img class="gp" src="' + esc(t.ph) + '" alt="" loading="lazy">' : '<i class="gb" aria-hidden="true"></i><span class="gg" aria-hidden="true">' + esc(t.g) + '</span>') +
(t.hot ? '<span class="gh">热</span>' : '') +
'<span class="gk">' + ({ family: '家庭', marriage: '婚姻', work: '职场', baby: '母婴' }[t.cat] || '') + '</span>' +
'<span class="gn">' + esc(t.name) + '</span>' +
'<span class="gm">' + kfmt(t.n) + ' 篇 · ' + kfmt(t.talk) + ' 人在聊</span></button>'
).join('') +
'<span class="gm">' + kfmt(t.n) + ' 篇 · ' + kfmt(t.talk) + ' 人在聊</span></button>';
}).join('') +
'<button type="button" class="gch-card all" data-t=""><span class="ga" aria-hidden="true">›</span><b>全部话题</b><small>' + T.length + ' 个话题</small></button>';
row.scrollLeft = 0;
}