From 0d2f0f1ef89e66ceac99561b6544a049f393bfe8 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Wed, 13 Aug 2025 16:54:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E6=89=8B=E6=8C=87?= =?UTF-8?q?=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/modules/agent/controllers/agent_controller.dart | 3 +++ lib/modules/agent/views/agent_view.dart | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/modules/agent/controllers/agent_controller.dart b/lib/modules/agent/controllers/agent_controller.dart index 82e7696e1..4ab856798 100644 --- a/lib/modules/agent/controllers/agent_controller.dart +++ b/lib/modules/agent/controllers/agent_controller.dart @@ -123,6 +123,7 @@ class AgentController extends GetxController { Timer? _progressTimer; // 用于跟踪AI回复状态 bool _isNewAssistantResponse = true; + RxBool newAIReplyCompleted = true.obs; String _currentResponseId = ''; final TAG = 'AgentController'; @@ -635,6 +636,7 @@ class AgentController extends GetxController { isImageProcessing.value = false; // 标记当前回复完成 _isNewAssistantResponse = true; + newAIReplyCompleted.value = true; break; case AgentServiceEventType.error: @@ -892,6 +894,7 @@ class AgentController extends GetxController { isProcessing.value = true; // 标记为新的AI回复 _isNewAssistantResponse = true; + newAIReplyCompleted.value = false; // 根据TTS状态决定是否朗读 await AgentService.processTextInput(text, speakResponse: isTtsEnabled.value); diff --git a/lib/modules/agent/views/agent_view.dart b/lib/modules/agent/views/agent_view.dart index 9ce31cb95..1eaee3469 100644 --- a/lib/modules/agent/views/agent_view.dart +++ b/lib/modules/agent/views/agent_view.dart @@ -208,11 +208,13 @@ class _AgentViewState extends State with WidgetsBindingObserver { ); }, overlayBuilder: (params) { - return IntroOverlayBuilder.homeBuilder( - params, - false, - title: '小言正在思考中~', - onNext: () {}, + return Obx( + () => IntroOverlayBuilder.homeBuilder( + params, + false, + title: '小言正在思考中~', + onNext: controller.newAIReplyCompleted.value ? () {} : null, + ), ); }, builder: (BuildContext context, GlobalKey key) => SizedBox(