yml2213
e0d7398d37
fix(admin): 风控 tab 点了没反应 —— tab key 白名单漏登记,并合并为唯一来源
## 现象与根因
风控 tab 渲染得出来、但怎么点都切不过去,且不报错、不白屏。
原因是 tab key 名单在同一文件里写了两遍:
- isWorkerPlatformTab()(changeTab 的守卫)
- loadActiveTabPreference()(localStorage 旧选择校验)
新增风控 tab 时只把 'risk-control' 加了 TAB_QUERY_KEYS 与 Tabs items,漏了上面两处,
于是 changeTab('risk-control') 在第一行 `if (!isWorkerPlatformTab(nextTab)) return` 就返回了。
这类漏改没有任何报错信号,只能靠点一下才发现——上一轮的验证只查了构建产物里
是否含面板代码,没有验证 tab 真的能切换,所以没拦住。
## 修法
把名单抽到 utils/admin-worker-platform-tabs.ts,只保留唯一一份
WORKER_PLATFORM_TAB_KEYS;查询缓存映射与「只登记缓存但不是 tab」的例外(hall-config,
它是「杂项配置」tab 内部的区块)也一并显式化,避免下次再靠人记。
## 回归测试
新增 tests/admin-worker-platform-tabs.test.ts(5 个用例):
- 风控 tab 必须被 isWorkerPlatformTab 接受
- 每个登记了切页缓存的 tab 都必须在合法 tab 名单里 ← 正是本次漏改的形态
- 名单无重复项 / 非法 key 被拒 / 名单内自洽
2026-10-02 17:13:59 +08:00
..
2026-10-02 17:13:59 +08:00
2026-10-02 17:13:59 +08:00
2026-08-16 18:04:55 +08:00
2026-07-07 19:55:18 +08:00
2026-08-16 18:04:55 +08:00
2026-08-16 18:04:55 +08:00
2026-07-07 19:55:18 +08:00
2026-08-16 18:04:55 +08:00
2026-08-16 17:27:12 +08:00
2026-07-07 19:55:18 +08:00
2026-08-16 17:27:12 +08:00