From adb7a25d1c1a32c2a11285a7acd2de9d217ca6bd Mon Sep 17 00:00:00 2001 From: liyi Date: Thu, 31 Jul 2025 17:08:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=94=81=E6=97=B6=E5=8F=B0=E6=B9=BE=E6=98=BE=E7=A4=BA=E4=B8=BA?= =?UTF-8?q?=E7=B9=81=E4=BD=93=E4=B8=AD=E6=96=87=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lock_voice_setting_logic.dart | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart index 017f6dc9..fde8ba46 100644 --- a/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart +++ b/lib/mine/addLock/lock_voice_setting/lock_voice_setting_logic.dart @@ -31,6 +31,7 @@ class LockVoiceSettingLogic extends BaseGetXController { LockVoiceSettingState state = LockVoiceSettingState(); StreamSubscription? _replySubscription; bool _isThrottled = false; + // 超时定时器(用于检测是否未收到回复) Timer? _sendTimeoutTimer; @@ -248,16 +249,29 @@ class LockVoiceSettingLogic extends BaseGetXController { data?.forEach((element) { final lang = element.lang; - List parts = lang.split('_'); - final indexOf = locales.indexOf(Locale(parts[0], parts[1])); - final passthroughItem = PassthroughItem( - lang: element.lang, - timbres: element.timbres, - langText: - ExtensionLanguageType.fromLocale(locales[indexOf]).lanTitle, - name: element.name, - ); - state.languages.add(passthroughItem); + if (lang == 'zh_TW') { + // 如果是台湾的话应该显示未简体中文 + List parts = lang.split('_'); + final indexOf = locales.indexOf(Locale(parts[0], parts[1])); + final passthroughItem = PassthroughItem( + lang: element.lang, + timbres: element.timbres, + langText: '简体中文'.tr + '(中国台湾)'.tr, + name: element.name, + ); + state.languages.add(passthroughItem); + } else { + List parts = lang.split('_'); + final indexOf = locales.indexOf(Locale(parts[0], parts[1])); + final passthroughItem = PassthroughItem( + lang: element.lang, + timbres: element.timbres, + langText: + ExtensionLanguageType.fromLocale(locales[indexOf]).lanTitle, + name: element.name, + ); + state.languages.add(passthroughItem); + } }); state.languages.refresh(); final lang = state @@ -314,6 +328,7 @@ class LockVoiceSettingLogic extends BaseGetXController { state.progress.value = 0.0; // 开始前重置进度 _sendNextPackage(); } + void _handleSendTimeout() { _isTimeout = true; // 标记超时状态 dismissEasyLoading(); @@ -347,7 +362,6 @@ class LockVoiceSettingLogic extends BaseGetXController { _handleSendTimeout(); // 触发超时处理 }); - int start = state.voiceSubcontractingIndex * state.voiceSubcontractingSize; int end = start + state.voiceSubcontractingSize; if (end > state.data!.length) end = state.data!.length;