Browse Source

feat(网络服务): 根据地区动态选择服务器URL

修改BleManager和DioManager,当设备地区非中国大陆时使用备用服务器URL。提升国际用户访问速度和服务稳定性。
newdev_shunjiawei
lxm 1 year ago
parent
commit
b4ad21d233
  1. 6
      lib/data/services/ble_manager.dart
  2. 14
      lib/data/services/network/dio_manager.dart

6
lib/data/services/ble_manager.dart

@ -519,7 +519,11 @@ class BleManager extends GetxService {
Future<bool> startAgentService() async { Future<bool> startAgentService() async {
try { try {
// 从.env文件直接读取环境变量 // 从.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<String>("logintoken"); var jsonString = _storage.read<String>("logintoken");
Logger.info('启动BLE服务,serverurl: ${serverurl}'); Logger.info('启动BLE服务,serverurl: ${serverurl}');
// final azureSpeechRegion = dotenv.env['AZURE_SPEECH_REGION'] ?? 'eastasia'; // final azureSpeechRegion = dotenv.env['AZURE_SPEECH_REGION'] ?? 'eastasia';

14
lib/data/services/network/dio_manager.dart

@ -1,5 +1,6 @@
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:get/get.dart' hide Response;
import 'auth_interceptor.dart'; import 'auth_interceptor.dart';
import 'nw_method.dart'; import 'nw_method.dart';
@ -9,7 +10,18 @@ class DioManager {
factory DioManager() => _shared; factory DioManager() => _shared;
late Dio dio; 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() { DioManager._internal() {
BaseOptions options = BaseOptions( BaseOptions options = BaseOptions(
baseUrl: baseUrl, baseUrl: baseUrl,

Loading…
Cancel
Save