docs(memory): test01 排查结论(窄屏全藏 / themeName 回退)

This commit is contained in:
tamakyi
2026-10-20 18:24:21 +08:00
parent 6c014b3ad2
commit 2d4609dc0e
2 changed files with 32 additions and 0 deletions
+26
View File
@@ -262,3 +262,29 @@ box 页 inherit 时 `addDisabled/bgDisabled` 都 false;在 box 加层后本页
UI 踩坑:面板仅 ~240px,`input[type=range]` 有固有宽度 → 必须 `flex:1 1 0;width:0;min-width:0`,
且质量数值要放进 label 里(作第三个 flex 项会被顶出可视区,表现为"滑块没有数字")。
## 18:2x 排查用户部署的 test01:窄屏素材消失 + 主题名显示成 key
用户自己导出 test01 部署到 box-dev-api(admin6),报两个问题。**两个都复现了,都不是"环境坏了"。**
**测试环境体检(都正常)**:`/_/admin6` 200、`test01.css` 200 且与本地 md5 一致、
`base.css?v=20261020f`(新版,含 `--tb-page-position`)、`<html data-theme-style="test01" data-page-scope="box">`。
部署本身是干净的。
**问题 1:窄屏素材消失** = 工程里「窄屏隐藏全部装饰层」勾着 → 导出 CSS 的 `@media` 把 10 槽全写 `none`。
桌面完全不受影响,所以只看桌面发现不了。定位过程绕了两步弯路,记下来:
- 先怀疑 CSS 表达式非法(`clamp(min(calc(...)),…)`)→ 最小复现页证明**表达式没问题**,图能显示。
- 再怀疑层级:其实素材位置 `calc(50% - 0.67vh)` 正好在**卡片正下方**,卡片 `rgba(255,255,255,0.86)`
只剩 14% 可见,本来就非常淡。
- ⚠️ **本地 preview 快照没有 `data-page-scope`**(TestGenPreview 不走 Contexter),所以
`[data-page-scope="question"]` 覆盖块在快照里根本不生效,读到的是 global 的 `--tb-deco: none`。
本地验证主题必须手动给 `<html>` 补 `data-page-scope`,否则会误判成"主题没生效"。
- 修:删掉 test01.css 的 @media 段(装饰是 fit 单位,浏览器自己会缩)。390 截图确认素材回来了。
- 生成器侧:勾选时橙色警告(几层会消失)+ 图层行标「窄屏隐藏」+ 加层/导出提醒 +
「窄屏」下拉被覆盖时标注;新增 `?narrow=hide` 复现。
**问题 2:设置页显示 `theme.name.test01`** = 模板直接 `{{t .LangCode (printf "theme.name.%s" .Slug)}}`,
`i18n.T` 缺词条返回 key。修:`theme.DisplayName(lang, slug)` 缺词条回退 slug,模板函数 `themeName`。
加了 `TestDisplayName`(自建主题必须回退 slug,不能返回 key)。这样自建主题依旧零改代码。
StaticVersion → `20261020g`(主题 css 内容变了,不换缓存键浏览器 1 天内还是旧文件)。