diff --git a/lib/data/models/appconfig_model.dart b/lib/data/models/appconfig_model.dart index 7f7b6bd59..65ea7838e 100644 --- a/lib/data/models/appconfig_model.dart +++ b/lib/data/models/appconfig_model.dart @@ -79,6 +79,7 @@ class DBProduct { final String? productimage; final String scanuuid; final String? version; + final bool? iscontinuouschat; final String? updatedescription; final String? updatepackageaddress; @@ -90,6 +91,7 @@ class DBProduct { required this.productimage, required this.scanuuid, required this.version, + required this.iscontinuouschat, required this.updatedescription, required this.updatepackageaddress, }); diff --git a/lib/data/models/appconfig_model.g.dart b/lib/data/models/appconfig_model.g.dart index e75d17437..77b929248 100644 --- a/lib/data/models/appconfig_model.g.dart +++ b/lib/data/models/appconfig_model.g.dart @@ -79,6 +79,7 @@ DBProduct _$DBProductFromJson(Map json) => DBProduct( productimage: json['productimage'] as String?, scanuuid: json['scanuuid'] as String, version: json['version'] as String?, + iscontinuouschat: json['iscontinuouschat'] as bool?, updatedescription: json['updatedescription'] as String?, updatepackageaddress: json['updatepackageaddress'] as String?, ); diff --git a/lib/modules/agent/controllers/agent_controller.dart b/lib/modules/agent/controllers/agent_controller.dart index ba0aba2d8..91edf4dc9 100644 --- a/lib/modules/agent/controllers/agent_controller.dart +++ b/lib/modules/agent/controllers/agent_controller.dart @@ -6,6 +6,7 @@ import 'package:package_info_plus/package_info_plus.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:uuid/uuid.dart'; import 'package:voitrans/data/models/appconfig.dart'; +import 'package:voitrans/data/models/appconfig_model.dart'; import 'package:voitrans/data/models/song_model.dart'; import 'package:voitrans/data/services/ble_manager.dart'; import 'package:voitrans/data/services/bluetooth_manager.dart'; @@ -177,6 +178,14 @@ class AgentController extends GetxController with WidgetsBindingObserver { // 监听应用生命周期:当应用切到后台/失焦时兜底结束按住说话,防止 onPointerUp 未触发 WidgetsBinding.instance.addObserver(this); + // 获取设备类型以确定检查策略 + String deviceName = getDeviceName(); + DBProduct? product = AppConfig.getproduct(deviceName); + if (product != null) { + isTtsInterruptEnabled.value = !product.iscontinuouschat!; + } else { + isTtsInterruptEnabled.value = false; + } // _qqmusicManager.syncCurrentPlayInfo(); } @@ -2794,4 +2803,11 @@ class AgentController extends GetxController with WidgetsBindingObserver { message.isToolCallsExpanded = isExpanded; messages.refresh(); } + + String getDeviceName() { + if (_bluetoothManager.currentDevice != null) { + return _bluetoothManager.currentDevice!.name; + } + return ""; + } }