前端渲染层审查 · 2026-10-09 13:25

审查报告里标「🔴 完全未查」的两块之一(另一块是金额精度,已另出报告)。
查到一个真实缺陷:6 处用了已废弃的栏目名「阿里故事」。

一、结论

项结论
编造式兜底文案(昨晚那个「在地工坊手作」类)✅ 0 处 —— 确实修干净了
错误/状态提示类兜底✅ 22 处,合理
🔴 「阿里故事」这个已废弃栏目名6 处,其中 1 处是写死

二、怎么查的(可复核)

扫全部 .ts 里的 || '中文' / ?? "中文" 兜底 = 83 处,

按性质分三类(不能只统计有无中文):

类别数量判定
错误/状态提示(加载失败/请重试/暂无数据…)22✅ 合理
分类标签(风物/套餐/文章/健康自查…)19🟡 逐个判
🔴 可能编造事实(手作/工坊/传承/非遗/千年/独家…)0✅ 昨晚那个问题真修干净了

⇒ 昨晚的「在地工坊手作」确实被 130d6d46 那轮清掉了。


三、🔴 查实的缺陷:6 处「阿里故事」

证据:内容库没有这个栏目(生产库实测)

芝达布日 27 篇 · 历史 15 · 地理 15 · 实务 14 · 住哪里 11 · 转山 10
人物 10 · 人文 10 · 带走什么 8 · 怎么玩 7 · 符号 6 · 怎么来 6 · 关于 5

13 个栏目,一个叫「阿里故事」的都没有。

⇒ 这是早期写的、后来栏目体系改了,兜底文案没跟着改。

6 处明细

位置形态用户看到什么
content-library.ts:124写死分享「文库」⇒ 标题永远是「文库 · 阿里故事」
content-library.ts:127写死分享到朋友圈,同上
content-article.ts:302兜底(标题缺失时)分享文章标题变成「阿里故事」
content-article.ts:311兜底同上
sel-routes.ts:130写死🔴 选路卡上任意文章都被打上「文库·阿里故事」标签
content-library.ts:124/127—见上

🔴 最该改的是 sel-routes.ts:130

const mapped = rows.map((r: any) => ({
  ...
  cat,                          // 🔑 真实栏目就在这里
  sourceLabel: '文库·阿里故事',  // 🔴 却是写死的
  facts: [r.category || cat, (r.summary || '').slice(0, 30)],
}))

🔴 它有 cat 变量可用,却没用 —— 意味着「历史」栏目和「地理」栏目的文章,

在选路卡上全都显示「文库·阿里故事」,客人看到的是错的信息。

修法(一行):

sourceLabel: '文库·' + (r.category || cat),

或直接用栏目名:sourceLabel: r.category || cat。


四、修改建议

#改动风险
1sel-routes.ts:130 改为按真实栏目显示低,且建议尽快(客人可见的错信息)
2content-library.ts:124/127 改为中性的「神山秘境 · 文库」低(分享标题写死,与栏目无关)
3content-article.ts:302/311 兜底改为「神山秘境 · 内容库」极低
4🟡 加门禁规则:兜底文案里不得出现业务专有名词(若它不是常量表里的)—

第 4 条的理由:这类问题的根因是「**写文案时用了一个具体值,

后来值变了文案没变**」。机器能查的是「兜底文案里有没有业务专有名词」。


五、🔴 本轮仍未覆盖(诚实标注)

未查为什么重要
🔴 wxml 模板 2951 行字段绑定错位、条件渲染错误都在这
🔴 wxss 8984 行布局/可见性(今晚「全变到店选购」那类问题的土壤)
🟠 19 处分类标签已判「非编造」,但未逐个核对是否与库中真实分类一致
🟠 normalize.ts 全量只查了编造文案,没查字段映射是否错位
🔴 C 端 18 个页面行为0 页做过真机行为审查

⇒ 这份报告可用于「兜底文案」维度的决策,不能当作「前端已审查」。

六、我在这轮的一个错

第一次查内容库栏目时用了 ORDER BY 2 DESC(2 指聚合列),

PostgreSQL 报 ORDER BY position 2 is not in select list。

⇒ 🔴 SQL 一律写文件再执行(第三次栽在这类问题上)。

写文件后一次通过,且以后不会再撞引号/转义问题。