From 25b81e9a1191b5ff26013ca8b2df2aef08084d6b Mon Sep 17 00:00:00 2001 From: Yuzhiran Dev Date: Sat, 11 Jul 2026 01:00:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=99=BB=E5=BD=95=E9=A1=B5=E6=94=B9?= =?UTF-8?q?=E9=80=A0+=E4=BA=AE=E8=89=B2=E9=BB=98=E8=AE=A4=E4=B8=BB?= =?UTF-8?q?=E9=A2=98+=E9=A2=9C=E8=89=B2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 登录页:修复 isMiniApp 检测逻辑,tab切换和注册按钮正常 - 主题系统:默认改为亮色模式,暗色可通过设置页切换 - 主题切换:设置页暗色开关已绑定实际切换逻辑 - 颜色修复:所有页面标题硬编码 #fff/white 改为 var(--text-primary) - theme.scss 精简为工具类,变量定义集中到 App.vue --- frontend/ai-dimension/src/App.vue | 260 ++++++++++---- .../src/pages/achievements/achievements.vue | 4 +- frontend/ai-dimension/src/pages/chat/chat.vue | 2 +- .../src/pages/dimension/dimension.vue | 2 +- .../src/pages/favorites/favorites.vue | 2 +- .../ai-dimension/src/pages/index/index.vue | 6 +- .../src/pages/leaderboard/leaderboard.vue | 4 +- .../ai-dimension/src/pages/login/login.vue | 319 +++++++++--------- frontend/ai-dimension/src/pages/news/news.vue | 4 +- .../src/pages/payment/payment.vue | 4 +- .../src/pages/profile/profile.vue | 4 +- .../src/pages/settings/settings.vue | 104 ++++-- .../ai-dimension/src/pages/trend/trend.vue | 2 +- frontend/ai-dimension/src/styles/theme.scss | 136 +------- 14 files changed, 470 insertions(+), 383 deletions(-) diff --git a/frontend/ai-dimension/src/App.vue b/frontend/ai-dimension/src/App.vue index 5654c8c..9ea99f6 100644 --- a/frontend/ai-dimension/src/App.vue +++ b/frontend/ai-dimension/src/App.vue @@ -9,7 +9,6 @@ import { onLaunch, onShow, onHide } from '@dcloudio/uni-app' onLaunch(() => { console.log('[AI维度] App launched') - // 初始化主题 initTheme() }) @@ -22,78 +21,108 @@ onHide(() => { }) function initTheme() { - // 从本地存储读取主题偏好 - const theme = uni.getStorageSync('theme') || 'dark' + const theme = uni.getStorageSync('theme') || 'light' applyTheme(theme) } function applyTheme(theme) { - if (theme === 'light') { - document.documentElement.classList.add('theme-light') - } else { - document.documentElement.classList.remove('theme-light') + try { + // H5 环境直接操作 document + const root = document.documentElement + if (theme === 'dark') { + root.classList.add('theme-dark') + root.classList.remove('theme-light') + } else { + root.classList.remove('theme-dark') + root.classList.add('theme-light') + } + } catch (e) { + // 小程序环境:document 不存在,直接忽略 } } \ No newline at end of file diff --git a/frontend/ai-dimension/src/pages/achievements/achievements.vue b/frontend/ai-dimension/src/pages/achievements/achievements.vue index 79768cc..b57ed19 100644 --- a/frontend/ai-dimension/src/pages/achievements/achievements.vue +++ b/frontend/ai-dimension/src/pages/achievements/achievements.vue @@ -178,7 +178,7 @@ function formatDate(dateStr) { .title { font-size: 22px; font-weight: 600; - color: #fff; + color: var(--text-primary); } .unlock-count { @@ -240,7 +240,7 @@ function formatDate(dateStr) { .category-name { font-size: 15px; - color: #fff; + color: var(--text-primary); font-weight: 500; flex: 1; } diff --git a/frontend/ai-dimension/src/pages/chat/chat.vue b/frontend/ai-dimension/src/pages/chat/chat.vue index 0393cd4..a1862d3 100644 --- a/frontend/ai-dimension/src/pages/chat/chat.vue +++ b/frontend/ai-dimension/src/pages/chat/chat.vue @@ -237,7 +237,7 @@ function goShare() { .chat-name { font-size: 16px; - color: white; + color: var(--text-primary); font-weight: 600; display: block; } diff --git a/frontend/ai-dimension/src/pages/dimension/dimension.vue b/frontend/ai-dimension/src/pages/dimension/dimension.vue index 878c679..5e7cc50 100644 --- a/frontend/ai-dimension/src/pages/dimension/dimension.vue +++ b/frontend/ai-dimension/src/pages/dimension/dimension.vue @@ -194,7 +194,7 @@ function goDetail(item) { overflow: hidden; } .dim-banner-icon { font-size: 28px; display: block; margin-bottom: 8px; } -.dim-banner-title { font-size: 22px; color: #fff; display: block; margin-bottom: 6px; } +.dim-banner-title { font-size: 22px; color: var(--text-primary); display: block; margin-bottom: 6px; } .dim-banner-desc { font-size: 12px; color: rgba(255,255,255,0.4); diff --git a/frontend/ai-dimension/src/pages/favorites/favorites.vue b/frontend/ai-dimension/src/pages/favorites/favorites.vue index 5e5114d..b0e80ad 100644 --- a/frontend/ai-dimension/src/pages/favorites/favorites.vue +++ b/frontend/ai-dimension/src/pages/favorites/favorites.vue @@ -134,7 +134,7 @@ function goHome() { .title { font-size: 22px; font-weight: 600; - color: #fff; + color: var(--text-primary); } .count-badge { diff --git a/frontend/ai-dimension/src/pages/index/index.vue b/frontend/ai-dimension/src/pages/index/index.vue index 9f89443..5c2ad65 100644 --- a/frontend/ai-dimension/src/pages/index/index.vue +++ b/frontend/ai-dimension/src/pages/index/index.vue @@ -195,7 +195,7 @@ function goNewsDetail(item) { } .brand-text .title { font-size: 20px; - color: #fff; + color: var(--text-primary); font-weight: 700; letter-spacing: 1px; } @@ -225,7 +225,7 @@ function goNewsDetail(item) { } .greeting-title { font-size: 26px; - color: #fff; + color: var(--text-primary); font-weight: 700; } .greeting-highlight { @@ -266,7 +266,7 @@ function goNewsDetail(item) { } .section-title { font-size: 17px; - color: #fff; + color: var(--text-primary); font-weight: 600; letter-spacing: 0.5px; } diff --git a/frontend/ai-dimension/src/pages/leaderboard/leaderboard.vue b/frontend/ai-dimension/src/pages/leaderboard/leaderboard.vue index f20ecc5..8825483 100644 --- a/frontend/ai-dimension/src/pages/leaderboard/leaderboard.vue +++ b/frontend/ai-dimension/src/pages/leaderboard/leaderboard.vue @@ -152,7 +152,7 @@ function dimDotColor(id) { .title { font-size: 22px; font-weight: 600; - color: #fff; + color: var(--text-primary); } // 维度切换 @@ -178,7 +178,7 @@ function dimDotColor(id) { .dim-tab.active { background: linear-gradient(135deg, rgba(179, 136, 255, 0.15), rgba(77, 182, 172, 0.15)); border-color: rgba(179, 136, 255, 0.3); - color: #fff; + color: var(--text-primary); font-weight: 500; } diff --git a/frontend/ai-dimension/src/pages/login/login.vue b/frontend/ai-dimension/src/pages/login/login.vue index c7a781c..297d9ec 100644 --- a/frontend/ai-dimension/src/pages/login/login.vue +++ b/frontend/ai-dimension/src/pages/login/login.vue @@ -14,51 +14,49 @@ 宇之然 AI 维度 从 5 个维度系统理解人工智能 - - - - + + + 登录 + 注册 - -