关怀模式

This commit is contained in:
Developer
2026-04-02 22:30:49 +08:00
parent 09fee0694c
commit 7872f2e78a
70 changed files with 4884 additions and 2752 deletions

View File

@@ -0,0 +1,87 @@
/// 时间: 2026-04-02
/// 功能: 应用动态颜色管理
/// 介绍: 提供基于 ThemeController 的动态颜色获取,支持主题色实时切换
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../services/get/theme_controller.dart';
/// 应用颜色管理类
/// 使用 GetX 获取当前主题色,支持动态切换
class AppColors {
/// 获取 ThemeController 实例
static ThemeController get _themeController => Get.find<ThemeController>();
/// 当前主题色(动态获取)
static Color get primary => _themeController.currentThemeColor;
/// 当前强调色(动态获取)
static Color get accent => _themeController.currentAccentColor;
/// 是否为深色模式
static bool get isDarkMode => _themeController.isDarkMode;
/// iOS 系统风格颜色
static const Color iosBlue = Color(0xFF007AFF);
static const Color iosGreen = Color(0xFF34C759);
static const Color iosRed = Color(0xFFFF3B30);
static const Color iosOrange = Color(0xFFFF9500);
static const Color iosYellow = Color(0xFFFFCC00);
static const Color iosPurple = Color(0xFF5856D6);
static const Color iosTeal = Color(0xFF5AC8FA);
static const Color iosPink = Color(0xFFFF2D55);
static const Color iosIndigo = Color(0xFF5856D6);
static const Color iosGray = Color(0xFF8E8E93);
static const Color iosLightGray = Color(0xFFE5E5EA);
static const Color iosDarkGray = Color(0xFF3C3C43);
/// 深色模式背景色
static const Color darkBackground = Color(0xFF1A1A1A);
static const Color darkSurface = Color(0xFF2A2A2A);
static const Color darkCard = Color(0xFF333333);
/// 浅色模式背景色
static const Color lightBackground = Color(0xFFF2F2F7);
static const Color lightSurface = Colors.white;
static const Color lightCard = Color(0xFFF2F2F7);
/// 获取背景色(根据主题模式)
static Color get background => isDarkMode ? darkBackground : lightBackground;
/// 获取表面色(根据主题模式)
static Color get surface => isDarkMode ? darkSurface : lightSurface;
/// 获取卡片色(根据主题模式)
static Color get card => isDarkMode ? darkCard : lightCard;
/// 获取主文本色(根据主题模式)
static Color get primaryText => isDarkMode ? Colors.white : Colors.black;
/// 获取次文本色(根据主题模式)
static Color get secondaryText =>
isDarkMode ? Colors.grey[400]! : iosDarkGray.withAlpha(153);
/// 获取三级文本色(根据主题模式)
static Color get tertiaryText => isDarkMode ? Colors.grey[500]! : iosGray;
/// 获取分隔线颜色(根据主题模式)
static Color get divider => isDarkMode ? Colors.grey[700]! : iosLightGray;
/// 获取带透明度的主题色
static Color primaryWithAlpha(int alpha) => primary.withAlpha(alpha);
/// 获取带透明度的强调色
static Color accentWithAlpha(int alpha) => accent.withAlpha(alpha);
/// 成功色绿色iOS风格
static const Color success = iosGreen;
/// 警告色橙色iOS风格
static const Color warning = iosOrange;
/// 错误色红色iOS风格
static const Color error = iosRed;
/// 信息色蓝色iOS风格
static const Color info = iosBlue;
}

View File

@@ -0,0 +1,51 @@
/// 时间: 2026-04-02
/// 功能: 主题颜色管理
/// 介绍: 提供主题颜色的管理和获取功能
import 'package:flutter/material.dart';
import '../../constants/app_constants.dart';
class ThemeColors {
// 主题颜色选项
static const List<Color> themeColors = [
AppConstants.primaryColor, // 默认紫色
Colors.blue, // 蓝色
Colors.green, // 绿色
Colors.orange, // 橙色
Colors.red, // 红色
Colors.teal, // 青色
Color(0xFF8B4513), // 书褐色 - 传统中国风
];
// 强调色选项
static const List<Color> accentColors = [
AppConstants.primaryColor, // 默认紫色
Colors.yellow, // 黄色
Colors.pink, // 粉色
Colors.cyan, // 青色
Colors.purple, // 深紫色
Color(0xFFF5F5F0), // 宣纸色 - 米白色
];
// 中国传统色彩
static const Color ricePaperColor = Color(0xFFF5F5F0); // 宣纸色 - 米白
static const Color inkBlackColor = Color(0xFF3C2A21); // 墨黑色
static const Color bookBrownColor = Color(0xFF5D4037); // 书褐色
static const Color traditionalBrownColor = Color(0xFF8B4513); // 传统褐色
// 根据索引获取主题颜色
static Color getThemeColor(int index) {
if (index >= 0 && index < themeColors.length) {
return themeColors[index];
}
return themeColors[0]; // 默认返回第一个颜色
}
// 根据索引获取强调色
static Color getAccentColor(int index) {
if (index >= 0 && index < accentColors.length) {
return accentColors[index];
}
return accentColors[0]; // 默认返回第一个颜色
}
}