From b90ae89b0ec94067e1097a31968eb3a28949f0a5 Mon Sep 17 00:00:00 2001 From: oneao Date: Mon, 17 Aug 2026 22:52:27 +0800 Subject: [PATCH] 20260817225227 --- .../layouts-dark-light-adaptation_aa221499.md | 74 + code/fms/FMS新系统架构设计.md | 2481 +++++++++++++++++ code/fms/fms-vue/index.html | 800 +++++- .../src/components/ui/ColorThemePicker.vue | 98 - .../fms-vue/src/components/ui/ThemeToggle.vue | 61 - .../src/components/ui/button/button.vue | 7 +- .../fms-vue/src/components/ui/demo/date.vue | 4 +- .../fms-vue/src/components/ui/demo/drawer.vue | 10 +- .../src/components/ui/demo/dropdown.vue | 7 +- .../fms-vue/src/components/ui/demo/form.vue | 7 +- .../fms-vue/src/components/ui/demo/modal.vue | 5 +- .../fms-vue/src/components/ui/demo/select.vue | 7 +- .../fms-vue/src/components/ui/demo/spin.vue | 5 +- .../src/components/ui/demo/splitter.vue | 4 +- .../fms-vue/src/components/ui/demo/tabs.vue | 4 +- .../src/components/ui/drawer/drawer.vue | 7 +- .../components/ui/dropdown/DropdownItem.vue | 4 +- .../src/components/ui/dropdown/dropdown.vue | 10 +- .../ui/message/message-container.vue | 12 +- .../fms-vue/src/components/ui/modal/modal.vue | 24 +- .../notification/notification-container.vue | 12 +- .../components/ui/pagination/pagination.vue | 4 +- .../src/components/ui/popover/popover.vue | 9 +- .../fms-vue/src/components/ui/spin/spin.vue | 4 +- .../src/components/ui/switch/index.scss | 4 +- .../fms-vue/src/components/ui/tabs/tabs.vue | 3 +- .../fms/fms-vue/src/components/ui/tag/tag.vue | 3 +- .../fms/fms-vue/src/layouts/DefaultLayout.vue | 64 +- .../src/layouts/components/AppSidebar.vue | 11 +- .../src/layouts/components/AppTabs.vue | 15 +- .../src/layouts/components/AppTopbar.vue | 91 +- code/fms/fms-vue/src/router/index.js | 24 +- code/fms/fms-vue/src/stores/app.js | 33 +- code/fms/fms-vue/src/utils/cacheKey.js | 11 + .../fms/fms-vue/src/views/dashboard/index.vue | 26 +- code/fms/fms-vue/src/views/demo/index.vue | 116 +- .../fms-vue/src/views/detail/DetailPage.vue | 129 + code/fms/fms-vue/src/views/login/index.vue | 14 +- code/fms/fms-vue/src/views/test/TestPage.vue | 10 +- 39 files changed, 3861 insertions(+), 353 deletions(-) create mode 100644 code/fms/.codebuddy/plans/layouts-dark-light-adaptation_aa221499.md create mode 100644 code/fms/FMS新系统架构设计.md delete mode 100644 code/fms/fms-vue/src/components/ui/ColorThemePicker.vue delete mode 100644 code/fms/fms-vue/src/components/ui/ThemeToggle.vue create mode 100644 code/fms/fms-vue/src/utils/cacheKey.js create mode 100644 code/fms/fms-vue/src/views/detail/DetailPage.vue diff --git a/code/fms/.codebuddy/plans/layouts-dark-light-adaptation_aa221499.md b/code/fms/.codebuddy/plans/layouts-dark-light-adaptation_aa221499.md new file mode 100644 index 00000000..eb3f571e --- /dev/null +++ b/code/fms/.codebuddy/plans/layouts-dark-light-adaptation_aa221499.md @@ -0,0 +1,74 @@ +--- +name: layouts-dark-light-adaptation +overview: 修复 layouts 下未做 dark/light 主题适配的硬编码样式,统一改用 --fms-* token。 +todos: + - id: fix-apptabs-active + content: 修改 AppTabs.vue 激活态与关闭按钮的硬编码白色为 var(--fms-primary-text) 与 color-mix 派生 + status: completed + - id: fix-apptopbar-check + content: 修改 AppTopbar.vue .check 对勾 color:#fff 为 var(--fms-primary-text) + status: completed + - id: lint-check + content: 运行 pnpm lint 静态检查确认无新增告警 + status: completed + dependencies: + - fix-apptabs-active + - fix-apptopbar-check +--- + +## 用户需求 + +检查 `src/layouts` 下所有文件并结合 `src/theme/tokens.css`,定位未做 dark/light 模式适配的硬编码样式,并用 `--fms-*` token 替换修复,使其跟随主题切换。 + +## 产品概述 + +FMS Vue 前端布局壳(顶栏 / 侧栏 / 页签 / 导航菜单)基于 `tokens.css` 的 CSS 变量做深浅色适配。本次仅修复布局层残留的硬编码颜色,保证切换深色模式时视觉一致。 + +## 核心功能 + +- 修复 `AppTabs.vue` 激活页签的硬编码白色文字与关闭按钮白色(含 hover 态),改用 `var(--fms-primary-text)` 及基于主色文字色的 `color-mix` 派生。 +- 修复 `AppTopbar.vue` 主题色板选中对勾的硬编码 `color: #fff`,改用 `var(--fms-primary-text)`。 +- 保持其余已正确使用 token 的样式不变(DefaultLayout / AppSidebar / NavMain / NavMenuItem 及 AppTopbar 其他部分均无需改动)。 + +## 技术栈 + +- Vue 3 ` @@ -259,16 +255,632 @@ aria-busy="true" >
-
diff --git a/code/fms/fms-vue/src/components/ui/ColorThemePicker.vue b/code/fms/fms-vue/src/components/ui/ColorThemePicker.vue deleted file mode 100644 index 97b4c7eb..00000000 --- a/code/fms/fms-vue/src/components/ui/ColorThemePicker.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/code/fms/fms-vue/src/components/ui/ThemeToggle.vue b/code/fms/fms-vue/src/components/ui/ThemeToggle.vue deleted file mode 100644 index 9eac7368..00000000 --- a/code/fms/fms-vue/src/components/ui/ThemeToggle.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/code/fms/fms-vue/src/components/ui/button/button.vue b/code/fms/fms-vue/src/components/ui/button/button.vue index c7a7a57f..7a73cf8d 100644 --- a/code/fms/fms-vue/src/components/ui/button/button.vue +++ b/code/fms/fms-vue/src/components/ui/button/button.vue @@ -52,7 +52,12 @@ const classes = computed(() => [