feat(system): 完成前端系统管理(布局框架、三个管理页面、e2e)

- BasicLayout:侧边栏/顶栏/面包屑/移动端抽屉;菜单从路由表派生;
  路由守卫新增 requiresAdmin 层(菜单隐藏 + 直连 URL 弹回)
- 用户/角色/日志三个页面:分页请求序号防竞态、确认动作流抽 useConfirmAction、
  时间范围配 default-time、日志详情按需懒加载并缓存
- 空 catch 统一改 handledError 显式声明;词表/选项常量集中(与后端对齐),
  「停用」文案全站统一为「禁用」
- 品牌色提升为全局 token,Element Plus 主色指向赭金
- e2e:公共工具抽 common.py;系统管理 13 项(含详情懒加载脱敏断言),
  管理员密码改 E2E_ADMIN_PASSWORD 环境变量;login_flow 8 项回归通过

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
liuwenxinandClaude Code committed 2026-10-10 16:28:53 +08:00
1 parent c83287819a
commit 8355e0cc7d
26 files changed
+2785 -180

No files matched your search

+11 -11
View File
@@ -182,19 +182,19 @@ onMounted(refreshCaptcha)
<style scoped>
/*
* 配色说明:金色分两档 —— 亮金只用于深色底、深金只用于浅色底,
* 保证两处对比度都达标(深金配白字约 6.2:1)。
* 配色:品牌 token 已提升为全局(见 assets/styles/index.css,布局框架与
* 系统管理页面共用),此处只做局部别名,用法与取值均与原先一致。
*/
.login {
--ink-900: #061a22;
--ink-800: #0a2833;
--ink-700: #0f3646;
--ink-600: #1a4f63;
--gold-bright: #c9a227;
--gold-deep: #8f6520;
--paper: #fafaf7;
--text: #16262d;
--muted: #6b7b84;
--ink-900: var(--ys-ink-900);
--ink-800: var(--ys-ink-800);
--ink-700: var(--ys-ink-700);
--ink-600: var(--ys-ink-600);
--gold-bright: var(--ys-gold-bright);
--gold-deep: var(--ys-gold-deep);
--paper: var(--ys-paper);
--text: var(--ys-text);
--muted: var(--ys-muted);
display: flex;
min-height: 100vh;