From 63668fcf638083e4ba4d534a94729e182d09cfff Mon Sep 17 00:00:00 2001 From: sion123 <450702724@qq.com> Date: Mon, 6 Apr 2026 02:50:48 +0800 Subject: [PATCH] =?UTF-8?q?refactor(theme):=20=E4=BC=98=E5=8C=96=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E9=85=8D=E8=89=B2=E6=96=B9=E6=A1=88=E5=B9=B6=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E8=AE=BE=E8=AE=A1=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新 CLAUDE.md 中的技能系统执行逻辑,简化任务处理流程 - 重构 app_color_scheme.dart 中的颜色定义,将深色主题主色从专业蓝改为真金色,浅色主题主色从专业蓝改为深灰色 - 统一盈利颜色为绿色调色板,更新渐变和容器颜色以保持一致性 - 调整 app_theme_extension.dart 中的强调色引用,确保深色主题使用金色作为主强调色 - 优化颜色命名和注释,使设计意图更清晰 --- CLAUDE.md | 2 +- .../lib/core/theme/app_color_scheme.dart | 94 +++++++++---------- .../lib/core/theme/app_theme_extension.dart | 8 +- 3 files changed, 52 insertions(+), 52 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6912579..a140bce 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ ## 技能系统 -当处理任务时,先扫描 `.agents/skills/` 目录下是否有相关技能。如果技能可能适用,先用 Read 工具读取对应的 `SKILL.md`,然后严格遵循其指引执行。技能优先级高于默认行为,但低于用户的显式指令。 +执行任务前先判定复杂度:简单任务(改样式、调主题、修小bug、清理冗余)不读 brainstorming。复杂任务主动启用适用技能,扫描 .agents/skills/ 目录,Read 对应 SKILL.md 后严格遵循执行。技能优先级高于默认行为,但低于用户的显式指令。 ## 构建与运行命令 diff --git a/flutter_monisuo/lib/core/theme/app_color_scheme.dart b/flutter_monisuo/lib/core/theme/app_color_scheme.dart index 8b6f1cf..3c4d512 100644 --- a/flutter_monisuo/lib/core/theme/app_color_scheme.dart +++ b/flutter_monisuo/lib/core/theme/app_color_scheme.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; import 'package:shadcn_ui/shadcn_ui.dart'; -/// Material Design 3 颜色系统 - "黑金传奇" & "白金殿堂" +/// Material Design 3 颜色系统 - Pencil Design Theme /// /// 深色主题: "黑金传奇" (Black & Gold) -/// 深邃黑底 + 专业蓝主色 + 真金强调 → 赛博朋克科技感 × 金融奢华感 -/// 背景 #0A0E14 | 主色 #1E3A8A | 强调 #D4AF37 +/// 深邃黑底 + 真金主色 + 翠绿盈利 → 金融奢华感 +/// 背景 #0B1120 | 主色 #D4AF37 | 盈利 #4ADE80 /// /// 浅色主题: "白金殿堂" (White & Gold) -/// 纯净白底 + 专业蓝主色 + 亮金强调 → 高端金融科技 × 尊贵品质感 -/// 背景 #FAFAFA | 主色 #1E40AF | 强调 #FFD700 +/// 纯净白底 + 深灰主色 + 琥珀强调 → 高端金融科技 +/// 背景 #F8FAFC | 主色 #1F2937 | 强调 #F59E0B /// /// 设计原则: /// - Material Design 3 配色方案 @@ -48,16 +48,16 @@ class AppColorScheme { static const Color darkOutline = Color(0xFF64748B); static const Color darkOutlineVariant = Color(0xFF334155); - /// Primary - 专业蓝 #1E3A8A (主要交互) - static const Color darkPrimary = Color(0xFF1E3A8A); - static const Color darkPrimaryDim = Color(0xFF1E40AF); - static const Color darkPrimaryContainer = Color(0xFF3B82F6); - static const Color darkPrimaryFixed = Color(0xFF3B82F6); - static const Color darkPrimaryFixedDim = Color(0xFF2563EB); - static const Color darkOnPrimary = Color(0xFFFFFFFF); - static const Color darkOnPrimaryContainer = Color(0xFFBFDBFE); - static const Color darkOnPrimaryFixed = Color(0xFFFFFFFF); - static const Color darkOnPrimaryFixedVariant = Color(0xFFE0E7FF); + /// Primary - 真金 #D4AF37 (accent-primary) + static const Color darkPrimary = Color(0xFFD4AF37); + static const Color darkPrimaryDim = Color(0xFFB8960E); + static const Color darkPrimaryContainer = Color(0xFFE8C84A); + static const Color darkPrimaryFixed = Color(0xFFE8C84A); + static const Color darkPrimaryFixedDim = Color(0xFFD4AF37); + static const Color darkOnPrimary = Color(0xFF1F2937); + static const Color darkOnPrimaryContainer = Color(0xFF1F2937); + static const Color darkOnPrimaryFixed = Color(0xFF1F2937); + static const Color darkOnPrimaryFixedVariant = Color(0xFF374151); /// Secondary - 真金 #D4AF37 (黑金强调色) static const Color darkSecondary = Color(0xFFD4AF37); @@ -70,16 +70,16 @@ class AppColorScheme { static const Color darkOnSecondaryFixed = Color(0xFF1F2937); static const Color darkOnSecondaryFixedVariant = Color(0xFF374151); - /// Tertiary - Neon Green (绿色 - 仅用于成功/盈利/买入) - static const Color darkTertiary = Color(0xFFafffd1); - static const Color darkTertiaryDim = Color(0xFF00efa0); - static const Color darkTertiaryContainer = Color(0xFF00ffab); - static const Color darkTertiaryFixed = Color(0xFF00ffab); - static const Color darkTertiaryFixedDim = Color(0xFF00efa0); - static const Color darkOnTertiary = Color(0xFF006642); - static const Color darkOnTertiaryContainer = Color(0xFF005c3b); - static const Color darkOnTertiaryFixed = Color(0xFF00472d); - static const Color darkOnTertiaryFixedVariant = Color(0xFF006742); + /// Tertiary - Profit Green #4ADE80 (profit-green) + static const Color darkTertiary = Color(0xFF4ADE80); + static const Color darkTertiaryDim = Color(0xFF22C55E); + static const Color darkTertiaryContainer = Color(0xFF86EFAC); + static const Color darkTertiaryFixed = Color(0xFF86EFAC); + static const Color darkTertiaryFixedDim = Color(0xFF4ADE80); + static const Color darkOnTertiary = Color(0xFF052E16); + static const Color darkOnTertiaryContainer = Color(0xFF052E16); + static const Color darkOnTertiaryFixed = Color(0xFF052E16); + static const Color darkOnTertiaryFixedVariant = Color(0xFF14532D); /// Error - Neon Red (红色 - 错误/卖出) static const Color darkError = Color(0xFFff716c); @@ -113,20 +113,20 @@ class AppColorScheme { static const Color lightSurfaceHigh = Color(0xFFE2E8F0); static const Color lightSurfaceHighest = Color(0xFFCBD5E1); - /// Ghost Border - Slate 300 - static const Color lightOutlineVariant = Color(0xFFCBD5E1); + /// Ghost Border - Pencil border-default + static const Color lightOutlineVariant = Color(0xFFE2E8F0); - /// Primary - 专业蓝 #1E40AF (主要交互) - static const Color lightPrimary = Color(0xFF1E40AF); - static const Color lightPrimaryContainer = Color(0xFF3B82F6); + /// Primary - Dark Slate #1F2937 (accent-primary) + static const Color lightPrimary = Color(0xFF1F2937); + static const Color lightPrimaryContainer = Color(0xFFF3F4F6); - /// Secondary - 亮金 #D4AF37 (白金强调色) - static const Color lightSecondary = Color(0xFFD4AF37); - static const Color lightSecondaryContainer = Color(0xFFFFE44D); + /// Secondary - Amber #F59E0B (gold-accent) + static const Color lightSecondary = Color(0xFFF59E0B); + static const Color lightSecondaryContainer = Color(0xFFFDE68A); - /// Tertiary - Success (买入/盈利) - static const Color lightTertiary = Color(0xFF00875A); - static const Color lightTertiaryContainer = Color(0xFFd4f5e9); + /// Tertiary - Profit Green #16A34A (profit-green) + static const Color lightTertiary = Color(0xFF16A34A); + static const Color lightTertiaryContainer = Color(0xFFDCFCE7); /// 文本色 - Slate static const Color lightOnSurface = Color(0xFF0F172A); @@ -221,9 +221,9 @@ class AppColorScheme { end: Alignment(0.7, 0.7), ); - /// 资产卡片渐变 - 蓝→金 + /// 资产卡片渐变 - 金色层次 static const LinearGradient assetCardGradient = LinearGradient( - colors: [darkPrimary, darkSecondary], + colors: [darkPrimaryContainer, darkPrimary], begin: Alignment.topLeft, end: Alignment.bottomRight, ); @@ -242,17 +242,17 @@ class AppColorScheme { primary: darkPrimary, primaryForeground: darkOnPrimary, secondary: darkSecondary, - secondaryForeground: darkOnSurface, + secondaryForeground: darkOnSecondary, muted: darkSurfaceContainerHigh, mutedForeground: darkOnSurfaceVariant, - accent: darkSecondary.withValues(alpha: 0.15), - accentForeground: darkSecondary, + accent: darkPrimary.withValues(alpha: 0.15), + accentForeground: darkPrimary, destructive: error, destructiveForeground: darkOnSurface, border: darkOutlineVariant.withValues(alpha: 0.15), input: darkOutlineVariant.withValues(alpha: 0.15), - ring: darkSecondary, - selection: darkSecondary.withValues(alpha: 0.3), + ring: darkPrimary, + selection: darkPrimary.withValues(alpha: 0.3), ); // ============================================ @@ -269,7 +269,7 @@ class AppColorScheme { primary: lightPrimary, primaryForeground: const Color(0xFFFFFFFF), secondary: lightSecondary, - secondaryForeground: lightOnSurface, + secondaryForeground: const Color(0xFFFFFFFF), muted: lightSurfaceHigh, mutedForeground: lightOnSurfaceVariant, accent: lightSecondary.withValues(alpha: 0.1), @@ -344,15 +344,15 @@ class AppColorScheme { primary: lightPrimary, onPrimary: const Color(0xFFFFFFFF), primaryContainer: lightPrimaryContainer, - onPrimaryContainer: lightOnSurface, + onPrimaryContainer: lightPrimary, secondary: lightSecondary, onSecondary: const Color(0xFFFFFFFF), secondaryContainer: lightSecondaryContainer, - onSecondaryContainer: lightOnSurface, + onSecondaryContainer: const Color(0xFF78350F), tertiary: lightTertiary, onTertiary: const Color(0xFFFFFFFF), tertiaryContainer: lightTertiaryContainer, - onTertiaryContainer: lightOnSurface, + onTertiaryContainer: const Color(0xFF052E16), error: lightError, onError: lightOnError, errorContainer: const Color(0xFFffeaea), diff --git a/flutter_monisuo/lib/core/theme/app_theme_extension.dart b/flutter_monisuo/lib/core/theme/app_theme_extension.dart index 8f1525e..3c3deac 100644 --- a/flutter_monisuo/lib/core/theme/app_theme_extension.dart +++ b/flutter_monisuo/lib/core/theme/app_theme_extension.dart @@ -31,7 +31,7 @@ class AppThemeColors extends ThemeExtension { final Color downBackground; // ---- 强调色 ---- - /// 主强调色(dark: secondary 金色, light: primary 蓝色) + /// 主强调色(dark: primary 金色, light: primary 深灰) final Color accentPrimary; // ---- 光效 ---- @@ -76,7 +76,7 @@ class AppThemeColors extends ThemeExtension { upBackground: AppColorScheme.darkTertiary.withValues(alpha: 0.15), down: AppColorScheme.darkError, downBackground: AppColorScheme.darkError.withValues(alpha: 0.15), - accentPrimary: AppColorScheme.darkSecondary, + accentPrimary: AppColorScheme.darkPrimary, glowOpacity: 0.15, ghostBorder: AppColorScheme.darkOutlineVariant.withValues(alpha: 0.15), ctaGradient: AppColorScheme.darkCtaGradient, @@ -84,7 +84,7 @@ class AppThemeColors extends ThemeExtension { sellGradient: AppColorScheme.sellGradient, assetGradient: AppColorScheme.assetCardGradient, emeraldGradient: const LinearGradient( - colors: [AppColorScheme.darkTertiary, Color(0xFF7de8b8)], + colors: [AppColorScheme.darkTertiary, AppColorScheme.darkTertiaryContainer], begin: Alignment.topLeft, end: Alignment.bottomRight, ), @@ -115,7 +115,7 @@ class AppThemeColors extends ThemeExtension { end: Alignment.bottomRight, ), emeraldGradient: const LinearGradient( - colors: [AppColorScheme.lightTertiary, Color(0xFF00c987)], + colors: [AppColorScheme.lightTertiary, AppColorScheme.lightTertiaryContainer], begin: Alignment.topLeft, end: Alignment.bottomRight, ),