diff --git a/assets/img/4834fe8d686a.png b/assets/img/4834fe8d686a.png new file mode 100644 index 0000000..184eb81 Binary files /dev/null and b/assets/img/4834fe8d686a.png differ diff --git a/index.html b/index.html index 3f179fc..d7a8052 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ 兜爸心选 · 孕育陪伴 - + @@ -1263,13 +1263,19 @@

记一下

-

— · 今天已记 4 条

+ +

— · 今天已记 4 条

-
今天已使用
-
+ +
今天已使用
+
@@ -1398,39 +1404,21 @@ 这一处不一致是需求方明确保留的(见改动清单 D3),别顺手「统一」。 -->
- - - - - - - - - - - - - - - - - - - 示例二维码 · 待替换 - + ⚠️ 换码时的几条规矩: + ① 文件名取**文件内容 md5 的前 12 位**(md5sum 新图 | cut -c1-12)。 + 该目录下 35 张图全按这个规则,别起描述性名字 —— 内容一变 URL 就变, + 天然不会被上一版二维码的缓存顶住。 + ② 只动下面这一行。.wx-qr 挂在元素本身、svg 与 img 通吃(见 mama-box.css), + CSS 一个字都不用改:168×168、14px 圆角都是现成的。 + 14px 圆角只吃掉四角极角的**白色静默区**(本图静默区 13/396 → 显示约 5.5px, + 对角裁切 4.1px < 到黑色模块的 7.8px),切不到码点,不影响扫码。 + ③ 注释里除了上面那条**真实存在**的路径,别再写别的图片路径字面量 —— + 构建脚本连 HTML 注释一起扫,写了不存在的就报「缺少资源文件」。 --> + 企业微信顾问二维码

请添加资料小助手,回复「领资料」

diff --git a/js/app.js b/js/app.js index f04f7bb..77fecad 100644 --- a/js/app.js +++ b/js/app.js @@ -3,7 +3,7 @@ (function () { 'use strict'; /* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */ - var VER = '26092205'; + var VER = '26092207'; const $ = (s, c) => (c || document).querySelector(s); const $$ = (s, c) => Array.from((c || document).querySelectorAll(s)); @@ -336,9 +336,15 @@ const t = e.target.closest('.app'); if (t && t.dataset.url) jumpApp(decodeURIComponent(t.dataset.url), decodeURIComponent(t.dataset.id || '')); }; - /* 角标「共 N 个」同步真实数量 */ + /* 角标「共 N 个」同步真实数量。 + ⚠️ 顺带写 data-toast:点它弹的那句原来由 dedupeApps 拼「已使用的 N 个已置顶」, + 而快捷区现在被临时隐藏(dedupeApps 直接 return,见那里的注释), + 若这里不写,就会退化成 index.html 里写死的「共 16 个」—— 数字比实际多。 */ const cnt = $('.apps-head.for-all .sec-more'); - if (cnt) cnt.textContent = '共 ' + apps.length + ' 个 ›'; + if (cnt) { + cnt.textContent = '共 ' + apps.length + ' 个 ›'; + cnt.dataset.toast = '共 ' + apps.length + ' 个孕期工具'; + } } function loadPublishedApps() { fetch('/api/mp/apps?isPublished=1&pageSize=200') @@ -579,6 +585,14 @@ /* 工具列表去重:顶部「今天已使用」的快捷入口若在下方列表里重复出现, 用户会觉得同一个工具出现了两次,这里按名称把它们从全部列表中摘掉 */ (function dedupeApps() { + /* ⚠️ 快捷区「今天已使用」功能未实现、已临时隐藏(index.html 里挂 .tbd-hide)。 + 没有置顶区就不存在「同一个工具出现两次」,所以两件事都要跳过: + ① 按 .q-t 摘除同名磁贴;② 把小标题改成「其他孕期工具」——藏了上面那块之后, + 第一眼看到的就是它,「其他」俩字会变成没有指代对象的错文案, + 保持 index.html 里的默认「全部孕期工具」才对。 + 判据直接读 DOM(.tbd-hide 在不在),单一事实来源在 index.html: + 把那里三处 .tbd-hide 去掉,本段会自动重新生效,不用改这里。 */ + if ($('.quick-row.tbd-hide')) return; const used = new Set($$('.quick-row .q-t').map(e => e.textContent.trim())); $$('#appsGrid .app').forEach(b => { if (used.has(b.textContent.trim())) b.remove(); }); const rest = $$('#appsGrid .app').length; diff --git a/mama-box.css b/mama-box.css index 6895c2a..5482971 100644 --- a/mama-box.css +++ b/mama-box.css @@ -1837,7 +1837,7 @@ a.skip:focus{left:16px;top:16px} 紧挨着上面的网盘弹窗放:这两个弹窗是同一条领取动线的前后两步 (先扫码换码,再拿链接)。隔开几百行的话,改动线文案时几乎必然只改到一头。 */ .wx-qr-box{margin-top:16px;text-align:center} -/* 同时管占位的 和以后换上的 :换真图时这段 CSS 一个字都不用动。 +/* 这条挂在元素本身(原占位的 、现在这张真图 都吃):换图时一个字都不用动。 ⚠️ 别改成 .wx-qr img 或 svg.wx-qr —— 那样一换成 尺寸就全丢。 */ .wx-qr{display:block;width:168px;height:168px;margin:0 auto;border-radius:14px;background:#fff} .wx-qr-cap{font-size:12px;color:var(--muted);margin-top:10px} @@ -1870,6 +1870,12 @@ a.skip:focus{left:16px;top:16px} .sheet-close:active{transform:scale(.9)} .sheet-scroll{flex:1;overflow-y:auto;padding:0 18px 8px} .sheet-scroll::-webkit-scrollbar{display:none} +/* ⚠️ 临时隐藏开关(2026-09-22):「记一下」弹层里的「今天已使用」快捷区 + 日期/今天已记 那行 + **功能尚未实现**(数据是写死的演示值),产品要求先整体隐藏、代码保留。 + 用法:在 index.html 对应元素上挂 .tbd-hide。 + 恢复:去掉 index.html 里那三处 .tbd-hide 即可(js/app.js 的 dedupeApps 会自动重新生效)。 */ +.tbd-hide{display:none!important} + /* 「今日心情」已删除,只剩 3 个工具,所以是 3 列 */ .quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px} .quick{border-radius:17px;padding:13px 8px;text-align:center;transition:transform .16s}