From 906f1cdaa93ce192ff8a66e2695d7100b8e93635 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Mon, 24 Nov 2025 11:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BC=9A=E8=AE=AE=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=80=BB=E7=BB=93=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/summary_task_service.dart | 65 ++++++++----------- .../splash/controllers/splash_controller.dart | 6 ++ 2 files changed, 34 insertions(+), 37 deletions(-) diff --git a/lib/data/services/meeting/summary_task_service.dart b/lib/data/services/meeting/summary_task_service.dart index 0887b068c..f35c5f275 100644 --- a/lib/data/services/meeting/summary_task_service.dart +++ b/lib/data/services/meeting/summary_task_service.dart @@ -66,45 +66,36 @@ class SummaryTaskService extends GetxService { _storage.write("summary_task_list", _taskList); } - void _aiServiceMessage(int id, String text, String prompt, String outline) { - int awaitQuantity = 0; - String summaryText = ''; - String overviewText = ''; - DeapsoundAIService().sendMessage( - messages: [ - { - 'role': 'system', - 'content': prompt, - }, - {'role': 'user', 'content': text}, - ], - ).then((value) { - awaitQuantity++; - summaryText = value; - if (awaitQuantity >= 2) { - _aiServiceValue(id, summaryText, overviewText); - } - }); - DeapsoundAIService().sendMessage( - messages: [ - { - 'role': 'system', - 'content': outline, - }, - {'role': 'user', 'content': text}, - ], - ).then((value) { - awaitQuantity++; - overviewText = value; - if (awaitQuantity >= 2) { - _aiServiceValue(id, summaryText, overviewText); - } - }); + Future _aiServiceMessage( + int id, String text, String prompt, String outline) async { + final ai = DeapsoundAIService(); + try { + final results = await Future.wait([ + ai.sendMessage(messages: [ + {'role': 'system', 'content': prompt}, + {'role': 'user', 'content': text}, + ]).timeout(const Duration(seconds: 300)), + ai.sendMessage(messages: [ + {'role': 'system', 'content': outline}, + {'role': 'user', 'content': text}, + ]).timeout(const Duration(seconds: 300)), + ], eagerError: true); + _aiServiceValue(id, results[0], results[1]); + } catch (e) { + _isTask = false; + _executeTask(); + } } - void _aiServiceValue(int id, String summaryText, String overviewText) { - if (!_taskList.any((item) => item['id'] == id)) return; - SqfliteApi.editMeeting(id, { + Future _aiServiceValue( + int id, String summaryText, String overviewText) async { + final exists = _taskList.any((item) => item['id'] == id); + if (!exists) { + _isTask = false; + _executeTask(); + return; + } + await SqfliteApi.editMeeting(id, { 'tasktype': 3, 'summary': summaryText, 'overview': overviewText, diff --git a/lib/modules/splash/controllers/splash_controller.dart b/lib/modules/splash/controllers/splash_controller.dart index e35379d1f..eabfbbadb 100644 --- a/lib/modules/splash/controllers/splash_controller.dart +++ b/lib/modules/splash/controllers/splash_controller.dart @@ -10,6 +10,9 @@ import 'package:http/http.dart' as http; import '../../../data/models/appconfig.dart'; import '../../../data/models/appconfig_model.dart'; import '../../../data/models/user_Info.dart'; +import '../../../data/services/meeting/meeting_task_service.dart'; +import '../../../data/services/meeting/meeting_upload_service.dart'; +import '../../../data/services/meeting/summary_task_service.dart'; import '../../../routes/app_routes.dart'; import '../../../data/services/network/api.dart'; import '../../../data/services/version_update_service.dart'; @@ -266,6 +269,9 @@ class SplashController extends GetxController { final isAppConfigInitialized = AppConfig.isInitialized(); // 检查登录状态和配置初始化状态 if (token != null && token.isNotEmpty && isAppConfigInitialized) { + Get.find(); + Get.find(); + Get.find(); Get.offAllNamed(Routes.pairing); } else { _storage.remove('meeting_task_list');