From 799d799bb998f07df5782dd2696f487324c0630d Mon Sep 17 00:00:00 2001 From: cnliucheng Date: Wed, 8 Jul 2026 11:52:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=B1=E8=89=B2=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E9=AB=98=E4=BA=AE/=E5=8D=A0=E4=BD=8D=E5=85=83?= =?UTF-8?q?=E7=B4=A0=E6=AD=A3=E7=A1=AE=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改: - theme.js: 新增 --bg-soft 变量(浅色 #F0F0F0, 深色 #2C2C2E) - settings.wxss: .theme-item.active / .plan-item.active 改用 rgba(var(--primary-rgb), 0.12) 替代 var(--primary-bg) - leaderboard.wxss: - .period-tabs 背景用 var(--card-bg) 替代 #FFFFFF - .rank-num / .rank-avatar 用 var(--bg-soft) 替代硬编码灰 - .rank-item.is-me / .my-bar 用 rgba() 替代 var(--primary-bg) 根因: --primary-bg 是品牌色极浅版,深色模式下仍是浅色, 不适合做高亮底色。rgba() 在两种模式下都自适应。 --- pages/leaderboard/leaderboard.wxss | 12 ++++++------ pages/settings/settings.wxss | 4 ++-- utils/theme.js | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pages/leaderboard/leaderboard.wxss b/pages/leaderboard/leaderboard.wxss index d016626..6815695 100644 --- a/pages/leaderboard/leaderboard.wxss +++ b/pages/leaderboard/leaderboard.wxss @@ -8,7 +8,7 @@ /* Period tabs */ .period-tabs { display: flex; - background: #FFFFFF; + background: var(--card-bg); padding: 0 32rpx; border-bottom: 1rpx solid var(--border); position: sticky; @@ -91,7 +91,7 @@ } .rank-item.is-me { - background: var(--primary-bg); + background: rgba(var(--primary-rgb), 0.12); border: 2rpx solid var(--primary); } @@ -106,20 +106,20 @@ font-weight: 700; color: var(--text-secondary); border-radius: 50%; - background: #F5F5F5; + background: var(--bg-soft); flex-shrink: 0; margin-right: 16rpx; } .rank-num.gold { background: #FFF7E6; color: #FA8C16; font-size: 36rpx; } -.rank-num.silver { background: #F0F0F0; color: #8C8C8C; font-size: 36rpx; } +.rank-num.silver { background: var(--bg-soft); color: #8C8C8C; font-size: 36rpx; } .rank-num.bronze { background: #FFF1E6; color: #D46B08; font-size: 36rpx; } .rank-avatar { width: 64rpx; height: 64rpx; border-radius: 50%; - background: #F0F0F0; + background: var(--bg-soft); flex-shrink: 0; margin-right: 16rpx; opacity: 0.6; @@ -162,7 +162,7 @@ right: 24rpx; display: flex; align-items: center; - background: var(--primary-bg); + background: rgba(var(--primary-rgb), 0.12); border: 2rpx solid var(--primary); border-radius: 16rpx; padding: 16rpx 24rpx; diff --git a/pages/settings/settings.wxss b/pages/settings/settings.wxss index 53fe91b..78d39fa 100644 --- a/pages/settings/settings.wxss +++ b/pages/settings/settings.wxss @@ -28,7 +28,7 @@ .theme-item:last-child { border-bottom: none; } .theme-item.active { - background: var(--primary-bg); + background: rgba(var(--primary-rgb), 0.12); margin: 0 -32rpx; padding-left: 32rpx; padding-right: 32rpx; @@ -78,7 +78,7 @@ .plan-item:last-child { border-bottom: none; } .plan-item.active { - background: var(--primary-bg); + background: rgba(var(--primary-rgb), 0.12); margin: 0 -32rpx; padding-left: 32rpx; padding-right: 32rpx; diff --git a/utils/theme.js b/utils/theme.js index ae9e063..13cc739 100644 --- a/utils/theme.js +++ b/utils/theme.js @@ -97,8 +97,8 @@ const setTheme = (id) => { const getThemeStyle = (theme, isDark = false) => { const t = theme || getCurrentTheme() const baseVars = isDark - ? '--text:#E5E5E7;--text-secondary:#98989F;--bg:#0F0F12;--bg-gradient-start:#0F0F12;--bg-gradient-end:#14141A;--card-bg:#1C1C1E;--border:#2C2C2E;--success:#30D158;' - : '--text:#333333;--text-secondary:#999999;--bg:#F5F5F5;--bg-gradient-start:#F5F5F5;--bg-gradient-end:#FAFAFA;--card-bg:#FFFFFF;--border:#EEEEEE;--success:#4CAF50;' + ? '--text:#E5E5E7;--text-secondary:#98989F;--bg:#0F0F12;--bg-gradient-start:#0F0F12;--bg-gradient-end:#14141A;--card-bg:#1C1C1E;--bg-soft:#2C2C2E;--border:#2C2C2E;--success:#30D158;' + : '--text:#333333;--text-secondary:#999999;--bg:#F5F5F5;--bg-gradient-start:#F5F5F5;--bg-gradient-end:#FAFAFA;--card-bg:#FFFFFF;--bg-soft:#F0F0F0;--border:#EEEEEE;--success:#4CAF50;' return `${baseVars}--primary:${t.primary};--primary-light:${t.primaryLight};--primary-bg:${t.primaryBg};--primary-rgb:${t.primaryRgb};` }