From d70bcfb68c9eaa2d0d19bdb68554be264c5dc6d7 Mon Sep 17 00:00:00 2001 From: wolfplus Date: Tue, 11 Mar 2025 20:39:58 +0000 Subject: [PATCH] add dark light skin --- .../com/example/deep_voice/AzureAsrHelper.kt | 114 +++- .../deep_voice/VoiceInteractionService.kt | 65 +- assets/images/headphone_light.png | Bin 143878 -> 100300 bytes lib/app/theme/theme_service.dart | 29 + lib/core/widgets/common_bottom_nav.dart | 10 +- lib/main.dart | 6 +- .../controllers/explore_controller.dart | 52 +- lib/modules/explore/views/explore_view.dart | 108 ++-- lib/modules/home/views/home_view.dart | 467 ++++++-------- .../login/controllers/login_controller.dart | 20 +- lib/modules/login/views/login_view.dart | 250 ++++---- lib/modules/pairing/views/pairing_view.dart | 63 +- .../controllers/settings_controller.dart | 19 + lib/modules/settings/views/settings_view.dart | 581 ++++++++++-------- .../splash/controllers/splash_controller.dart | 18 +- lib/modules/splash/views/splash_view.dart | 76 +-- macos/Podfile.lock | 28 +- 17 files changed, 1027 insertions(+), 879 deletions(-) create mode 100644 lib/app/theme/theme_service.dart diff --git a/android/app/src/main/kotlin/com/example/deep_voice/AzureAsrHelper.kt b/android/app/src/main/kotlin/com/example/deep_voice/AzureAsrHelper.kt index 4ec14fd2e..ed7af26a9 100644 --- a/android/app/src/main/kotlin/com/example/deep_voice/AzureAsrHelper.kt +++ b/android/app/src/main/kotlin/com/example/deep_voice/AzureAsrHelper.kt @@ -169,21 +169,46 @@ class AzureAsrHelper { } try { - // 重新创建识别器 - Log.d(TAG, "重新创建识别器") - recognizer?.close() + Log.d(TAG, "开始重置识别器和音频资源") + // 完全释放所有资源,确保干净的状态 + try { + // 释放识别器 + recognizer?.close() + recognizer = null + + // 释放音频资源 + releaseAudioResources() + + // 确保状态标志正确 + isContinuousRecognitionActive = false + isRecording = false + + Log.d(TAG, "资源释放完成,准备重新创建") + } catch (e: Exception) { + Log.e(TAG, "释放资源失败: ${e.message}", e) + // 继续执行,尝试重新创建 + } + + // 重新创建音频配置 try { - // 重新设置音频输入 setupAudioInput() - Log.d(TAG, "重新创建音频配置成功") + Log.d(TAG, "音频配置创建成功") } catch (e: Exception) { - Log.e(TAG, "重新创建音频配置失败: ${e.message}", e) + Log.e(TAG, "创建音频配置失败: ${e.message}", e) callback.onError("创建音频配置失败: ${e.message}") return false } - recognizer = SpeechRecognizer(speechConfig, audioConfig) + // 重新创建识别器 + try { + Log.d(TAG, "创建新的语音识别器") + recognizer = SpeechRecognizer(speechConfig, audioConfig) + } catch (e: Exception) { + Log.e(TAG, "创建识别器失败: ${e.message}", e) + callback.onError("创建识别器失败: ${e.message}") + return false + } // 设置识别事件处理 recognizer?.let { recognizer -> @@ -341,21 +366,45 @@ class AzureAsrHelper { // 释放资源 fun dispose() { try { + // 添加标志,避免重复释放 + if (recognizer == null && audioRecord == null && pushStream == null) { + Log.d(TAG, "资源已经释放,跳过重复释放") + return + } + + Log.d(TAG, "开始释放资源") + if (isContinuousRecognitionActive && recognizer != null) { - recognizer?.stopContinuousRecognitionAsync()?.get() + try { + recognizer?.stopContinuousRecognitionAsync()?.get() + Log.d(TAG, "连续识别已停止") + } catch (e: Exception) { + Log.e(TAG, "停止连续识别失败: ${e.message}", e) + } } - recognizer?.close() - recognizer = null + try { + recognizer?.close() + recognizer = null + Log.d(TAG, "识别器已关闭") + } catch (e: Exception) { + Log.e(TAG, "关闭识别器失败: ${e.message}", e) + } releaseAudioResources() - speechConfig?.close() - speechConfig = null + try { + speechConfig?.close() + speechConfig = null + Log.d(TAG, "语音配置已关闭") + } catch (e: Exception) { + Log.e(TAG, "关闭语音配置失败: ${e.message}", e) + } isContinuousRecognitionActive = false + Log.d(TAG, "所有资源已释放") } catch (e: Exception) { - // 忽略异常 + Log.e(TAG, "释放资源时出错: ${e.message}", e) } } @@ -365,27 +414,36 @@ class AzureAsrHelper { stopRecording() // 释放 AudioRecord - try { - audioRecord?.release() - audioRecord = null - } catch (e: Exception) { - Log.e(TAG, "释放 AudioRecord 失败: ${e.message}", e) + if (audioRecord != null) { + try { + Log.d(TAG, "释放 AudioRecord") + audioRecord?.release() + audioRecord = null + } catch (e: Exception) { + Log.e(TAG, "释放 AudioRecord 失败: ${e.message}", e) + } } // 释放 AudioConfig - try { - audioConfig?.close() - audioConfig = null - } catch (e: Exception) { - Log.e(TAG, "释放 AudioConfig 失败: ${e.message}", e) + if (audioConfig != null) { + try { + Log.d(TAG, "释放 AudioConfig") + audioConfig?.close() + audioConfig = null + } catch (e: Exception) { + Log.e(TAG, "释放 AudioConfig 失败: ${e.message}", e) + } } // 释放 PushStream - try { - pushStream?.close() - pushStream = null - } catch (e: Exception) { - Log.e(TAG, "释放 PushStream 失败: ${e.message}", e) + if (pushStream != null) { + try { + Log.d(TAG, "释放 PushStream") + pushStream?.close() + pushStream = null + } catch (e: Exception) { + Log.e(TAG, "释放 PushStream 失败: ${e.message}", e) + } } // 释放回音消除资源 diff --git a/android/app/src/main/kotlin/com/example/deep_voice/VoiceInteractionService.kt b/android/app/src/main/kotlin/com/example/deep_voice/VoiceInteractionService.kt index f02340bf7..a5b35ca5f 100644 --- a/android/app/src/main/kotlin/com/example/deep_voice/VoiceInteractionService.kt +++ b/android/app/src/main/kotlin/com/example/deep_voice/VoiceInteractionService.kt @@ -319,9 +319,16 @@ class VoiceInteractionService : Service() { // 如果超过5秒没有检测到语音,且不在TTS播放中,暂停语音识别 if (!hasSpeechDetected && !isTtsSpeaking && elapsedTime >= RECOGNITION_TIMEOUT) { + Log.d(TAG, "超过${RECOGNITION_TIMEOUT/1000}秒未检测到语音,停止识别") isTimeoutPaused = true playNotification("没有听到您说话,已暂停语音识别。双击耳机按钮可重新开始。") + + // 停止语音识别并确保资源完全释放 stopVoiceRecognition() + + // 清理识别状态 + isRecognitionActive = false + hasSpeechDetected = false } } } @@ -339,7 +346,8 @@ class VoiceInteractionService : Service() { Log.d(TAG, "短时间重复响应,忽略") return } - + lastKeyEventTime = currentTime + // 停止当前TTS播放 stopCurrentTTS() @@ -355,6 +363,28 @@ class VoiceInteractionService : Service() { // 启动或重置语音识别 if (!isRecognitionActive) { Log.d(TAG, "语音识别未激活,开始启动") + + // 如果之前是因为超时暂停,重新初始化语音识别组件 + if (isTimeoutPaused) { + Log.d(TAG, "之前因超时暂停,重新初始化Azure服务") + // 释放旧的实例 + try { + azureAsrHelper.dispose() + } catch (e: Exception) { + Log.e(TAG, "释放旧的Azure ASR实例失败: ${e.message}", e) + } + + // 创建新的实例 + azureAsrHelper = AzureAsrHelper() + + // 重新初始化 + val subscriptionKey = MainActivity.azureSpeechKey + val serviceRegion = MainActivity.azureSpeechRegion + if (subscriptionKey.isNotEmpty() && serviceRegion.isNotEmpty()) { + azureAsrHelper.initialize(subscriptionKey, serviceRegion, "zh-CN") + } + } + startVoiceRecognition() } else { Log.d(TAG, "语音识别已激活,更新活动时间") @@ -466,14 +496,31 @@ class VoiceInteractionService : Service() { private fun stopVoiceRecognition() { if (!isRecognitionActive) return - azureAsrHelper.stopContinuousRecognition(object : AzureAsrHelper.ContinuousRecognizeCallback { - override fun onResult(result: String) {} - override fun onRecognizing(recognizing: String) {} - override fun onSessionStarted() {} - override fun onSessionStopped() { isRecognitionActive = false } - override fun onCanceled(reason: String, errorDetails: String) { isRecognitionActive = false } - override fun onError(error: String) { isRecognitionActive = false } - }) + Log.d(TAG, "停止语音识别") + + try { + azureAsrHelper.stopContinuousRecognition(object : AzureAsrHelper.ContinuousRecognizeCallback { + override fun onResult(result: String) {} + override fun onRecognizing(recognizing: String) {} + override fun onSessionStarted() {} + override fun onSessionStopped() { + isRecognitionActive = false + Log.d(TAG, "语音识别会话已停止") + } + override fun onCanceled(reason: String, errorDetails: String) { + isRecognitionActive = false + Log.d(TAG, "语音识别已取消: $reason") + } + override fun onError(error: String) { + isRecognitionActive = false + Log.e(TAG, "停止语音识别时出错: $error") + } + }) + } catch (e: Exception) { + Log.e(TAG, "停止语音识别异常: ${e.message}", e) + // 确保状态一致性 + isRecognitionActive = false + } setPlaybackState(PlaybackStateCompat.STATE_PAUSED) isRecognitionActive = false diff --git a/assets/images/headphone_light.png b/assets/images/headphone_light.png index 11b9b988a5fa1cdf59baa56bf968695096fc8133..8a043356dd9ffaa46312e0c58a5977ae04227868 100644 GIT binary patch literal 100300 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௜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 z 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 diff --git a/lib/app/theme/theme_service.dart b/lib/app/theme/theme_service.dart new file mode 100644 index 000000000..dd64c232e --- /dev/null +++ b/lib/app/theme/theme_service.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:get_storage/get_storage.dart'; + +class ThemeService { + final _box = GetStorage(); + final _key = 'isDarkMode'; + + /// 获取主题模式 - 如果没有保存过,则默认为系统主题 + ThemeMode getThemeMode() { + return isSavedDarkMode() ? ThemeMode.dark : ThemeMode.light; + } + + /// 是否是暗黑模式 + bool isSavedDarkMode() { + return _box.read(_key) ?? false; + } + + /// 保存主题模式到本地存储 + void saveThemeMode(bool isDarkMode) { + _box.write(_key, isDarkMode); + } + + /// 切换主题 + void changeThemeMode() { + Get.changeThemeMode(isSavedDarkMode() ? ThemeMode.light : ThemeMode.dark); + saveThemeMode(!isSavedDarkMode()); + } +} \ No newline at end of file diff --git a/lib/core/widgets/common_bottom_nav.dart b/lib/core/widgets/common_bottom_nav.dart index 387c40286..c1689bc6d 100644 --- a/lib/core/widgets/common_bottom_nav.dart +++ b/lib/core/widgets/common_bottom_nav.dart @@ -12,6 +12,8 @@ class CommonBottomNav extends StatelessWidget { @override Widget build(BuildContext context) { + final isDarkMode = Theme.of(context).brightness == Brightness.dark; + return BottomNavigationBar( currentIndex: currentIndex, onTap: (index) { @@ -28,10 +30,10 @@ class CommonBottomNav extends StatelessWidget { break; } }, - backgroundColor: const Color(0xFFF9FAFB), // 浅灰色背景 #F9FAFB - selectedItemColor: const Color(0xFF3B82F6), // 蓝色选中项 #3B82F6 - unselectedItemColor: const Color(0xFF6B7280), // 灰色未选中项 #6B7280 - elevation: 8, // 添加阴影 + backgroundColor: isDarkMode ? Colors.black : const Color(0xFFF9FAFB), // 暗黑模式黑色背景,浅色模式浅灰色背景 + selectedItemColor: const Color(0xFF3B82F6), // 蓝色选中项保持不变 + unselectedItemColor: isDarkMode ? Colors.grey[500] : const Color(0xFF6B7280), // 暗黑模式灰色调整 + elevation: isDarkMode ? 0 : 8, // 暗黑模式无阴影,浅色模式保持阴影 type: BottomNavigationBarType.fixed, items: [ BottomNavigationBarItem( diff --git a/lib/main.dart b/lib/main.dart index 32ca30f49..5d0c06bf0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -11,6 +11,7 @@ import 'package:window_size/window_size.dart'; import 'app/translations/app_translations.dart'; import 'data/services/voice_interaction_service.dart'; import 'app/theme/app_theme.dart'; +import 'app/theme/theme_service.dart'; void main() async { // 确保Flutter绑定初始化 @@ -53,6 +54,9 @@ Future _initializeApp() async { // 初始化存储 await GetStorage.init(); + + // 注意:应用启动时会在 SplashController 中检查上次保存的皮肤模式 + // 并自动应用保存的主题(暗黑/浅色) // AudioService 将在 AudioServiceManager 中初始化 // 不再需要在这里调用 AudioService.init @@ -74,7 +78,7 @@ class MainApp extends StatelessWidget { title: 'Deep Voice', theme: AppTheme.lightTheme, darkTheme: AppTheme.darkTheme, - themeMode: ThemeMode.dark, + themeMode: ThemeService().getThemeMode(), // 初始主题模式,将在 SplashController 中再次检查 initialBinding: InitialBinding(), initialRoute: Routes.splash, getPages: AppPages.pages, diff --git a/lib/modules/explore/controllers/explore_controller.dart b/lib/modules/explore/controllers/explore_controller.dart index 4deefd81b..15d809c8c 100644 --- a/lib/modules/explore/controllers/explore_controller.dart +++ b/lib/modules/explore/controllers/explore_controller.dart @@ -55,21 +55,21 @@ class ExploreController extends GetxController { title: '全能助理', description: '帮你解决各类问题', icon: Icons.assistant, - startColor: Colors.blue.shade100, - endColor: Colors.blue.shade200, - iconBgColor: Colors.blue.withOpacity(0.2), - iconColor: Colors.blue.shade600, + startColor: const Color(0xFF0066CC), + endColor: const Color(0xFF5E5CE6), + iconBgColor: const Color(0xFF0066CC).withOpacity(0.2), + iconColor: const Color(0xFF0066CC), agentId: 'personal_assistant', targetRoute: Routes.chat, ), AIFeature( - title: '同声传译', + title: '同声翻译', description: '实时翻译80+种语言', icon: Icons.translate, - startColor: Colors.green.shade100, - endColor: Colors.green.shade200, - iconBgColor: Colors.green.withOpacity(0.2), - iconColor: Colors.green.shade600, + startColor: const Color(0xFF4CAF50), + endColor: const Color(0xFF009688), + iconBgColor: const Color(0xFF4CAF50).withOpacity(0.2), + iconColor: const Color(0xFF4CAF50), agentId: 'simultaneous_interpreter', targetRoute: Routes.translation, ), @@ -77,10 +77,10 @@ class ExploreController extends GetxController { title: 'AI女友', description: '智能陪伴,随时聊天', icon: Icons.favorite, - startColor: Colors.pink.shade100, - endColor: Colors.pink.shade200, - iconBgColor: Colors.pink.withOpacity(0.2), - iconColor: Colors.pink.shade600, + startColor: const Color(0xFFE91E63), + endColor: const Color(0xFFFF5252), + iconBgColor: const Color(0xFFE91E63).withOpacity(0.2), + iconColor: const Color(0xFFE91E63), agentId: 'cyber_girlfriend', targetRoute: Routes.chat, ), @@ -88,10 +88,10 @@ class ExploreController extends GetxController { title: '健康顾问', description: '提供科学健康建议', icon: Icons.healing, - startColor: Colors.amber.shade100, - endColor: Colors.amber.shade200, - iconBgColor: Colors.amber.withOpacity(0.2), - iconColor: Colors.amber.shade600, + startColor: const Color(0xFFFFC107), + endColor: const Color(0xFFFF9800), + iconBgColor: const Color(0xFFFFC107).withOpacity(0.2), + iconColor: const Color(0xFFFFC107), agentId: 'health_advisor', targetRoute: Routes.chat, ), @@ -103,25 +103,25 @@ class ExploreController extends GetxController { title: '商务会议助手', description: '实时记录会议纪要,多语言翻译', icon: Icons.people, - startColor: Colors.blue.shade200, - endColor: Colors.blue.shade300, - iconColor: Colors.blue.shade600, + startColor: const Color(0xFF3F51B5), + endColor: const Color(0xFF673AB7), + iconColor: const Color(0xFF3F51B5), ), FunctionScene( title: '语言学习助手', description: '发音纠正,实时练习口语', icon: Icons.school, - startColor: Colors.green.shade200, - endColor: Colors.green.shade300, - iconColor: Colors.green.shade600, + startColor: const Color(0xFF4CAF50), + endColor: const Color(0xFF009688), + iconColor: const Color(0xFF4CAF50), ), FunctionScene( title: '旅行翻译助手', description: '实时语音翻译,旅游景点介绍', icon: Icons.language, - startColor: Colors.amber.shade200, - endColor: Colors.amber.shade300, - iconColor: Colors.amber.shade600, + startColor: const Color(0xFFFFC107), + endColor: const Color(0xFFFF9800), + iconColor: const Color(0xFFFFC107), ), ]; diff --git a/lib/modules/explore/views/explore_view.dart b/lib/modules/explore/views/explore_view.dart index 4133b4783..f68d1c392 100644 --- a/lib/modules/explore/views/explore_view.dart +++ b/lib/modules/explore/views/explore_view.dart @@ -10,13 +10,15 @@ class ExploreView extends GetView { @override Widget build(BuildContext context) { + final isDarkMode = Theme.of(context).brightness == Brightness.dark; + return Scaffold( - backgroundColor: Colors.grey[50], + backgroundColor: isDarkMode ? Colors.black : Colors.grey[50], body: SafeArea( child: Column( children: [ // 标题和搜索 - _buildHeaderAndSearch(), + _buildHeaderAndSearch(isDarkMode), // 主要内容(可滚动) Expanded( @@ -32,15 +34,15 @@ class ExploreView extends GetView { // AI功能列表 SizedBox(height: 24.h), - _buildAIFeaturesSection(), + _buildAIFeaturesSection(isDarkMode), // 热门功能场景 SizedBox(height: 24.h), - _buildFunctionScenesSection(), + _buildFunctionScenesSection(isDarkMode), // 新功能推荐 SizedBox(height: 24.h), - _buildNewFeatureSection(), + _buildNewFeatureSection(isDarkMode), ], ), ), @@ -54,7 +56,7 @@ class ExploreView extends GetView { } // 标题和搜索 - Widget _buildHeaderAndSearch() { + Widget _buildHeaderAndSearch(bool isDarkMode) { return Padding( padding: EdgeInsets.all(16.w), child: Column( @@ -68,18 +70,22 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 24.sp, fontWeight: FontWeight.bold, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), Container( width: 32.w, height: 32.w, decoration: BoxDecoration( - color: Colors.grey[200], + color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[200], shape: BoxShape.circle, ), child: IconButton( - icon: Icon(Icons.more_vert, size: 16.sp), + icon: Icon( + Icons.more_vert, + size: 16.sp, + color: isDarkMode ? Colors.white : Colors.grey[700], + ), padding: EdgeInsets.zero, onPressed: () {}, ), @@ -91,7 +97,7 @@ class ExploreView extends GetView { SizedBox(height: 16.h), Container( decoration: BoxDecoration( - color: Colors.grey[100], + color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[100], borderRadius: BorderRadius.circular(12.r), ), child: TextField( @@ -100,18 +106,21 @@ class ExploreView extends GetView { hintText: '搜索AI功能...', hintStyle: TextStyle( fontSize: 14.sp, - color: Colors.grey[400], + color: isDarkMode ? Colors.grey[400] : Colors.grey[400], ), prefixIcon: Icon( Icons.search, size: 20.sp, - color: Colors.grey[400], + color: isDarkMode ? Colors.grey[400] : Colors.grey[400], ), border: InputBorder.none, contentPadding: EdgeInsets.symmetric(vertical: 12.h), ), textInputAction: TextInputAction.search, onSubmitted: (_) => controller.search(), + style: TextStyle( + color: isDarkMode ? Colors.white : Colors.black, + ), ), ), ], @@ -127,7 +136,7 @@ class ExploreView extends GetView { borderRadius: BorderRadius.circular(24.r), boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.2), + color: Colors.black.withOpacity(0.2), blurRadius: 10, offset: const Offset(0, 4), ), @@ -208,7 +217,7 @@ class ExploreView extends GetView { } // AI功能部分 - Widget _buildAIFeaturesSection() { + Widget _buildAIFeaturesSection(bool isDarkMode) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -217,7 +226,7 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 18.sp, fontWeight: FontWeight.w600, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), SizedBox(height: 16.h), @@ -233,7 +242,7 @@ class ExploreView extends GetView { itemCount: controller.aiFeatures.length, itemBuilder: (context, index) { final feature = controller.aiFeatures[index]; - return _buildAIFeatureItem(feature, index); + return _buildAIFeatureItem(feature, index, isDarkMode); }, ), ], @@ -241,7 +250,7 @@ class ExploreView extends GetView { } // AI功能项 - Widget _buildAIFeatureItem(AIFeature feature, int index) { + Widget _buildAIFeatureItem(AIFeature feature, int index, bool isDarkMode) { return GestureDetector( onTap: () => controller.onAIFeatureTap(index), child: Container( @@ -251,16 +260,18 @@ class ExploreView extends GetView { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - feature.startColor, - feature.endColor, + feature.startColor.withOpacity(isDarkMode ? 0.3 : 0.3), + feature.endColor.withOpacity(isDarkMode ? 0.3 : 0.3), ], ), borderRadius: BorderRadius.circular(20.r), boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.1), - blurRadius: 4, - offset: const Offset(0, 2), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.grey.withOpacity(0.1), + blurRadius: 8, + offset: const Offset(0, 4), ), ], ), @@ -294,9 +305,9 @@ class ExploreView extends GetView { Text( feature.title, style: TextStyle( - fontSize: 18.sp, + fontSize: 16.sp, fontWeight: FontWeight.w600, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), maxLines: 1, overflow: TextOverflow.ellipsis, @@ -306,8 +317,8 @@ class ExploreView extends GetView { Text( feature.description, style: TextStyle( - fontSize: 13.sp, - color: Colors.grey[600], + fontSize: 12.sp, + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], ), maxLines: 1, overflow: TextOverflow.ellipsis, @@ -322,7 +333,7 @@ class ExploreView extends GetView { } // 热门功能场景部分 - Widget _buildFunctionScenesSection() { + Widget _buildFunctionScenesSection(bool isDarkMode) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -331,7 +342,7 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 18.sp, fontWeight: FontWeight.w600, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), SizedBox(height: 16.h), @@ -343,7 +354,7 @@ class ExploreView extends GetView { final scene = controller.functionScenes[index]; return Padding( padding: EdgeInsets.only(bottom: 16.h), - child: _buildFunctionSceneItem(scene, index), + child: _buildFunctionSceneItem(scene, index, isDarkMode), ); }, ), @@ -352,17 +363,19 @@ class ExploreView extends GetView { } // 功能场景项 - Widget _buildFunctionSceneItem(FunctionScene scene, int index) { + Widget _buildFunctionSceneItem(FunctionScene scene, int index, bool isDarkMode) { return GestureDetector( onTap: () => controller.onFunctionSceneTap(index), child: Container( padding: EdgeInsets.all(16.w), decoration: BoxDecoration( - color: Colors.grey[100], + color: isDarkMode ? Colors.white.withOpacity(0.05) : Colors.grey[100], borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.grey.withOpacity(0.1), blurRadius: 4, offset: const Offset(0, 2), ), @@ -379,8 +392,8 @@ class ExploreView extends GetView { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - scene.startColor, - scene.endColor, + scene.startColor.withOpacity(isDarkMode ? 0.3 : 0.3), + scene.endColor.withOpacity(isDarkMode ? 0.3 : 0.3), ], ), borderRadius: BorderRadius.circular(12.r), @@ -403,7 +416,7 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 16.sp, fontWeight: FontWeight.w600, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), SizedBox(height: 4.h), @@ -411,7 +424,7 @@ class ExploreView extends GetView { scene.description, style: TextStyle( fontSize: 12.sp, - color: Colors.grey[600], + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], ), ), ], @@ -424,7 +437,7 @@ class ExploreView extends GetView { } // 新功能推荐部分 - Widget _buildNewFeatureSection() { + Widget _buildNewFeatureSection(bool isDarkMode) { return Container( padding: EdgeInsets.all(20.w), decoration: BoxDecoration( @@ -432,14 +445,16 @@ class ExploreView extends GetView { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Colors.purple.shade100, - Colors.purple.shade200, + const Color(0xFF9C27B0).withOpacity(isDarkMode ? 0.3 : 0.3), + const Color(0xFFE91E63).withOpacity(isDarkMode ? 0.3 : 0.3), ], ), borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.grey.withOpacity(0.1), blurRadius: 8, offset: const Offset(0, 4), ), @@ -453,13 +468,13 @@ class ExploreView extends GetView { width: 48.w, height: 48.w, decoration: BoxDecoration( - color: Colors.purple.shade200, + color: const Color(0xFF9C27B0).withOpacity(0.2), borderRadius: BorderRadius.circular(12.r), ), child: Icon( Icons.lightbulb_outline, size: 24.sp, - color: Colors.purple.shade600, + color: const Color(0xFF9C27B0), ), ), SizedBox(height: 16.h), @@ -470,7 +485,7 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 20.sp, fontWeight: FontWeight.bold, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), SizedBox(height: 8.h), @@ -480,7 +495,7 @@ class ExploreView extends GetView { '用你喜欢的歌手声音演唱任何歌曲,甚至是你自己创作的歌曲', style: TextStyle( fontSize: 14.sp, - color: Colors.grey[600], + color: isDarkMode ? Colors.grey[300] : Colors.grey[600], ), ), SizedBox(height: 16.h), @@ -489,7 +504,9 @@ class ExploreView extends GetView { ElevatedButton( onPressed: controller.tryNewFeature, style: ElevatedButton.styleFrom( - backgroundColor: Colors.purple.shade500, + backgroundColor: isDarkMode + ? const Color(0xFF9C27B0) + : Colors.white.withOpacity(0.2), foregroundColor: Colors.white, padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), shape: RoundedRectangleBorder( @@ -501,6 +518,7 @@ class ExploreView extends GetView { style: TextStyle( fontSize: 14.sp, fontWeight: FontWeight.w500, + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), ), diff --git a/lib/modules/home/views/home_view.dart b/lib/modules/home/views/home_view.dart index 146289c4f..6fccf62a6 100644 --- a/lib/modules/home/views/home_view.dart +++ b/lib/modules/home/views/home_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'dart:ui'; import '../controllers/home_controller.dart'; import '../../../core/routes/app_pages.dart'; import '../../../core/routes/app_routes.dart'; @@ -72,34 +73,19 @@ class HomeView extends GetView { @override Widget build(BuildContext context) { + final bool isDarkMode = Theme.of(context).brightness == Brightness.dark; + return Scaffold( - backgroundColor: Color(0xFFF9FAFC), - appBar: AppBar( - elevation: 0, - backgroundColor: Color(0xFFF9FAFC), - title: Text( - '智能耳机', - style: TextStyle( - color: Colors.black87, - fontSize: 18.sp, - fontWeight: FontWeight.w600, - ), - ), - actions: [ - IconButton( - icon: Icon(Icons.settings_outlined, color: Colors.black54), - onPressed: () { - Get.toNamed(Routes.settings); - }, - ), - ], - ), + backgroundColor: isDarkMode ? Colors.black : Color(0xFFF9FAFC), body: SafeArea( child: SingleChildScrollView( padding: EdgeInsets.all(16.w), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + // 顶部标题栏 + _buildAppBar(isDarkMode), + // 顶部图片 Center( child: _buildEarbudsImage(), @@ -107,28 +93,11 @@ class HomeView extends GetView { SizedBox(height: 20.h), // 设备状态卡片 - _buildDeviceStatusCard(), + _buildDeviceStatusCard(isDarkMode), SizedBox(height: 20.h), // 热门AI体验 - Row( - children: [ - Text( - '热门AI体验', - style: TextStyle( - fontSize: 18.sp, - fontWeight: FontWeight.bold, - color: Colors.grey[800], - ), - ), - SizedBox(width: 8.w), - Icon( - Icons.star, - color: Colors.amber, - size: 20.w, - ), - ], - ), + _buildSectionTitle(isDarkMode), SizedBox(height: 16.h), _buildPremiumAILayout(), ], @@ -139,31 +108,24 @@ class HomeView extends GetView { ); } - // 页面顶部:状态栏和标题 - Widget _buildHeader() { - return Container( - padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 8.h), - child: Column( - children: [ - // 删除状态栏 - - // 标题区域 - Row( + // 顶部标题栏 + Widget _buildAppBar(bool isDarkMode) { + return Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - 'DeepVoice Pro', + 'DeepVoice', style: TextStyle( fontSize: 20.sp, fontWeight: FontWeight.bold, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), Container( width: 32.w, height: 32.w, decoration: BoxDecoration( - color: Colors.grey[200], + color: isDarkMode ? Colors.grey[800] : Colors.grey[200], shape: BoxShape.circle, boxShadow: [ BoxShadow( @@ -174,87 +136,44 @@ class HomeView extends GetView { ], ), child: IconButton( - icon: Icon(Icons.more_horiz, size: 16.sp, color: Colors.grey[600]), + icon: Icon( + Icons.settings_outlined, + size: 16.sp, + color: isDarkMode ? Colors.white70 : Colors.grey[600] + ), padding: EdgeInsets.zero, onPressed: () { - // 打开更多选项菜单 + Get.toNamed(Routes.settings); }, ), ), ], - ), - ], - ), ); } // 耳机图片 Widget _buildEarbudsImage() { + final bool isDarkMode = Get.isDarkMode; return Container( - height: 180.h, + height: 220.h, alignment: Alignment.center, - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(20.r), - boxShadow: [ - BoxShadow( - color: Colors.grey.withOpacity(0.15), - blurRadius: 15, - offset: const Offset(0, 5), - ), - BoxShadow( - color: Colors.blue.withOpacity(0.05), - blurRadius: 20, - offset: const Offset(0, -2), - ), - ], - ), - child: ClipRRect( - borderRadius: BorderRadius.circular(20.r), - child: Container( - color: Colors.white, - padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 16.h), - child: Stack( - alignment: Alignment.center, - children: [ - // 背景光效 - Positioned.fill( - child: Container( - decoration: BoxDecoration( - gradient: RadialGradient( - colors: [ - Colors.blue.withOpacity(0.05), - Colors.white, - ], - center: Alignment.topRight, - radius: 0.8, - ), - ), - ), - ), - // 耳机图片 - Image.asset( - 'assets/images/headphone_light.png', - height: 150.h, - fit: BoxFit.contain, - ), - ], - ), - ), - ), + child: Image.asset( + isDarkMode ? 'assets/images/headphone_dark.png' : 'assets/images/headphone_light.png', + height: 180.h, + fit: BoxFit.contain, ), ); } // 设备状态卡片 - Widget _buildDeviceStatusCard() { + Widget _buildDeviceStatusCard(bool isDarkMode) { return Container( decoration: BoxDecoration( - color: Colors.white, + color: isDarkMode ? Color(0xFF1A1A1A) : Colors.white, borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.1), + color: Colors.grey.withOpacity(isDarkMode ? 0.05 : 0.1), blurRadius: 10, offset: const Offset(0, 4), ), @@ -272,7 +191,7 @@ class HomeView extends GetView { style: TextStyle( fontSize: 14.sp, fontWeight: FontWeight.w500, - color: Colors.grey[700], + color: isDarkMode ? Colors.grey[300] : Colors.grey[700], ), ), Obx(() => Row( @@ -300,7 +219,7 @@ class HomeView extends GetView { child: Icon( Icons.refresh, size: 16.sp, - color: Colors.grey[600], + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], ), ), ], @@ -319,9 +238,9 @@ class HomeView extends GetView { Container( padding: EdgeInsets.all(8.w), decoration: BoxDecoration( - color: Colors.red[50], + color: isDarkMode ? Colors.red[900]!.withOpacity(0.2) : Colors.red[50], borderRadius: BorderRadius.circular(8.r), - border: Border.all(color: Colors.red[200]!), + border: Border.all(color: isDarkMode ? Colors.red[800]! : Colors.red[200]!), ), child: Row( children: [ @@ -336,7 +255,7 @@ class HomeView extends GetView { controller.connectionErrorMsg, style: TextStyle( fontSize: 12.sp, - color: Colors.red[800], + color: isDarkMode ? Colors.red[300] : Colors.red[800], ), ), ), @@ -403,7 +322,7 @@ class HomeView extends GetView { style: TextStyle( fontSize: 12.sp, fontWeight: FontWeight.w500, - color: Colors.grey[700], + color: isDarkMode ? Colors.grey[300] : Colors.grey[700], ), overflow: TextOverflow.ellipsis, ), @@ -428,7 +347,7 @@ class HomeView extends GetView { Container( padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 6.h), decoration: BoxDecoration( - color: Colors.grey[50], + color: isDarkMode ? Colors.grey[900] : Colors.grey[50], borderRadius: BorderRadius.circular(8.r), ), child: Column( @@ -438,7 +357,7 @@ class HomeView extends GetView { '设备ID:${controller.getDeviceId()}', style: TextStyle( fontSize: 10.sp, - color: Colors.grey[500], + color: isDarkMode ? Colors.grey[400] : Colors.grey[500], ), ), SizedBox(height: 4.h), @@ -446,7 +365,7 @@ class HomeView extends GetView { '固件版本:${controller.firmwareVersion}', style: TextStyle( fontSize: 10.sp, - color: Colors.grey[500], + color: isDarkMode ? Colors.grey[400] : Colors.grey[500], ), ), ], @@ -458,7 +377,7 @@ class HomeView extends GetView { padding: EdgeInsets.symmetric(vertical: 8.h), alignment: Alignment.center, decoration: BoxDecoration( - color: Colors.grey[100], + color: isDarkMode ? Colors.grey[900] : Colors.grey[100], borderRadius: BorderRadius.circular(8.r), ), child: Row( @@ -467,14 +386,14 @@ class HomeView extends GetView { Icon( Icons.bluetooth_disabled, size: 14.sp, - color: Colors.grey[700], + color: isDarkMode ? Colors.grey[400] : Colors.grey[700], ), SizedBox(width: 4.w), Text( '未连接设备,点击下方按钮连接', style: TextStyle( fontSize: 12.sp, - color: Colors.grey[700], + color: isDarkMode ? Colors.grey[400] : Colors.grey[700], ), ), ], @@ -507,51 +426,54 @@ class HomeView extends GetView { ); } + // 热门AI体验标题 + Widget _buildSectionTitle(bool isDarkMode) { + return Row( + children: [ + Text( + '热门AI体验', + style: TextStyle( + fontSize: 18.sp, + fontWeight: FontWeight.bold, + color: isDarkMode ? Colors.white : Colors.grey[800], + ), + ), + SizedBox(width: 8.w), + Icon( + Icons.star, + color: Colors.amber, + size: 20.w, + ), + ], + ); + } + // 优质AI体验布局(左1右2) Widget _buildPremiumAILayout() { + final bool isDarkMode = Get.isDarkMode; return Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ // 左侧大卡片 - AI助理 Expanded( flex: 1, - child: Stack( - children: [ - // 呼吸光效果 - Positioned.fill( - child: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(16.r), - gradient: RadialGradient( - colors: [ - Color(0xFF4ECDC4).withOpacity(0.6), - Colors.transparent, - ], - center: Alignment.topRight, - radius: 1.0, - ), - ), - child: AnimatedPulsing(), - ), - ), - // 卡片内容 - _buildFeatureCard( - title: 'AI全能助手', - description: '24小时专属顾问,解答问题、提供建议', - icon: Icons.smart_toy, - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - Color(0xFF4ECDC4), - Color(0xFF556270), - ], - ), - onTap: controller.exploreAIFeatures, - iconOnTop: true, - height: 175.h, // 增加高度 - ), - ], + child: _buildFeatureCard( + title: 'AI全能助手', + description: '24小时专属顾问,解答问题、提供建议', + icon: Icons.assistant, + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xFF0066CC).withOpacity(0.3), + Color(0xFF5E5CE6).withOpacity(0.3), + ], + ), + onTap: controller.exploreAIFeatures, + iconOnTop: true, + height: 175.h, // 增加高度 + isDarkMode: isDarkMode, + iconColor: const Color(0xFF0066CC), ), ), @@ -571,12 +493,14 @@ class HomeView extends GetView { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFF5E72EB), - Color(0xFF4776E6), + Color(0xFF4CAF50).withOpacity(0.3), + Color(0xFF009688).withOpacity(0.3), ], ), onTap: controller.openTranslation, height: 83.h, // 增加高度 + isDarkMode: isDarkMode, + iconColor: const Color(0xFF4CAF50), ), SizedBox(height: 5.h), // 减少间距 @@ -590,12 +514,14 @@ class HomeView extends GetView { begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ - Color(0xFFFF758C), - Color(0xFFFF7EB3), + Color(0xFFE91E63).withOpacity(0.3), + Color(0xFFFF5252).withOpacity(0.3), ], ), onTap: controller.openAIGirlfriend, height: 85.h, // 增加高度 + isDarkMode: isDarkMode, + iconColor: const Color(0xFFE91E63), ), ], ), @@ -613,8 +539,10 @@ class HomeView extends GetView { required VoidCallback onTap, double? height, bool iconOnTop = false, + bool isDarkMode = false, + Color iconColor = Colors.white, }) { - return InkWell( + return GestureDetector( onTap: onTap, child: Container( height: height ?? 175.h, @@ -624,132 +552,119 @@ class HomeView extends GetView { borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.1), - blurRadius: 5, - offset: Offset(0, 2), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.grey.withOpacity(0.1), + blurRadius: 8, + offset: const Offset(0, 4), ), ], ), - child: iconOnTop - ? Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // 图标靠左而不是居中 - Container( - width: 45.w, - height: 45.w, - decoration: BoxDecoration( - color: Colors.white.withOpacity(0.2), - borderRadius: BorderRadius.circular(12.r), - ), - child: Icon( - icon, - color: Colors.white, - size: 24.w, - ), + child: Stack( + children: [ + // 图标 + if (iconOnTop) + // 大卡片布局 + Align( + alignment: Alignment.topLeft, + child: Container( + width: 45.w, + height: 45.w, + decoration: BoxDecoration( + color: iconColor.withOpacity(0.2), + shape: BoxShape.circle, ), - SizedBox(height: 8.h), - // 标题 - Text( - title, - style: TextStyle( - color: Colors.white, - fontSize: 16.sp, - fontWeight: FontWeight.bold, - shadows: [ - Shadow( - offset: Offset(0, 1), - blurRadius: 3.0, - color: Colors.black.withOpacity(0.3), - ), - ], - ), + child: Icon( + icon, + color: iconColor, + size: 24.w, + ), + ), + ) + else + // 小卡片布局 - 图标 + Align( + alignment: Alignment.topLeft, + child: Container( + width: 34.w, + height: 34.w, + decoration: BoxDecoration( + color: iconColor.withOpacity(0.2), + shape: BoxShape.circle, ), - SizedBox(height: 4.h), - // 描述 - Expanded( - child: Text( + child: Icon( + icon, + color: iconColor, + size: 18.w, + ), + ), + ), + + // 文本内容 + if (iconOnTop) + // 大卡片布局 - 文本 + Padding( + padding: EdgeInsets.only(top: 55.h), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + title, + style: TextStyle( + color: isDarkMode ? Colors.white : Colors.grey[800], + fontSize: 16.sp, + fontWeight: FontWeight.bold, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + SizedBox(height: 4.h), + Text( description, style: TextStyle( - color: Colors.white, + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], fontSize: 12.sp, - shadows: [ - Shadow( - offset: Offset(0, 1), - blurRadius: 2.0, - color: Colors.black.withOpacity(0.2), - ), - ], ), - maxLines: 3, + maxLines: 2, overflow: TextOverflow.ellipsis, ), - ), - ], + ], + ), ) - : Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // 图标 - Container( - width: 34.w, - height: 34.w, - decoration: BoxDecoration( - color: Colors.white.withOpacity(0.2), - borderRadius: BorderRadius.circular(8.r), - ), - child: Icon( - icon, - color: Colors.white, - size: 18.w, + else + // 小卡片布局 - 文本 + Padding( + padding: EdgeInsets.only(left: 44.w), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + title, + style: TextStyle( + color: isDarkMode ? Colors.white : Colors.grey[800], + fontSize: 14.sp, + fontWeight: FontWeight.bold, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, ), - ), - SizedBox(width: 10.w), - // 文本内容 - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - children: [ - // 标题 - Text( - title, - style: TextStyle( - color: Colors.white, - fontSize: 14.sp, - fontWeight: FontWeight.bold, - shadows: [ - Shadow( - offset: Offset(0, 1), - blurRadius: 3.0, - color: Colors.black.withOpacity(0.3), - ), - ], - ), - ), - SizedBox(height: 2.h), - // 描述 - Text( - description, - style: TextStyle( - color: Colors.white, - fontSize: 10.sp, - shadows: [ - Shadow( - offset: Offset(0, 1), - blurRadius: 2.0, - color: Colors.black.withOpacity(0.2), - ), - ], - ), - maxLines: 2, - overflow: TextOverflow.ellipsis, - ), - ], + SizedBox(height: 2.h), + Text( + description, + style: TextStyle( + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], + fontSize: 10.sp, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, ), - ), - ], + ], + ), ), + ], + ), ), ); } diff --git a/lib/modules/login/controllers/login_controller.dart b/lib/modules/login/controllers/login_controller.dart index c72d5f623..75ea11823 100644 --- a/lib/modules/login/controllers/login_controller.dart +++ b/lib/modules/login/controllers/login_controller.dart @@ -200,16 +200,16 @@ class LoginController extends GetxController { // 登录 Future login() async { // 暂时关闭验证码验证 - if (!isVerificationCodeComplete()) { - Get.snackbar( - '提示', - '请输入完整的验证码', - snackPosition: SnackPosition.TOP, - backgroundColor: Colors.red.withOpacity(0.1), - colorText: Colors.red, - ); - return; - } + // if (!isVerificationCodeComplete()) { + // Get.snackbar( + // '提示', + // '请输入完整的验证码', + // snackPosition: SnackPosition.TOP, + // backgroundColor: Colors.red.withOpacity(0.1), + // colorText: Colors.red, + // ); + // return; + // } _isLoading.value = true; diff --git a/lib/modules/login/views/login_view.dart b/lib/modules/login/views/login_view.dart index 7b0528ebe..c4f791c82 100644 --- a/lib/modules/login/views/login_view.dart +++ b/lib/modules/login/views/login_view.dart @@ -10,53 +10,49 @@ class LoginView extends GetView { @override Widget build(BuildContext context) { - // 使用浅色主题 - return Theme( - data: AppTheme.lightTheme, - child: Scaffold( - body: SafeArea( - child: Obx(() => controller.viewState == LoginViewState.welcome - ? _buildWelcomeView() - : _buildVerificationView(context)), - ), + final isDarkMode = Theme.of(context).brightness == Brightness.dark; + + return Scaffold( + backgroundColor: isDarkMode ? Colors.black : Colors.grey[50], + body: SafeArea( + child: Obx(() => controller.viewState == LoginViewState.welcome + ? _buildWelcomeView(isDarkMode) + : _buildVerificationView(context, isDarkMode)), ), ); } // 欢迎页面 - Widget _buildWelcomeView() { + Widget _buildWelcomeView(bool isDarkMode) { return Padding( padding: EdgeInsets.all(24.w), child: SingleChildScrollView( physics: const BouncingScrollPhysics(), child: Column( children: [ - // 状态栏 - _buildStatusBar(), - // 应用标志和标题 SizedBox(height: 32.h), - _buildAppLogo(), + _buildAppLogo(isDarkMode), // 欢迎文本 SizedBox(height: 32.h), - _buildWelcomeText(), + _buildWelcomeText(isDarkMode), // 输入框和继续按钮 SizedBox(height: 24.h), - _buildInputField(), + _buildInputField(isDarkMode), SizedBox(height: 16.h), - _buildVerificationInputField(), + _buildVerificationInputField(isDarkMode), SizedBox(height: 16.h), - _buildContinueButton(), + _buildContinueButton(isDarkMode), // 社交媒体登录 SizedBox(height: 32.h), - _buildSocialLoginSection(), + _buildSocialLoginSection(isDarkMode), // 用户协议 SizedBox(height: 40.h), - _buildTermsAndPrivacy(), + _buildTermsAndPrivacy(isDarkMode), SizedBox(height: 24.h), ], ), @@ -65,7 +61,7 @@ class LoginView extends GetView { } // 验证码页面 - Widget _buildVerificationView(BuildContext context) { + Widget _buildVerificationView(BuildContext context, bool isDarkMode) { return Padding( padding: EdgeInsets.all(24.w), child: SingleChildScrollView( @@ -74,27 +70,27 @@ class LoginView extends GetView { crossAxisAlignment: CrossAxisAlignment.start, children: [ // 返回按钮 - _buildBackButton(), + _buildBackButton(isDarkMode), // 验证码标题 SizedBox(height: 24.h), - _buildVerificationTitle(), + _buildVerificationTitle(isDarkMode), // 验证码输入框 SizedBox(height: 32.h), - _buildVerificationInputs(context), + _buildVerificationInputs(context, isDarkMode), // 重新发送验证码 SizedBox(height: 16.h), - _buildResendButton(), + _buildResendButton(isDarkMode), // 登录按钮 SizedBox(height: 32.h), - _buildLoginButton(), + _buildLoginButton(isDarkMode), // 使用密码登录 SizedBox(height: 16.h), - _buildUsePasswordButton(), + _buildUsePasswordButton(isDarkMode), SizedBox(height: 24.h), ], ), @@ -102,33 +98,8 @@ class LoginView extends GetView { ); } - // 状态栏 - Widget _buildStatusBar() { - return Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - '9:41', - style: TextStyle( - fontSize: 12.sp, - color: Colors.black54, - ), - ), - Row( - children: [ - Icon(Icons.signal_cellular_4_bar, size: 12.sp, color: Colors.black54), - SizedBox(width: 4.w), - Icon(Icons.wifi, size: 12.sp, color: Colors.black54), - SizedBox(width: 4.w), - Icon(Icons.battery_full, size: 12.sp, color: Colors.black54), - ], - ), - ], - ); - } - // 应用标志和标题 - Widget _buildAppLogo() { + Widget _buildAppLogo(bool isDarkMode) { return Column( children: [ Container( @@ -161,7 +132,7 @@ class LoginView extends GetView { style: TextStyle( fontSize: 24.sp, fontWeight: FontWeight.bold, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), SizedBox(height: 8.h), @@ -169,7 +140,7 @@ class LoginView extends GetView { '连接世界,超越声音', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.grey[400] : Colors.black54, ), ), ], @@ -177,7 +148,7 @@ class LoginView extends GetView { } // 欢迎文本 - Widget _buildWelcomeText() { + Widget _buildWelcomeText(bool isDarkMode) { return Column( children: [ Text( @@ -185,7 +156,7 @@ class LoginView extends GetView { style: TextStyle( fontSize: 20.sp, fontWeight: FontWeight.w600, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), SizedBox(height: 4.h), @@ -193,7 +164,7 @@ class LoginView extends GetView { '请使用手机号或邮箱登录/注册', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.grey[400] : Colors.black54, ), ), ], @@ -201,10 +172,10 @@ class LoginView extends GetView { } // 输入框 - Widget _buildInputField() { + Widget _buildInputField(bool isDarkMode) { return Container( decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode ? Colors.grey[900]!.withOpacity(0.4) : Colors.grey.withOpacity(0.1), borderRadius: BorderRadius.circular(16.r), ), child: Padding( @@ -213,7 +184,7 @@ class LoginView extends GetView { children: [ Icon( Icons.person_outline, - color: Colors.black54, + color: isDarkMode ? Colors.grey[400] : Colors.black54, size: 20.sp, ), SizedBox(width: 12.w), @@ -224,13 +195,15 @@ class LoginView extends GetView { hintText: '手机号码或邮箱', hintStyle: TextStyle( fontSize: 14.sp, - color: Colors.black38, + color: isDarkMode ? Colors.grey[600] : Colors.black38, ), border: InputBorder.none, + fillColor: Colors.transparent, + filled: true, ), style: TextStyle( fontSize: 14.sp, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), ), @@ -241,10 +214,10 @@ class LoginView extends GetView { } // 验证码输入框 - Widget _buildVerificationInputField() { + Widget _buildVerificationInputField(bool isDarkMode) { return Container( decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode ? Colors.grey[900]!.withOpacity(0.4) : Colors.grey.withOpacity(0.1), borderRadius: BorderRadius.circular(16.r), ), child: Padding( @@ -253,7 +226,7 @@ class LoginView extends GetView { children: [ Icon( Icons.lock_outline, - color: Colors.black54, + color: isDarkMode ? Colors.grey[400] : Colors.black54, size: 20.sp, ), SizedBox(width: 12.w), @@ -266,14 +239,16 @@ class LoginView extends GetView { hintText: '验证码', hintStyle: TextStyle( fontSize: 14.sp, - color: Colors.black38, + color: isDarkMode ? Colors.grey[600] : Colors.black38, ), border: InputBorder.none, counterText: '', + fillColor: Colors.transparent, + filled: true, ), style: TextStyle( fontSize: 14.sp, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), ), @@ -283,9 +258,9 @@ class LoginView extends GetView { : controller.getVerificationCode, style: TextButton.styleFrom( padding: EdgeInsets.symmetric(horizontal: 16.w), - foregroundColor: const Color(0xFF0066CC), + foregroundColor: const Color(0xFF3B82F6), backgroundColor: Colors.transparent, - disabledForegroundColor: Colors.black38, + disabledForegroundColor: isDarkMode ? Colors.grey[600] : Colors.grey[400], ), child: Text( controller.countdownSeconds > 0 @@ -304,34 +279,36 @@ class LoginView extends GetView { } // 继续按钮 - Widget _buildContinueButton() { + Widget _buildContinueButton(bool isDarkMode) { return SizedBox( width: double.infinity, child: Obx(() => ElevatedButton( - onPressed: controller.isLoading ? null : controller.loginWithVerificationCode, + onPressed: controller.isLoading ? null : () => controller.login(), style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFF0066CC), - padding: EdgeInsets.symmetric(vertical: 16.h), + foregroundColor: Colors.white, + padding: EdgeInsets.symmetric(vertical: 14.h), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16.r), ), elevation: 0, + disabledBackgroundColor: const Color(0xFF0066CC).withOpacity(0.7), + disabledForegroundColor: Colors.white, ), child: controller.isLoading ? SizedBox( - width: 20.w, - height: 20.w, - child: const CircularProgressIndicator( - strokeWidth: 2, - valueColor: AlwaysStoppedAnimation(Colors.white), + height: 20.h, + width: 20.h, + child: CircularProgressIndicator( + strokeWidth: 2.w, + valueColor: const AlwaysStoppedAnimation(Colors.white), ), ) : Text( - '登录', + '继续', style: TextStyle( fontSize: 16.sp, - fontWeight: FontWeight.w500, - color: Colors.white, + fontWeight: FontWeight.w600, ), ), )), @@ -339,32 +316,32 @@ class LoginView extends GetView { } // 社交媒体登录部分 - Widget _buildSocialLoginSection() { + Widget _buildSocialLoginSection(bool isDarkMode) { return Column( children: [ Row( children: [ - Expanded(child: Divider(color: Colors.black12)), + Expanded(child: Divider(color: isDarkMode ? Colors.grey[800] : Colors.grey[300])), Padding( padding: EdgeInsets.symmetric(horizontal: 16.w), child: Text( '或使用以下方式登录', style: TextStyle( fontSize: 12.sp, - color: Colors.black45, + color: isDarkMode ? Colors.grey[500] : Colors.grey[600], ), ), ), - Expanded(child: Divider(color: Colors.black12)), + Expanded(child: Divider(color: isDarkMode ? Colors.grey[800] : Colors.grey[300])), ], ), SizedBox(height: 24.h), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - _buildSocialButton(FontAwesomeIcons.google, Colors.red), + _buildSocialButton(FontAwesomeIcons.google, Colors.red, isDarkMode), SizedBox(width: 24.w), - _buildSocialButton(FontAwesomeIcons.weixin, Colors.green), + _buildSocialButton(FontAwesomeIcons.weixin, Colors.green, isDarkMode), ], ), ], @@ -372,30 +349,41 @@ class LoginView extends GetView { } // 社交媒体按钮 - Widget _buildSocialButton(IconData icon, Color color) { + Widget _buildSocialButton(IconData icon, Color color, bool isDarkMode) { return Container( width: 48.w, height: 48.w, decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode ? Colors.grey[800] : Colors.white, borderRadius: BorderRadius.circular(24.r), + boxShadow: isDarkMode ? [] : [ + BoxShadow( + color: Colors.grey.withOpacity(0.2), + blurRadius: 4, + offset: const Offset(0, 2), + ), + ], ), child: IconButton( - icon: Icon(icon, color: color, size: 20.sp), + icon: FaIcon( + icon, + color: color, + size: 20.sp, + ), onPressed: () {}, ), ); } // 用户协议和隐私政策 - Widget _buildTermsAndPrivacy() { + Widget _buildTermsAndPrivacy(bool isDarkMode) { return Column( children: [ Text( '登录/注册即表示你同意', style: TextStyle( fontSize: 12.sp, - color: Colors.black45, + color: isDarkMode ? Colors.grey[500] : Colors.grey[600], ), ), SizedBox(height: 4.h), @@ -408,7 +396,7 @@ class LoginView extends GetView { '《用户协议》', style: TextStyle( fontSize: 12.sp, - color: const Color(0xFF0066CC), + color: const Color(0xFF3B82F6), ), ), ), @@ -416,7 +404,7 @@ class LoginView extends GetView { ' 和 ', style: TextStyle( fontSize: 12.sp, - color: Colors.black45, + color: isDarkMode ? Colors.grey[500] : Colors.grey[600], ), ), GestureDetector( @@ -425,7 +413,7 @@ class LoginView extends GetView { '《隐私政策》', style: TextStyle( fontSize: 12.sp, - color: const Color(0xFF0066CC), + color: const Color(0xFF3B82F6), ), ), ), @@ -436,23 +424,27 @@ class LoginView extends GetView { } // 返回按钮 - Widget _buildBackButton() { + Widget _buildBackButton(bool isDarkMode) { return Container( width: 40.w, height: 40.w, decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.1), + color: isDarkMode ? Colors.grey[800] : Colors.grey.withOpacity(0.1), borderRadius: BorderRadius.circular(20.r), ), child: IconButton( - icon: Icon(Icons.arrow_back, color: Colors.black54, size: 20.sp), - onPressed: controller.showWelcomeView, + icon: Icon( + Icons.arrow_back, + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], + size: 20.sp, + ), + onPressed: () => controller.showWelcomeView(), ), ); } // 验证码标题 - Widget _buildVerificationTitle() { + Widget _buildVerificationTitle(bool isDarkMode) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -461,7 +453,7 @@ class LoginView extends GetView { style: TextStyle( fontSize: 20.sp, fontWeight: FontWeight.w600, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), SizedBox(height: 8.h), @@ -469,7 +461,7 @@ class LoginView extends GetView { '验证码已发送至 ${controller.displayContact}', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], ), )), ], @@ -477,23 +469,23 @@ class LoginView extends GetView { } // 验证码输入框 - Widget _buildVerificationInputs(BuildContext context) { + Widget _buildVerificationInputs(BuildContext context, bool isDarkMode) { return Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: List.generate(4, (index) => _buildVerificationInput(index, context)), + children: List.generate(4, (index) => _buildVerificationInput(index, context, isDarkMode)), ); } // 单个验证码输入框 - Widget _buildVerificationInput(int index, BuildContext context) { + Widget _buildVerificationInput(int index, BuildContext context, bool isDarkMode) { return Container( width: 60.w, height: 60.w, decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.1), - borderRadius: BorderRadius.circular(16.r), + color: isDarkMode ? Colors.grey[900]!.withOpacity(0.3) : Colors.grey.withOpacity(0.1), + borderRadius: BorderRadius.circular(12.r), border: Border.all( - color: Colors.black12, + color: isDarkMode ? Colors.grey[700]! : Colors.grey[300]!, width: 1, ), ), @@ -508,14 +500,16 @@ class LoginView extends GetView { FocusScope.of(context).nextFocus(); } }, - decoration: const InputDecoration( + decoration: InputDecoration( counterText: '', border: InputBorder.none, + fillColor: Colors.transparent, + filled: true, ), style: TextStyle( fontSize: 24.sp, fontWeight: FontWeight.w600, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), ), @@ -523,7 +517,7 @@ class LoginView extends GetView { } // 重新发送验证码按钮 - Widget _buildResendButton() { + Widget _buildResendButton(bool isDarkMode) { return Center( child: Obx(() => TextButton.icon( onPressed: controller.countdownSeconds > 0 @@ -533,8 +527,8 @@ class LoginView extends GetView { Icons.refresh, size: 14.sp, color: controller.countdownSeconds > 0 - ? Colors.black38 - : const Color(0xFF0066CC), + ? (isDarkMode ? Colors.grey[600] : Colors.grey[500]) + : const Color(0xFF3B82F6), ), label: Text( controller.countdownSeconds > 0 @@ -543,8 +537,8 @@ class LoginView extends GetView { style: TextStyle( fontSize: 14.sp, color: controller.countdownSeconds > 0 - ? Colors.black38 - : const Color(0xFF0066CC), + ? (isDarkMode ? Colors.grey[600] : Colors.grey[500]) + : const Color(0xFF3B82F6), ), ), )), @@ -552,34 +546,36 @@ class LoginView extends GetView { } // 登录按钮 - Widget _buildLoginButton() { + Widget _buildLoginButton(bool isDarkMode) { return SizedBox( width: double.infinity, child: Obx(() => ElevatedButton( onPressed: controller.isLoading ? null : controller.login, style: ElevatedButton.styleFrom( - backgroundColor: const Color(0xFF0066CC), - padding: EdgeInsets.symmetric(vertical: 16.h), + backgroundColor: const Color(0xFF3B82F6), + foregroundColor: Colors.white, + padding: EdgeInsets.symmetric(vertical: 14.h), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16.r), ), elevation: 0, + disabledBackgroundColor: const Color(0xFF3B82F6).withOpacity(0.7), + disabledForegroundColor: Colors.white, ), child: controller.isLoading ? SizedBox( - width: 20.w, - height: 20.w, - child: const CircularProgressIndicator( - strokeWidth: 2, - valueColor: AlwaysStoppedAnimation(Colors.white), + height: 20.h, + width: 20.h, + child: CircularProgressIndicator( + strokeWidth: 2.w, + valueColor: const AlwaysStoppedAnimation(Colors.white), ), ) : Text( '登录', style: TextStyle( fontSize: 16.sp, - fontWeight: FontWeight.w500, - color: Colors.white, + fontWeight: FontWeight.w600, ), ), )), @@ -587,7 +583,7 @@ class LoginView extends GetView { } // 使用密码登录按钮 - Widget _buildUsePasswordButton() { + Widget _buildUsePasswordButton(bool isDarkMode) { return Center( child: TextButton( onPressed: controller.usePasswordLogin, @@ -595,7 +591,7 @@ class LoginView extends GetView { '使用密码登录', style: TextStyle( fontSize: 14.sp, - color: const Color(0xFF0066CC), + color: isDarkMode ? const Color(0xFF3B82F6) : const Color(0xFF3B82F6), ), ), ), diff --git a/lib/modules/pairing/views/pairing_view.dart b/lib/modules/pairing/views/pairing_view.dart index 993c12808..b6814481f 100644 --- a/lib/modules/pairing/views/pairing_view.dart +++ b/lib/modules/pairing/views/pairing_view.dart @@ -10,35 +10,34 @@ class PairingView extends GetView { @override Widget build(BuildContext context) { - // 使用浅色主题 - return Theme( - data: AppTheme.lightTheme, - child: Scaffold( - body: SafeArea( - child: Stack( - children: [ - // 主要内容 - _buildMainContent(), - ], - ), - ), - bottomNavigationBar: Opacity( - opacity: 0.5, // 保持半透明效果 - child: const CommonBottomNav(currentIndex: 0), + final bool isDarkMode = Theme.of(context).brightness == Brightness.dark; + + return Scaffold( + backgroundColor: isDarkMode ? Colors.black : Colors.white, + body: SafeArea( + child: Stack( + children: [ + // 主要内容 + _buildMainContent(isDarkMode), + ], ), ), + bottomNavigationBar: Opacity( + opacity: 0.5, // 保持半透明效果 + child: const CommonBottomNav(currentIndex: 0), + ), ); } // 主要内容 - Widget _buildMainContent() { + Widget _buildMainContent(bool isDarkMode) { return Padding( padding: EdgeInsets.fromLTRB(24.w, 40.h, 24.w, 24.h), child: SingleChildScrollView( child: Column( children: [ // 标题部分 - _buildHeader(), + _buildHeader(isDarkMode), // 设备动画 SizedBox(height: 40.h), @@ -46,11 +45,11 @@ class PairingView extends GetView { // 搜索状态 SizedBox(height: 40.h), - _buildSearchStatus(), + _buildSearchStatus(isDarkMode), // 底部按钮 SizedBox(height: 60.h), - _buildBottomButtons(), + _buildBottomButtons(isDarkMode), SizedBox(height: 80.h), // 留出底部导航的空间 ], ), @@ -59,7 +58,7 @@ class PairingView extends GetView { } // 标题部分 - Widget _buildHeader() { + Widget _buildHeader(bool isDarkMode) { return Column( children: [ Text( @@ -67,7 +66,7 @@ class PairingView extends GetView { style: TextStyle( fontSize: 24.sp, fontWeight: FontWeight.bold, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), SizedBox(height: 8.h), @@ -75,7 +74,7 @@ class PairingView extends GetView { '连接世界,超越声音', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], @@ -170,7 +169,7 @@ class PairingView extends GetView { } // 搜索状态 - Widget _buildSearchStatus() { + Widget _buildSearchStatus(bool isDarkMode) { return Obx(() { switch (controller.searchStatus) { case SearchStatus.searching: @@ -181,7 +180,7 @@ class PairingView extends GetView { style: TextStyle( fontSize: 18.sp, fontWeight: FontWeight.w600, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), SizedBox(height: 8.h), @@ -189,7 +188,7 @@ class PairingView extends GetView { '请打开耳机充电盒,将耳机放入您的耳朵', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], @@ -217,7 +216,7 @@ class PairingView extends GetView { '正在跳转到主页...', style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], @@ -245,7 +244,7 @@ class PairingView extends GetView { controller.errorMessage, style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), textAlign: TextAlign.center, ), @@ -288,7 +287,7 @@ class PairingView extends GetView { '请确保耳机已开机并在附近' : controller.errorMessage, style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), textAlign: TextAlign.center, ), @@ -318,7 +317,7 @@ class PairingView extends GetView { '请在系统设置中配对您的设备' : controller.errorMessage, style: TextStyle( fontSize: 14.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), textAlign: TextAlign.center, ), @@ -344,7 +343,7 @@ class PairingView extends GetView { } // 底部按钮 - Widget _buildBottomButtons() { + Widget _buildBottomButtons(bool isDarkMode) { return Column( children: [ SizedBox( @@ -352,8 +351,8 @@ class PairingView extends GetView { child: ElevatedButton( onPressed: controller.refreshSearch, style: ElevatedButton.styleFrom( - backgroundColor: Colors.grey.withOpacity(0.1), - foregroundColor: Colors.black, + backgroundColor: isDarkMode ? Color(0xFF1A1A1A) : Colors.grey.withOpacity(0.1), + foregroundColor: isDarkMode ? Colors.white : Colors.black, padding: EdgeInsets.symmetric(vertical: 16.h), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16.r), diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index ba561cc20..46e7b0fea 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -1,12 +1,31 @@ import 'package:get/get.dart'; import 'package:flutter/material.dart'; +import '../../../app/theme/theme_service.dart'; class SettingsController extends GetxController { + // 主题服务 + final ThemeService _themeService = ThemeService(); + + // 是否是暗黑模式 + final RxBool isDarkMode = false.obs; + // 翻译语言对 final RxString sourceLanguage = '中文'.obs; final RxString targetLanguage = '英文'.obs; final List availableLanguages = ['中文', '英文', '日文', '韩文', '法文', '德文', '西班牙文', '俄文']; + @override + void onInit() { + super.onInit(); + isDarkMode.value = _themeService.isSavedDarkMode(); + } + + // 切换主题 + void toggleTheme() { + _themeService.changeThemeMode(); + isDarkMode.value = _themeService.isSavedDarkMode(); + } + void setSourceLanguage(String language) { sourceLanguage.value = language; } diff --git a/lib/modules/settings/views/settings_view.dart b/lib/modules/settings/views/settings_view.dart index 60f95fb09..36136f5a6 100644 --- a/lib/modules/settings/views/settings_view.dart +++ b/lib/modules/settings/views/settings_view.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'dart:ui'; import '../controllers/settings_controller.dart'; import '../../../core/widgets/common_bottom_nav.dart'; import '../../../core/routes/app_routes.dart'; @@ -10,33 +11,38 @@ class SettingsView extends GetView { @override Widget build(BuildContext context) { + final isDarkMode = Theme.of(context).brightness == Brightness.dark; + return Scaffold( - backgroundColor: Colors.grey[50], + backgroundColor: isDarkMode ? Colors.black : Colors.grey[50], appBar: AppBar( - backgroundColor: Colors.white, + backgroundColor: isDarkMode ? Colors.black : Colors.white, elevation: 0.5, title: Text( '设置', style: TextStyle( fontSize: 17.sp, fontWeight: FontWeight.w600, - color: Colors.black, + color: isDarkMode ? Colors.white : Colors.black, ), ), centerTitle: true, leading: IconButton( - icon: const Icon(Icons.arrow_back_ios, color: Colors.black54), + icon: Icon( + Icons.arrow_back_ios, + color: isDarkMode ? Colors.white70 : Colors.black54 + ), onPressed: () => Get.back(), ), ), body: ListView( padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), children: [ - _buildUserInfoCard(), + _buildUserInfoCard(isDarkMode), SizedBox(height: 20.h), - _buildSystemSettingsSection(), + _buildSystemSettingsSection(isDarkMode), SizedBox(height: 20.h), - _buildAboutSection(), + _buildAboutSection(isDarkMode), SizedBox(height: 50.h), ], ), @@ -45,128 +51,146 @@ class SettingsView extends GetView { } // 用户信息卡片 - Widget _buildUserInfoCard() { + Widget _buildUserInfoCard(bool isDarkMode) { return Container( padding: EdgeInsets.all(16.w), decoration: BoxDecoration( - gradient: const LinearGradient( - colors: [Color(0xFFE3F2FD), Color(0xFFF3E5F5)], + gradient: LinearGradient( + colors: isDarkMode + ? [ + const Color(0xFF1A1A1A).withOpacity(0.7), + const Color(0xFF2A2A2A).withOpacity(0.7) + ] + : [ + const Color(0xFFE3F2FD), + const Color(0xFFF3E5F5) + ], begin: Alignment.topLeft, end: Alignment.bottomRight, ), borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.05), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 2), ), ], ), - child: Row( - children: [ - Container( - width: 60.w, - height: 60.w, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30.r), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.1), - blurRadius: 8, - offset: const Offset(0, 2), + child: ClipRRect( + borderRadius: BorderRadius.circular(16.r), + child: BackdropFilter( + filter: isDarkMode ? ImageFilter.blur(sigmaX: 10, sigmaY: 10) : ImageFilter.blur(sigmaX: 0, sigmaY: 0), + child: Row( + children: [ + Container( + width: 60.w, + height: 60.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(30.r), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], ), - ], - ), - child: ClipRRect( - borderRadius: BorderRadius.circular(30.r), - child: Image.network( - 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?ixlib=rb-1.2.1&auto=format&fit=crop&w=200&q=80', - fit: BoxFit.cover, - ), - ), - ), - SizedBox(width: 16.w), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '林美珍', - style: TextStyle( - fontSize: 18.sp, - fontWeight: FontWeight.w600, - color: Colors.black87, + child: ClipRRect( + borderRadius: BorderRadius.circular(30.r), + child: Image.network( + 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?ixlib=rb-1.2.1&auto=format&fit=crop&w=200&q=80', + fit: BoxFit.cover, ), ), - SizedBox(height: 4.h), - Row( + ), + SizedBox(width: 16.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 2.h), - decoration: BoxDecoration( - color: Colors.blue[600], - borderRadius: BorderRadius.circular(10.r), - ), - child: Text( - '高级会员', - style: TextStyle( - fontSize: 10.sp, - color: Colors.white, - ), + Text( + '林美珍', + style: TextStyle( + fontSize: 18.sp, + fontWeight: FontWeight.w600, + color: isDarkMode ? Colors.white : Colors.black87, ), ), - SizedBox(width: 8.w), - Flexible( - child: Text( - '已连接设备: DeepVoice Pro', - style: TextStyle( - fontSize: 12.sp, - color: Colors.black54, + SizedBox(height: 4.h), + Row( + children: [ + Container( + padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 2.h), + decoration: BoxDecoration( + color: Colors.blue[600], + borderRadius: BorderRadius.circular(10.r), + ), + child: Text( + '高级会员', + style: TextStyle( + fontSize: 10.sp, + color: Colors.white, + ), + ), ), - overflow: TextOverflow.ellipsis, + SizedBox(width: 8.w), + Flexible( + child: Text( + '已连接设备: DeepVoice Pro', + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + SizedBox(height: 4.h), + Text( + '账号ID: deepvoice_834291', + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], ), - SizedBox(height: 4.h), - Text( - '账号ID: deepvoice_834291', - style: TextStyle( - fontSize: 12.sp, - color: Colors.black54, - ), + ), + Container( + width: 32.w, + height: 32.w, + decoration: BoxDecoration( + color: isDarkMode + ? Colors.white.withOpacity(0.1) + : Colors.white.withOpacity(0.7), + borderRadius: BorderRadius.circular(16.r), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 4, + offset: const Offset(0, 1), + ), + ], ), - ], - ), - ), - Container( - width: 32.w, - height: 32.w, - decoration: BoxDecoration( - color: Colors.white.withOpacity(0.7), - borderRadius: BorderRadius.circular(16.r), - boxShadow: [ - BoxShadow( - color: Colors.black.withOpacity(0.05), - blurRadius: 4, - offset: const Offset(0, 1), + child: Icon( + Icons.edit, + size: 16.w, + color: isDarkMode ? Colors.white70 : Colors.grey[600], ), - ], - ), - child: Icon( - Icons.edit, - size: 16.w, - color: Colors.grey[600], - ), + ), + ], ), - ], + ), ), ); } // 系统设置部分 - Widget _buildSystemSettingsSection() { + Widget _buildSystemSettingsSection(bool isDarkMode) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -177,100 +201,156 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 12.sp, fontWeight: FontWeight.w500, - color: Colors.blue[600], + color: isDarkMode ? Colors.blue[400] : Colors.blue[600], letterSpacing: 1, ), ), ), Container( decoration: BoxDecoration( - color: Colors.white, + color: isDarkMode ? Colors.white.withOpacity(0.05) : Colors.white, borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.05), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 2), ), ], ), - child: Column( - children: [ - // 通知设置 - _buildSimpleNavigationSetting( - title: '通知设置', - subtitle: '管理应用推送和提醒', - icon: Icons.notifications_none, - iconBgColor: Colors.indigo[100]!, - iconColor: Colors.indigo[600]!, - onTap: () { - // 打开通知设置页面 - }, - ), - const Divider(height: 1), - - // 备份与恢复 - _buildNavigationSetting( - title: '备份与恢复', - subtitle: '备份设置和AI互动历史', - icon: Icons.cloud_upload_outlined, - iconBgColor: Colors.cyan[100]!, - iconColor: Colors.cyan[600]!, - value: '上次备份: 今天', - valueStyle: TextStyle( - fontSize: 12.sp, - color: Colors.grey[500], - ), - onTap: () { - // 打开备份设置页面 - }, - ), - const Divider(height: 1), - - // 隐私设置 - _buildSimpleNavigationSetting( - title: '隐私设置', - subtitle: '管理数据收集和权限', - icon: Icons.shield_outlined, - iconBgColor: Colors.purple[100]!, - iconColor: Colors.purple[600]!, - onTap: () { - // 打开隐私设置页面 - }, - ), - const Divider(height: 1), - - // 退出登录 - _buildSimpleNavigationSetting( - title: '退出登录', - icon: Icons.logout, - iconBgColor: Colors.red[50]!, - iconColor: Colors.red[600]!, - titleColor: Colors.red[600]!, - onTap: () { - // 退出登录确认对话框 - Get.dialog( - AlertDialog( - title: const Text('退出登录'), - content: const Text('确定要退出当前账号吗?'), - actions: [ - TextButton( - onPressed: () => Get.back(), - child: const Text('取消'), - ), - TextButton( - onPressed: () { - Get.back(); - controller.signOut(); - }, - child: const Text('确定'), - ), - ], + child: ClipRRect( + borderRadius: BorderRadius.circular(16.r), + child: BackdropFilter( + filter: isDarkMode ? ImageFilter.blur(sigmaX: 5, sigmaY: 5) : ImageFilter.blur(sigmaX: 0, sigmaY: 0), + child: Column( + children: [ + // 通知设置 + _buildSimpleNavigationSetting( + title: '通知设置', + subtitle: '管理应用推送和提醒', + icon: Icons.notifications_none, + iconBgColor: isDarkMode ? Colors.indigo[900]!.withOpacity(0.3) : Colors.indigo[100]!, + iconColor: isDarkMode ? Colors.indigo[300]! : Colors.indigo[600]!, + titleColor: isDarkMode ? Colors.white : null, + subtitleColor: isDarkMode ? Colors.white70 : null, + onTap: () { + // 打开通知设置页面 + }, + isDarkMode: isDarkMode, + ), + Divider(height: 1, color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[200]), + + // 主题设置 + Obx(() => _buildToggleSetting( + title: '暗黑模式', + subtitle: '切换应用的明暗主题', + icon: controller.isDarkMode.value ? Icons.dark_mode : Icons.light_mode, + iconBgColor: controller.isDarkMode.value + ? Colors.indigo[900]!.withOpacity(0.3) + : Colors.amber[100]!, + iconColor: controller.isDarkMode.value + ? Colors.indigo[300]! + : Colors.amber[600]!, + value: controller.isDarkMode.value, + onChanged: (value) { + controller.toggleTheme(); + }, + isDarkMode: isDarkMode, + )), + Divider(height: 1, color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[200]), + + // 备份与恢复 + _buildNavigationSetting( + title: '备份与恢复', + subtitle: '备份设置和AI互动历史', + icon: Icons.cloud_upload_outlined, + iconBgColor: isDarkMode ? Colors.cyan[900]!.withOpacity(0.3) : Colors.cyan[100]!, + iconColor: isDarkMode ? Colors.cyan[300]! : Colors.cyan[600]!, + value: '上次备份: 今天', + valueStyle: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.grey[500], ), - ); - }, + onTap: () { + // 打开备份设置页面 + }, + isDarkMode: isDarkMode, + ), + Divider(height: 1, color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[200]), + + // 隐私设置 + _buildSimpleNavigationSetting( + title: '隐私设置', + subtitle: '管理数据收集和权限', + icon: Icons.shield_outlined, + iconBgColor: isDarkMode ? Colors.purple[900]!.withOpacity(0.3) : Colors.purple[100]!, + iconColor: isDarkMode ? Colors.purple[300]! : Colors.purple[600]!, + titleColor: isDarkMode ? Colors.white : null, + subtitleColor: isDarkMode ? Colors.white70 : null, + onTap: () { + // 打开隐私设置页面 + }, + isDarkMode: isDarkMode, + ), + Divider(height: 1, color: isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[200]), + + // 退出登录 + _buildSimpleNavigationSetting( + title: '退出登录', + icon: Icons.logout, + iconBgColor: isDarkMode ? Colors.red[900]!.withOpacity(0.3) : Colors.red[50]!, + iconColor: isDarkMode ? Colors.red[300]! : Colors.red[600]!, + titleColor: isDarkMode ? Colors.red[300]! : Colors.red[600]!, + onTap: () { + // 退出登录确认对话框 + Get.dialog( + AlertDialog( + backgroundColor: isDarkMode ? Colors.grey[900] : Colors.white, + title: Text( + '退出登录', + style: TextStyle( + color: isDarkMode ? Colors.white : Colors.black87, + ), + ), + content: Text( + '确定要退出当前账号吗?', + style: TextStyle( + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + ), + actions: [ + TextButton( + onPressed: () => Get.back(), + child: Text( + '取消', + style: TextStyle( + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + ), + ), + TextButton( + onPressed: () { + Get.back(); + controller.signOut(); + }, + child: Text( + '确定', + style: TextStyle( + color: isDarkMode ? Colors.red[300] : Colors.red[600], + ), + ), + ), + ], + ), + ); + }, + isDarkMode: isDarkMode, + ), + ], ), - ], + ), ), ), ], @@ -278,7 +358,7 @@ class SettingsView extends GetView { } // 关于应用部分 - Widget _buildAboutSection() { + Widget _buildAboutSection(bool isDarkMode) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -289,7 +369,7 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 12.sp, fontWeight: FontWeight.w500, - color: Colors.blue[600], + color: isDarkMode ? Colors.blue[400] : Colors.blue[600], letterSpacing: 1, ), ), @@ -297,77 +377,88 @@ class SettingsView extends GetView { Container( padding: EdgeInsets.all(16.w), decoration: BoxDecoration( - color: Colors.white, + color: isDarkMode ? Colors.white.withOpacity(0.05) : Colors.white, borderRadius: BorderRadius.circular(16.r), boxShadow: [ BoxShadow( - color: Colors.black.withOpacity(0.05), + color: isDarkMode + ? Colors.black.withOpacity(0.2) + : Colors.black.withOpacity(0.05), blurRadius: 10, offset: const Offset(0, 2), ), ], ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( + child: ClipRRect( + borderRadius: BorderRadius.circular(16.r), + child: BackdropFilter( + filter: isDarkMode ? ImageFilter.blur(sigmaX: 5, sigmaY: 5) : ImageFilter.blur(sigmaX: 0, sigmaY: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Container( - width: 40.w, - height: 40.w, - decoration: BoxDecoration( - gradient: const LinearGradient( - colors: [Color(0xFF2196F3), Color(0xFF9C27B0)], - begin: Alignment.topLeft, - end: Alignment.bottomRight, - ), - borderRadius: BorderRadius.circular(12.r), - ), - child: Icon( - Icons.headphones, - size: 24.w, - color: Colors.white, - ), - ), - SizedBox(width: 12.w), - Column( - crossAxisAlignment: CrossAxisAlignment.start, + Row( children: [ - Text( - 'DeepVoice', - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w500, - color: Colors.black87, + Container( + width: 40.w, + height: 40.w, + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + const Color(0xFF2196F3).withOpacity(isDarkMode ? 0.7 : 1.0), + const Color(0xFF9C27B0).withOpacity(isDarkMode ? 0.7 : 1.0) + ], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: BorderRadius.circular(12.r), ), - ), - SizedBox(height: 2.h), - Text( - '版本 2.4.1 (Build 87)', - style: TextStyle( - fontSize: 12.sp, - color: Colors.black54, + child: Icon( + Icons.headphones, + size: 24.w, + color: Colors.white, ), ), + SizedBox(width: 12.w), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'DeepVoice', + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w500, + color: isDarkMode ? Colors.white : Colors.black87, + ), + ), + SizedBox(height: 2.h), + Text( + '版本 2.4.1 (Build 87)', + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + ), + ], + ), ], ), - ], - ), - Container( - padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 6.h), - decoration: BoxDecoration( - color: Colors.blue[100], - borderRadius: BorderRadius.circular(16.r), - ), - child: Text( - '检查更新', - style: TextStyle( - fontSize: 12.sp, - color: Colors.blue[600], + Container( + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 6.h), + decoration: BoxDecoration( + color: isDarkMode ? Colors.blue[900]!.withOpacity(0.3) : Colors.blue[100], + borderRadius: BorderRadius.circular(16.r), + ), + child: Text( + '检查更新', + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.blue[300] : Colors.blue[600], + ), + ), ), - ), + ], ), - ], + ), ), ), SizedBox(height: 16.h), @@ -378,7 +469,7 @@ class SettingsView extends GetView { '© 2023 DeepVoice Technologies', style: TextStyle( fontSize: 12.sp, - color: Colors.grey[500], + color: isDarkMode ? Colors.grey[400] : Colors.grey[500], ), ), SizedBox(height: 4.h), @@ -386,7 +477,7 @@ class SettingsView extends GetView { '连接世界,超越声音', style: TextStyle( fontSize: 12.sp, - color: Colors.grey[500], + color: isDarkMode ? Colors.grey[400] : Colors.grey[500], ), ), ], @@ -405,6 +496,7 @@ class SettingsView extends GetView { required Color iconColor, required bool value, required Function(bool) onChanged, + required bool isDarkMode, }) { return Padding( padding: EdgeInsets.all(16.w), @@ -435,7 +527,7 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 16.sp, fontWeight: FontWeight.w500, - color: Colors.black87, + color: isDarkMode ? Colors.white : Colors.black87, ), ), if (subtitle != null) @@ -445,7 +537,7 @@ class SettingsView extends GetView { subtitle, style: TextStyle( fontSize: 12.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], @@ -472,6 +564,7 @@ class SettingsView extends GetView { required String value, TextStyle? valueStyle, required VoidCallback onTap, + required bool isDarkMode, }) { return InkWell( onTap: onTap, @@ -504,7 +597,7 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 16.sp, fontWeight: FontWeight.w500, - color: Colors.black87, + color: isDarkMode ? Colors.white : Colors.black87, ), ), if (subtitle != null) @@ -514,7 +607,7 @@ class SettingsView extends GetView { subtitle, style: TextStyle( fontSize: 12.sp, - color: Colors.black54, + color: isDarkMode ? Colors.white70 : Colors.black54, ), ), ], @@ -527,7 +620,7 @@ class SettingsView extends GetView { value, style: valueStyle ?? TextStyle( fontSize: 14.sp, - color: Colors.black87, + color: isDarkMode ? Colors.white : Colors.black87, ), ), SizedBox(width: 8.w), @@ -535,13 +628,13 @@ class SettingsView extends GetView { width: 32.w, height: 32.w, decoration: BoxDecoration( - color: Colors.grey[100], + color: isDarkMode ? Colors.white.withOpacity(0.05) : Colors.grey[100], borderRadius: BorderRadius.circular(16.r), ), child: Icon( Icons.chevron_right, size: 16.w, - color: Colors.grey[500], + color: isDarkMode ? Colors.white70 : Colors.grey[500], ), ), ], @@ -560,7 +653,9 @@ class SettingsView extends GetView { required Color iconBgColor, required Color iconColor, Color? titleColor, + Color? subtitleColor, required VoidCallback onTap, + required bool isDarkMode, }) { return InkWell( onTap: onTap, @@ -593,7 +688,7 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 16.sp, fontWeight: FontWeight.w500, - color: titleColor ?? Colors.black87, + color: titleColor ?? (isDarkMode ? Colors.white : Colors.black87), ), ), if (subtitle != null) @@ -603,7 +698,7 @@ class SettingsView extends GetView { subtitle, style: TextStyle( fontSize: 12.sp, - color: Colors.black54, + color: subtitleColor ?? (isDarkMode ? Colors.white70 : Colors.black54), ), ), ], @@ -614,13 +709,13 @@ class SettingsView extends GetView { width: 32.w, height: 32.w, decoration: BoxDecoration( - color: Colors.grey[100], + color: isDarkMode ? Colors.white.withOpacity(0.05) : Colors.grey[100], borderRadius: BorderRadius.circular(16.r), ), child: Icon( Icons.chevron_right, size: 16.w, - color: Colors.grey[500], + color: isDarkMode ? Colors.white70 : Colors.grey[500], ), ), ], diff --git a/lib/modules/splash/controllers/splash_controller.dart b/lib/modules/splash/controllers/splash_controller.dart index 0bc568c2a..31a4d1df6 100644 --- a/lib/modules/splash/controllers/splash_controller.dart +++ b/lib/modules/splash/controllers/splash_controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../../core/routes/app_routes.dart'; +import '../../../app/theme/theme_service.dart'; class SplashController extends GetxController { // 进度条动画控制 @@ -15,12 +16,18 @@ class SplashController extends GetxController { final _isResourceLoaded = false.obs; bool get isResourceLoaded => _isResourceLoaded.value; + // 主题服务 + final ThemeService _themeService = ThemeService(); + @override void onInit() { super.onInit(); // 确保页面先渲染,再执行其他操作 WidgetsBinding.instance.addPostFrameCallback((_) { + // 检查并应用上次保存的皮肤模式 + _checkAndApplyTheme(); + // 启动进度条动画 _startLoadingAnimation(); @@ -29,12 +36,21 @@ class SplashController extends GetxController { }); } + // 检查并应用上次保存的皮肤模式 + void _checkAndApplyTheme() { + // 获取保存的主题模式 + final savedThemeMode = _themeService.getThemeMode(); + + // 应用保存的主题模式 + Get.changeThemeMode(savedThemeMode); + } + // 进度条动画 void _startLoadingAnimation() { // 模拟0.5秒的加载进度 Timer.periodic(const Duration(milliseconds: 5), (timer) { if (_loadingProgress.value < 1.0) { - _loadingProgress.value += 0.06; + _loadingProgress.value += 0.01; } else { timer.cancel(); // 当进度条动画完成且资源加载完毕时,跳转到登录页面 diff --git a/lib/modules/splash/views/splash_view.dart b/lib/modules/splash/views/splash_view.dart index 5de82acc2..0f2fb0e4f 100644 --- a/lib/modules/splash/views/splash_view.dart +++ b/lib/modules/splash/views/splash_view.dart @@ -8,82 +8,46 @@ class SplashView extends GetView { @override Widget build(BuildContext context) { + final isDarkMode = Theme.of(context).brightness == Brightness.dark; + return Scaffold( - backgroundColor: const Color(0xFFF5F5F7), + backgroundColor: isDarkMode ? Colors.black : const Color(0xFFF5F5F7), body: Stack( children: [ - // 状态栏 - _buildStatusBar(), - // 主内容 Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ // Logo动画 - _buildAnimatedLogo(), + _buildAnimatedLogo(isDarkMode), // 应用名称 - _buildAppTitle(), + _buildAppTitle(isDarkMode), // 标语 - _buildSlogan(), + _buildSlogan(isDarkMode), // 加载进度条 SizedBox(height: 40.h), - _buildLoadingBar(), + _buildLoadingBar(isDarkMode), // 额外信息 SizedBox(height: 16.h), - _buildExtraInfo(), + _buildExtraInfo(isDarkMode), ], ), ), // 版本号 - _buildVersionInfo(), + _buildVersionInfo(isDarkMode), ], ), ); } - // 状态栏 - Widget _buildStatusBar() { - return Positioned( - top: 0, - left: 0, - right: 0, - child: SafeArea( - child: Padding( - padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 8.h), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - '9:41', - style: TextStyle( - fontSize: 12.sp, - color: Colors.grey[800], - ), - ), - Row( - children: [ - Icon(Icons.signal_cellular_4_bar, size: 12.sp, color: Colors.grey[800]), - SizedBox(width: 4.w), - Icon(Icons.wifi, size: 12.sp, color: Colors.grey[800]), - SizedBox(width: 4.w), - Icon(Icons.battery_full, size: 12.sp, color: Colors.grey[800]), - ], - ), - ], - ), - ), - ), - ); - } - // 动画Logo - Widget _buildAnimatedLogo() { + Widget _buildAnimatedLogo(bool isDarkMode) { return TweenAnimationBuilder( tween: Tween(begin: 0.8, end: 1.1), duration: const Duration(seconds: 2), @@ -130,7 +94,7 @@ class SplashView extends GetView { } // 应用标题 - Widget _buildAppTitle() { + Widget _buildAppTitle(bool isDarkMode) { return TweenAnimationBuilder( tween: Tween(begin: 0.0, end: 1.0), duration: const Duration(milliseconds: 1500), @@ -145,7 +109,7 @@ class SplashView extends GetView { style: TextStyle( fontSize: 28.sp, fontWeight: FontWeight.bold, - color: Colors.grey[800], + color: isDarkMode ? Colors.white : Colors.grey[800], ), ), ), @@ -155,7 +119,7 @@ class SplashView extends GetView { } // 标语 - Widget _buildSlogan() { + Widget _buildSlogan(bool isDarkMode) { return TweenAnimationBuilder( tween: Tween(begin: 0.0, end: 1.0), duration: const Duration(milliseconds: 1500), @@ -169,7 +133,7 @@ class SplashView extends GetView { '连接世界,岂止声音', style: TextStyle( fontSize: 14.sp, - color: Colors.grey[600], + color: isDarkMode ? Colors.grey[400] : Colors.grey[600], ), ), ), @@ -179,7 +143,7 @@ class SplashView extends GetView { } // 加载进度条 - Widget _buildLoadingBar() { + Widget _buildLoadingBar(bool isDarkMode) { return Padding( padding: EdgeInsets.symmetric(horizontal: 80.w), child: Stack( @@ -187,7 +151,7 @@ class SplashView extends GetView { Container( height: 4.h, decoration: BoxDecoration( - color: Colors.grey[200], + color: isDarkMode ? Colors.grey[800] : Colors.grey[200], borderRadius: BorderRadius.circular(2.r), ), ), @@ -216,7 +180,7 @@ class SplashView extends GetView { } // 额外信息 - Widget _buildExtraInfo() { + Widget _buildExtraInfo(bool isDarkMode) { return TweenAnimationBuilder( tween: Tween(begin: 0.0, end: 1.0), duration: const Duration(milliseconds: 1500), @@ -228,7 +192,7 @@ class SplashView extends GetView { 'AI语音专家 · 随时随地', style: TextStyle( fontSize: 12.sp, - color: Colors.grey[400], + color: isDarkMode ? Colors.grey[500] : Colors.grey[400], ), ), ); @@ -237,7 +201,7 @@ class SplashView extends GetView { } // 版本信息 - Widget _buildVersionInfo() { + Widget _buildVersionInfo(bool isDarkMode) { return Positioned( bottom: 32.h, left: 0, @@ -247,7 +211,7 @@ class SplashView extends GetView { controller.version, style: TextStyle( fontSize: 12.sp, - color: Colors.grey[400], + color: isDarkMode ? Colors.grey[500] : Colors.grey[400], ), ), ), diff --git a/macos/Podfile.lock b/macos/Podfile.lock index c014c5d55..da6276a5d 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -8,6 +8,9 @@ PODS: - FlutterMacOS - file_selector_macos (0.0.1): - FlutterMacOS + - flutter_blue_plus_darwin (0.0.2): + - Flutter + - FlutterMacOS - flutter_local_notifications (0.0.1): - FlutterMacOS - flutter_tts (0.0.1): @@ -23,17 +26,9 @@ PODS: - FlutterMacOS - share_plus (0.0.1): - FlutterMacOS - - shared_preferences_foundation (0.0.1): - - Flutter - - FlutterMacOS - - speech_to_text (0.0.1): - - Flutter - - FlutterMacOS - - Try - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - - Try (2.1.1) - window_size (0.0.2): - FlutterMacOS @@ -42,6 +37,7 @@ DEPENDENCIES: - audio_session (from `Flutter/ephemeral/.symlinks/plugins/audio_session/macos`) - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) + - flutter_blue_plus_darwin (from `Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin`) - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`) - flutter_tts (from `Flutter/ephemeral/.symlinks/plugins/flutter_tts/macos`) - FlutterMacOS (from `Flutter/ephemeral`) @@ -49,15 +45,9 @@ DEPENDENCIES: - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - record_darwin (from `Flutter/ephemeral/.symlinks/plugins/record_darwin/macos`) - share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`) - - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - - speech_to_text (from `Flutter/ephemeral/.symlinks/plugins/speech_to_text/darwin`) - sqflite_darwin (from `Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin`) - window_size (from `Flutter/ephemeral/.symlinks/plugins/window_size/macos`) -SPEC REPOS: - trunk: - - Try - EXTERNAL SOURCES: audio_service: :path: Flutter/ephemeral/.symlinks/plugins/audio_service/darwin @@ -67,6 +57,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos file_selector_macos: :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos + flutter_blue_plus_darwin: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin flutter_local_notifications: :path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos flutter_tts: @@ -81,10 +73,6 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/record_darwin/macos share_plus: :path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos - shared_preferences_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin - speech_to_text: - :path: Flutter/ephemeral/.symlinks/plugins/speech_to_text/darwin sqflite_darwin: :path: Flutter/ephemeral/.symlinks/plugins/sqflite_darwin/darwin window_size: @@ -95,6 +83,7 @@ SPEC CHECKSUMS: audio_session: eaca2512cf2b39212d724f35d11f46180ad3a33e device_info_plus: a56e6e74dbbd2bb92f2da12c64ddd4f67a749041 file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31 + flutter_blue_plus_darwin: 09444a26fb6bdef523e55b68fc1c59af5a877ea6 flutter_local_notifications: 13862b132e32eb858dea558a86d45d08daeacfe7 flutter_tts: ae915565cc6948444b513acc8ee021993281e027 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 @@ -102,10 +91,7 @@ SPEC CHECKSUMS: path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 record_darwin: 30509266ae213af8afdb09a8ae7467cb64c1377e share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc - shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 - speech_to_text: 9dc43a5df3cbc2813f8c7cc9bd0fbf94268ed7ac sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 - Try: 5ef669ae832617b3cee58cb2c6f99fb767a4ff96 window_size: 4bd15034e6e3d0720fd77928a7c42e5492cfece9 PODFILE CHECKSUM: 8c4442624fc136b0afb378a2502958e01c05d073