fix(system-settings): 修复线上主题/排期/聚合登录等配置缺失,对新 DB 字段用 SYSTEM_SETTINGS_DEFAULTS 兜底 + 更新接口允许写入新字段 + 缩短 Redis 缓存 TTL
构建并部署 BYW VoiceHub / Preflight 语法与构建检查 (push) Failing after 15m0s
构建并部署 BYW VoiceHub / 构建并推送容器镜像 (push) Skipped
构建并部署 BYW VoiceHub / 部署到生产服务器 (push) Failing after 3s

- site-config.get.ts:filterPublicSettings 和 Redis/DB 命中分支全部先合并 SYSTEM_SETTINGS_DEFAULTS,解决老库无 schema 新字段导致 public 返回 defaultTheme=light、enabledThemes=light,dark 等旧值的问题
- admin/system-settings/index.post.ts:新增 ~40 个白名单字段(主题/排期可见范围/留言自动审查/OAuth 聚合/首次强制改密/投稿限制/卡密/注册审核/自动备份/统计代码等),支持管理面板保存生效;更新返回结果用 fillDefaults(DEFAULTS) 兜底
- admin/system-settings/index.ts (GET):返回 DB 记录前合并 SYSTEM_SETTINGS_DEFAULTS,避免管理后台 UI 拿不到新字段
- cacheService.ts:CACHE_TTL.SYSTEM_SETTINGS 3600s → 900s(60min→15min),防止 Redis 单机挂或旧脏值导致配置变更长时间不生效
This commit is contained in:
2026-09-11 21:39:45 +08:00
parent daa86ef50f
commit 13b9b72170
4 changed files with 585 additions and 10 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ const CACHE_TTL = {
SONG_COUNT: 180, // 3分钟
USER_VOTES: 120, // 2分钟
EMPTY_RESULT: 60, // 1分钟(空结果缓存时间较短)
SYSTEM_SETTINGS: 3600, // 60分钟
SYSTEM_SETTINGS: 900, // 15分钟(新功能上线后避免 Redis 缓存旧 DB 值导致主题/排期等配置失效)
RANDOM_OFFSET: 60, // 随机偏移量,防止缓存雪崩
LOCK_TIMEOUT: 30, // 分布式锁超时时间
REFRESH_AHEAD: 60 // 提前刷新时间(秒)