diff --git a/lib/data/services/ble_manager.dart b/lib/data/services/ble_manager.dart index 4c885ecc7..a793411f3 100644 --- a/lib/data/services/ble_manager.dart +++ b/lib/data/services/ble_manager.dart @@ -519,7 +519,11 @@ class BleManager extends GetxService { Future startAgentService() async { try { // 从.env文件直接读取环境变量 - final serverurl = dotenv.env['SERVER_URL'] ?? ''; + var serverurl = dotenv.env['SERVER_URL'] ?? ''; + if (Get.locale?.countryCode != 'CN') { + serverurl = dotenv.env['HW_SERVER_URL'] ?? ''; + } + var jsonString = _storage.read("logintoken"); Logger.info('启动BLE服务,serverurl: ${serverurl}'); // final azureSpeechRegion = dotenv.env['AZURE_SPEECH_REGION'] ?? 'eastasia'; diff --git a/lib/data/services/network/dio_manager.dart b/lib/data/services/network/dio_manager.dart index abdb7850f..0496c11f9 100644 --- a/lib/data/services/network/dio_manager.dart +++ b/lib/data/services/network/dio_manager.dart @@ -1,5 +1,6 @@ import 'package:dio/dio.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:get/get.dart' hide Response; import 'auth_interceptor.dart'; import 'nw_method.dart'; @@ -9,7 +10,18 @@ class DioManager { factory DioManager() => _shared; late Dio dio; - final baseUrl = dotenv.env['SERVER_URL'] ?? ""; + // 根据地区获取服务器URL + String get baseUrl { + final countryCode = Get.deviceLocale?.countryCode?.toUpperCase(); + final isChinaMainland = countryCode == 'CN'; + + if (!isChinaMainland) { + return dotenv.env['HW_SERVER_URL'] ?? dotenv.env['SERVER_URL'] ?? ''; + } else { + return dotenv.env['SERVER_URL'] ?? ''; + } + } + DioManager._internal() { BaseOptions options = BaseOptions( baseUrl: baseUrl,