From a422034b2bb86abaf17e96cd2da8fd87493ca036 Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Sat, 15 Aug 2026 16:20:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF:=20=E6=B5=85=E8=89=B2?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=20+=20=E7=B3=BB=E7=BB=9F=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=B8=BB=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入语义化 CSS 变量令牌(bg/surface/edge/ink/muted/accent 等), data-theme 三态切换 - theme store(localStorage + 系统偏好跟随), 首屏内联脚本防主题闪烁 - ThemeToggle 组件(浅色/深色/跟随系统) 置于导航与控制台顶栏 - 全量替换硬编码 zinc/emerald/red 类为令牌, 图表基线/状态色随主题适配 - 浅色对比度校准(accent/err/warn 深浅各一套) Co-Authored-By: Claude --- web/index.html | 15 +++- web/src/components/layout/ShellLayout.vue | 24 +++--- web/src/components/ui/Badge.vue | 10 +-- web/src/components/ui/Button.vue | 6 +- web/src/components/ui/Input.vue | 8 +- web/src/components/ui/Modal.vue | 8 +- web/src/components/ui/Skeleton.vue | 2 +- web/src/components/ui/ThemeToggle.vue | 32 ++++++++ web/src/components/ui/ToastHost.vue | 4 +- web/src/components/ui/TrendChart.vue | 6 +- web/src/main.ts | 8 +- web/src/stores/theme.ts | 42 ++++++++++ web/src/style.css | 98 ++++++++++++++++------- web/src/views/LandingView.vue | 88 ++++++++++---------- web/src/views/LoginView.vue | 10 ++- web/src/views/RegisterView.vue | 10 ++- web/src/views/admin/ChannelsView.vue | 28 +++---- web/src/views/admin/ConfigView.vue | 24 +++--- web/src/views/admin/ModelsView.vue | 32 ++++---- web/src/views/admin/OverviewView.vue | 34 ++++---- web/src/views/admin/UsersView.vue | 38 ++++----- web/src/views/console/DashboardView.vue | 34 ++++---- web/src/views/console/KeysView.vue | 20 ++--- web/src/views/console/UsageView.vue | 48 +++++------ 24 files changed, 380 insertions(+), 249 deletions(-) create mode 100644 web/src/components/ui/ThemeToggle.vue create mode 100644 web/src/stores/theme.ts diff --git a/web/index.html b/web/index.html index 25f096b..ba17d3d 100644 --- a/web/index.html +++ b/web/index.html @@ -1,10 +1,21 @@ - + - + openteam · LLM API 中转站 diff --git a/web/src/components/layout/ShellLayout.vue b/web/src/components/layout/ShellLayout.vue index 7719821..404bc44 100644 --- a/web/src/components/layout/ShellLayout.vue +++ b/web/src/components/layout/ShellLayout.vue @@ -4,6 +4,7 @@ import { useRouter } from 'vue-router' import { PhList } from '@phosphor-icons/vue' import { useAuthStore } from '@/stores/auth' import { fmtMoney } from '@/lib/format' +import ThemeToggle from '@/components/ui/ThemeToggle.vue' interface NavItem { to: string @@ -27,7 +28,7 @@ async function logout() {