孕妈广场:每块 3 个热门,「全部」里家庭/婚姻/职场/母婴轮流排(首页 + 广场页);v26110115
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -315,8 +315,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 id="sheet" role="dialog" aria-modal="true"><i class="sg"></i><div class="sbd" id="sbd"></div></div>
|
||||||
<div class="toast" id="toast"></div>
|
<div class="toast" id="toast"></div>
|
||||||
|
|
||||||
<script src="topics.js?v=26110114"></script>
|
<script src="topics.js?v=26110115"></script>
|
||||||
<script src="data.js?v=26110114"></script>
|
<script src="data.js?v=26110115"></script>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -467,7 +467,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
|||||||
var hl = hotList();
|
var hl = hotList();
|
||||||
el.innerHTML = rewardHTML() +
|
el.innerHTML = rewardHTML() +
|
||||||
'<div class="sh"><svg class="fire"><use href="#i-fire"/></svg><h2>热门话题</h2><button type="button" class="more" data-all="1">全部 ' + hl.length + ' 个<svg class="ic" style="width:13px;height:13px"><use href="#i-right"/></svg></button></div>' +
|
'<div class="sh"><svg class="fire"><use href="#i-fire"/></svg><h2>热门话题</h2><button type="button" class="more" data-all="1">全部 ' + hl.length + ' 个<svg class="ic" style="width:13px;height:13px"><use href="#i-right"/></svg></button></div>' +
|
||||||
'<div class="hot">' + hl.slice(0, 8).map(function (x) {
|
'<div class="hot">' + hl.slice(0, catF ? 10 : 12).map(function (x) {
|
||||||
return '<div class="hc k-' + x.cat + '" data-t="' + x.id + '" role="button"><i class="wm" aria-hidden="true">' + esc(x.g) + '</i>' + (x.hot ? '<span class="rk">热</span>' : '') + kbHTML(x.cat) +
|
return '<div class="hc k-' + x.cat + '" data-t="' + x.id + '" role="button"><i class="wm" aria-hidden="true">' + esc(x.g) + '</i>' + (x.hot ? '<span class="rk">热</span>' : '') + kbHTML(x.cat) +
|
||||||
'<h3># ' + esc(x.name) + '</h3><p>' + esc((D[x.id] || {}).desc || '') + '</p>' +
|
'<h3># ' + esc(x.name) + '</h3><p>' + esc((D[x.id] || {}).desc || '') + '</p>' +
|
||||||
'<button type="button" class="jn" data-join="' + x.id + '"><svg class="ic"><use href="#i-plus"/></svg>参与话题</button></div>';
|
'<button type="button" class="jn" data-join="' + x.id + '"><svg class="ic"><use href="#i-plus"/></svg>参与话题</button></div>';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
首页「孕妈广场」横滑卡(js/app.js initPlaza)和广场页(guangchang/index.html)共用这一份。
|
首页「孕妈广场」横滑卡(js/app.js initPlaza)和广场页(guangchang/index.html)共用这一份。
|
||||||
⚠️ 篇数 / 在聊人数是占位数字,正式版接后端后替换;广场页底部有一行「示例占位」说明。
|
⚠️ 篇数 / 在聊人数是占位数字,正式版接后端后替换;广场页底部有一行「示例占位」说明。
|
||||||
字段:id 话题 id(广场页 ?t=)· name 名称 · cat family 家庭 / marriage 婚姻 / work 职场 / baby 母婴 · g 封面水印字
|
字段:id 话题 id(广场页 ?t=)· name 名称 · cat family 家庭 / marriage 婚姻 / work 职场 / baby 母婴 · g 封面水印字
|
||||||
c 渐变两色 · ink 主题深色 · n 篇数 · talk 在聊人数 · hot 热门角标 */
|
c 渐变两色 · ink 主题深色 · n 篇数 · talk 在聊人数 · hot 热门角标(每块 3 个;「全部」里四块轮流排,首页和广场页一致) */
|
||||||
(function () {
|
(function () {
|
||||||
var C = {
|
var C = {
|
||||||
family: { c: ['#FFE6EB', '#FFC6D2'], ink: '#C23A55' },
|
family: { c: ['#FFE6EB', '#FFC6D2'], ink: '#C23A55' },
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
['family', 'f02', '长辈总按老经验养胎,我该怎么接话', '老', 1],
|
['family', 'f02', '长辈总按老经验养胎,我该怎么接话', '老', 1],
|
||||||
['family', 'f03', '亲戚随口的一句话,能让我琢磨一下午', '琢'],
|
['family', 'f03', '亲戚随口的一句话,能让我琢磨一下午', '琢'],
|
||||||
['family', 'f04', '怀孕才发现,两个家庭的习惯很难对齐', '齐'],
|
['family', 'f04', '怀孕才发现,两个家庭的习惯很难对齐', '齐'],
|
||||||
['family', 'f05', '嘴上都是关心,有时候却让人喘不过气', '喘'],
|
['family', 'f05', '嘴上都是关心,有时候却让人喘不过气', '喘', 1],
|
||||||
['family', 'f06', '不住一起,也躲不开孕期的各种叮嘱', '嘱'],
|
['family', 'f06', '不住一起,也躲不开孕期的各种叮嘱', '嘱'],
|
||||||
['family', 'f07', '不是谁有错,只是两代人对怀孕看法不一样', '代'],
|
['family', 'f07', '不是谁有错,只是两代人对怀孕看法不一样', '代'],
|
||||||
['family', 'f08', '孕期在家,安静待着怎么就成了“想太多”', '静'],
|
['family', 'f08', '孕期在家,安静待着怎么就成了“想太多”', '静'],
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
['marriage', 'm07', '怀孕之后,浪漫慢慢换成了琐碎商量', '琐'],
|
['marriage', 'm07', '怀孕之后,浪漫慢慢换成了琐碎商量', '琐'],
|
||||||
['marriage', 'm08', '夫妻之间,很多矛盾藏在“这点小事而已”', '小'],
|
['marriage', 'm08', '夫妻之间,很多矛盾藏在“这点小事而已”', '小'],
|
||||||
['marriage', 'm09', '一边期待宝宝,一边担心我们两个人的日子', '盼'],
|
['marriage', 'm09', '一边期待宝宝,一边担心我们两个人的日子', '盼'],
|
||||||
['marriage', 'm10', '他以为养胎是休息,不知道我一直在硬扛', '扛'],
|
['marriage', 'm10', '他以为养胎是休息,不知道我一直在硬扛', '扛', 1],
|
||||||
['work', 'w01', '怀着孕上班,很多话不敢轻易说出口', '言', 1],
|
['work', 'w01', '怀着孕上班,很多话不敢轻易说出口', '言', 1],
|
||||||
['work', 'w02', '产检请假,每次都要在心里预演一遍', '假', 1],
|
['work', 'w02', '产检请假,每次都要在心里预演一遍', '假', 1],
|
||||||
['work', 'w03', '慢慢发现,职场不会主动照顾孕妇', '职'],
|
['work', 'w03', '慢慢发现,职场不会主动照顾孕妇', '职'],
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
['work', 'w07', '开始悄悄想,生完还能不能回到现在岗位', '岗'],
|
['work', 'w07', '开始悄悄想,生完还能不能回到现在岗位', '岗'],
|
||||||
['work', 'w08', '项目交到别人手里,心里说不出是什么滋味', '交'],
|
['work', 'w08', '项目交到别人手里,心里说不出是什么滋味', '交'],
|
||||||
['work', 'w09', '在岗的日子,一直在找舒服的边界', '界'],
|
['work', 'w09', '在岗的日子,一直在找舒服的边界', '界'],
|
||||||
['work', 'w10', '别人看不到,上班孕妈一天有多累', '累'],
|
['work', 'w10', '别人看不到,上班孕妈一天有多累', '累', 1],
|
||||||
['baby', 'b01', '孕期各种各样的难受,很难跟外人讲清楚', '难', 1],
|
['baby', 'b01', '孕期各种各样的难受,很难跟外人讲清楚', '难', 1],
|
||||||
['baby', 'b02', '还没出生,零零碎碎的开销已经堆上来', '钱'],
|
['baby', 'b02', '还没出生,零零碎碎的开销已经堆上来', '钱'],
|
||||||
['baby', 'b03', '刷太多育儿内容,反而越看越心慌', '慌', 1],
|
['baby', 'b03', '刷太多育儿内容,反而越看越心慌', '慌', 1],
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
['baby', 'b05', '体重慢慢上涨,心里五味杂陈', '重'],
|
['baby', 'b05', '体重慢慢上涨,心里五味杂陈', '重'],
|
||||||
['baby', 'b06', '每天感受胎动,也会忍不住胡思乱想', '动'],
|
['baby', 'b06', '每天感受胎动,也会忍不住胡思乱想', '动'],
|
||||||
['baby', 'b07', '听说的生产方式,各有各的不容易', '生'],
|
['baby', 'b07', '听说的生产方式,各有各的不容易', '生'],
|
||||||
['baby', 'b08', '别人都在期待宝宝,我偶尔会害怕生孩子', '怕'],
|
['baby', 'b08', '别人都在期待宝宝,我偶尔会害怕生孩子', '怕', 1],
|
||||||
['baby', 'b09', '孕期忌口这件事,自己和自己反复拉扯', '忌'],
|
['baby', 'b09', '孕期忌口这件事,自己和自己反复拉扯', '忌'],
|
||||||
['baby', 'b10', '怀孕改变的不只是肚子,是整个身体状态', '变']
|
['baby', 'b10', '怀孕改变的不只是肚子,是整个身体状态', '变']
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<meta name="mobile-web-app-capable" content="yes">
|
<meta name="mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<title>兜爸心选 · 孕育陪伴</title>
|
<title>兜爸心选 · 孕育陪伴</title>
|
||||||
<!-- V:26110114 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
<!-- V:26110115 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||||
<link rel="stylesheet" href="mama-box.css">
|
<link rel="stylesheet" href="mama-box.css">
|
||||||
<link rel="stylesheet" href="night.css">
|
<link rel="stylesheet" href="night.css">
|
||||||
<!-- 夜晚模式:首屏绘制前就按上次的选择加 class,避免先白后黑闪一下(开关在首页右上角 #nightBtn,逻辑见 app.js) -->
|
<!-- 夜晚模式:首屏绘制前就按上次的选择加 class,避免先白后黑闪一下(开关在首页右上角 #nightBtn,逻辑见 app.js) -->
|
||||||
@@ -2400,7 +2400,7 @@
|
|||||||
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
|
<script src="/_bridge/avatar-picker.js?v=26101105"></script>
|
||||||
<script src="/_bridge/hand-icons.js?v=26101202"></script>
|
<script src="/_bridge/hand-icons.js?v=26101202"></script>
|
||||||
<script src="js/zodiac-art.js"></script>
|
<script src="js/zodiac-art.js"></script>
|
||||||
<script src="guangchang/topics.js?v=26110114"></script>
|
<script src="guangchang/topics.js?v=26110115"></script>
|
||||||
<script src="js/app.js"></script>
|
<script src="js/app.js"></script>
|
||||||
<!-- 2026-10-03 首页彩蛋:宝宝在肚皮底下动(独立文件,删掉这一行即整体下线;开关在「隐私权限」) -->
|
<!-- 2026-10-03 首页彩蛋:宝宝在肚皮底下动(独立文件,删掉这一行即整体下线;开关在「隐私权限」) -->
|
||||||
<script src="js/bump.js"></script>
|
<script src="js/bump.js"></script>
|
||||||
@@ -2409,7 +2409,7 @@
|
|||||||
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
|
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
|
||||||
<script src="js/baby-limbs.js?v=26101201"></script>
|
<script src="js/baby-limbs.js?v=26101201"></script>
|
||||||
<script src="js/coach.js?v=26101211"></script>
|
<script src="js/coach.js?v=26101211"></script>
|
||||||
<script src="js/birth-flow.js?v=26110114"></script>
|
<script src="js/birth-flow.js?v=26110115"></script>
|
||||||
|
|
||||||
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
|
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
12
js/app.js
12
js/app.js
@@ -3,7 +3,7 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||||
var VER = '26110114';
|
var VER = '26110115';
|
||||||
const $ = (s, c) => (c || document).querySelector(s);
|
const $ = (s, c) => (c || document).querySelector(s);
|
||||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||||
|
|
||||||
@@ -4198,8 +4198,16 @@
|
|||||||
reportHostLocation(new URL(url, location.href).href);
|
reportHostLocation(new URL(url, location.href).href);
|
||||||
location.href = url;
|
location.href = url;
|
||||||
}
|
}
|
||||||
|
/* 「全部」:只放热门,四块(家庭/婚姻/职场/母婴)轮流排,别一排全是同一块;选了某块:该块热门在前、其余在后 */
|
||||||
|
const CATS = ['family', 'marriage', 'work', 'baby'];
|
||||||
|
function pick(cat) {
|
||||||
|
if (cat) { const l = T.filter(t => t.cat === cat); return l.filter(t => t.hot).concat(l.filter(t => !t.hot)); }
|
||||||
|
const by = CATS.map(c => T.filter(t => t.cat === c && t.hot)), out = [];
|
||||||
|
for (let r = 0; r < 5; r++) by.forEach(l => { if (l[r]) out.push(l[r]); });
|
||||||
|
return out;
|
||||||
|
}
|
||||||
function paint(cat) {
|
function paint(cat) {
|
||||||
const list = T.filter(t => !cat || t.cat === cat);
|
const list = pick(cat);
|
||||||
row.innerHTML = list.map(t =>
|
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 + '">' +
|
'<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>' +
|
'<i class="gb" aria-hidden="true"></i><span class="gg" aria-hidden="true">' + esc(t.g) + '</span>' +
|
||||||
|
|||||||
Reference in New Issue
Block a user