管理后台界面重设计「机架 Rack」
管理后台界面重设计「机架 Rack」
- 标题:重做管理后台的设计系统、外壳与核心页面,新增深色主题与命令面板
- 目标分支:
main - 相关记录:实施计划
摘要
用一套设计令牌(web/src/styles/tokens.css)统一颜色、字号、间距、圆角与动效,浅色 / 深色两套主题,主题切换在 <html data-theme> 上完成,
index.html 里的同步内联脚本避免首屏闪白。Element Plus 保留为行为层,由 element.css 全量换肤。
外壳重做为分组导航(可折叠)、顶栏、账户菜单与命令面板;仪表盘新增指标条与 Agent 配线板;Agents、令牌、审计日志页使用共用的
IdCell(中间截断、可复制)、PagerBar、DetailDrawer、SecretBlock;其余视图通过令牌自动继承,并清除了全部写死的颜色。
用户影响
- 新增“浅色 / 深色 / 跟随系统”主题,选择保存在浏览器(
tunnelmesh_theme);WebSSH 终端跟随主题。 - 语言切换与退出移入右上角账户菜单;侧栏分组、可折叠(
[键),折叠状态保存在浏览器(tunnelmesh_nav_collapsed)。 Ctrl/⌘ + K打开命令面板,只搜导航与少量操作。- 令牌密钥弹窗默认遮罩,可显示与复制,仍只显示一次。
- 审计日志行点击打开右侧抽屉,已应用的筛选条件以可移除标签显示。
- 浏览器下限提高到 Chrome 111 / Safari 16.2 / Firefox 113(
color-mix())。 - 无接口、配置或数据库变更;Go 侧只有嵌入的前端产物变化。
依赖与许可
- 新增内置字体 Instrument Sans、Martian Mono(latin 子集,合计约 54 KB,SIL OFL 1.1),许可证文本在
web/src/assets/fonts/,已写入NOTICE。 - 移除未使用的
@element-plus/icons-vue。
验证
npm test -- --run:60 个文件 / 467 个用例通过(新增主题、令牌对比度、字体体积、Element 皮肤、图标、基础部件、导航、命令面板、 配线板、列表部件、终端主题等测试);npm run build、./scripts/verify-web-embed.sh、go test ./internal/server -run TestEmbeddedWebDist通过。- 视觉:
web/scripts/visual-qa/对 5 个页面 × 2 主题 × 2 视口截图并逐张评审。 - 过程中发现并修正:Agent 列表接口拒绝
sort=name、忽略status/enabled(见计划“偏差”),已加回归测试。
回滚
纯前端改动:回退本分支提交并重新 npm run build 同步嵌入产物即可;浏览器里遗留的 tunnelmesh_theme / tunnelmesh_nav_collapsed 键无副作用。
未完成
- 无。
docs/assets/已重截(demo.gif为五张静态截图轮播);WebSSH / SFTP e2e 已通过(TM_E2E_LOCALE=en-US可指定界面语言,并修复了英文界面下指纹确认按钮匹配不到的问题)。