审查报告里标「🔴 完全未查」的两块之一(另一块是金额精度,已另出报告)。
查到一个真实缺陷:6 处用了已废弃的栏目名「阿里故事」。
| 项 | 结论 |
|---|---|
| 编造式兜底文案(昨晚那个「在地工坊手作」类) | ✅ 0 处 —— 确实修干净了 |
| 错误/状态提示类兜底 | ✅ 22 处,合理 |
| 🔴 「阿里故事」这个已废弃栏目名 | 6 处,其中 1 处是写死 |
扫全部 .ts 里的 || '中文' / ?? "中文" 兜底 = 83 处,
按性质分三类(不能只统计有无中文):
| 类别 | 数量 | 判定 |
|---|---|---|
| 错误/状态提示(加载失败/请重试/暂无数据…) | 22 | ✅ 合理 |
| 分类标签(风物/套餐/文章/健康自查…) | 19 | 🟡 逐个判 |
| 🔴 可能编造事实(手作/工坊/传承/非遗/千年/独家…) | 0 | ✅ 昨晚那个问题真修干净了 |
⇒ 昨晚的「在地工坊手作」确实被 130d6d46 那轮清掉了。
芝达布日 27 篇 · 历史 15 · 地理 15 · 实务 14 · 住哪里 11 · 转山 10
人物 10 · 人文 10 · 带走什么 8 · 怎么玩 7 · 符号 6 · 怎么来 6 · 关于 5
13 个栏目,一个叫「阿里故事」的都没有。
⇒ 这是早期写的、后来栏目体系改了,兜底文案没跟着改。
| 位置 | 形态 | 用户看到什么 |
|---|---|---|
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:130const 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。
| # | 改动 | 风险 |
|---|---|---|
| 1 | sel-routes.ts:130 改为按真实栏目显示 | 低,且建议尽快(客人可见的错信息) |
| 2 | content-library.ts:124/127 改为中性的「神山秘境 · 文库」 | 低(分享标题写死,与栏目无关) |
| 3 | content-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 一律写文件再执行(第三次栽在这类问题上)。
写文件后一次通过,且以后不会再撞引号/转义问题。