Skip to content

fix(classic): 侧边栏管理默认配置统一复用 mergeAdminConfig#15

Merged
reputationly merged 1 commit into
mainfrom
fix/sidebar-admin-default-config
Jun 21, 2026
Merged

fix(classic): 侧边栏管理默认配置统一复用 mergeAdminConfig#15
reputationly merged 1 commit into
mainfrom
fix/sidebar-admin-default-config

Conversation

@reputationly

Copy link
Copy Markdown
Owner

背景

SettingsSidebarModulesAdmin 内维护了三份DEFAULT_ADMIN_CONFIG 重复的硬编码默认值(useState 初始值、重置按钮、解析失败兜底)。每次新增侧边栏模块都要同步四个地方,容易遗漏——这次的「对公转账(bankTransfer)」和之前的 myfeedback 都踩了同一个坑。

问题

运行时真实数据源 useSidebar.jsDEFAULT_ADMIN_CONFIG 已含 admin.bankTransfer: true,且 mergeAdminConfig 会用它补齐缺失键。但本组件三处本地默认值缺 bankTransfer,导致在配置缺失 / 点击重置 / 解析失败这三条旁路下:

  • 开关显示为「关」,而左侧菜单实际仍可见(状态不一致);
  • 此时直接保存,序列化 JSON 缺该键 → 运行时 merge 回 true无法真正隐藏,反直觉。

正常路径(已存配置可解析)经 mergeAdminConfig 已无此问题,仅旁路受影响。

改动

  • 三处默认值统一改为 mergeAdminConfig(null),复用唯一数据源 DEFAULT_ADMIN_CONFIG,从结构上消除该类不一致(净减 ~91 行)。
  • 补充 classic 前端 5 个语种(en/fr/ja/ru/vi)的「对公转账与发票审核管理」文案。

验证

  • prettier --check:通过
  • eslint(仅本文件):exit 0,无报错
  • Codex review:No actionable correctness issues found

建议手测

侧边栏管理 → 点「重置为默认」,确认「对公转账」开关显示为且与菜单可见状态一致;再关闭并保存,确认菜单确实隐藏。

SettingsSidebarModulesAdmin 内维护了三份与 DEFAULT_ADMIN_CONFIG 重复的
硬编码默认值(useState 初始值、重置、解析失败兜底),新增模块时容易遗漏同步。
对公转账(bankTransfer)即因此在配置缺失/重置/解析失败旁路下开关显示为关、
实际菜单仍可见,且保存也无法真正隐藏。

改为统一调用 mergeAdminConfig(null) 复用唯一数据源 DEFAULT_ADMIN_CONFIG,
从结构上消除该类不一致。补充 classic 前端 5 个语种的'对公转账与发票审核管理'文案。
@reputationly reputationly merged commit 7e1b1a4 into main Jun 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant