diff --git a/lib/data/services/version_update_service.dart b/lib/data/services/version_update_service.dart index b6822c17f..c7cef7841 100644 --- a/lib/data/services/version_update_service.dart +++ b/lib/data/services/version_update_service.dart @@ -119,6 +119,9 @@ class VersionUpdateService extends GetxService { } /// 根据设备品牌获取应用商店信息 + /// + /// 该方法根据设备品牌判断应用商店类型,并返回对应的 [PlatformInfo] 对象。 + /// 如果品牌不在预设列表中,将使用环境变量 [Channel] 或默认值 [UserChannel.GLOBAL_GOOGLE]。 Future getAndroidStoreInfoByBrand() async { try { final deviceInfo = DeviceInfoPlugin(); @@ -129,49 +132,37 @@ class VersionUpdateService extends GetxService { String channelFromEnv = dotenv.env['Channel'] ?? 'OFFICIAL'; _channel = UserChannel.fromName(channelFromEnv); + UserChannel brandChannel; //品牌渠道,只用于请求版本更新信息 + + switch (brand) { + case 'huawei': + brandChannel = UserChannel.CHINA_HUAWEI; + break; + case 'xiaomi': + case 'redmi': + brandChannel = UserChannel.CHINA_XIAOMI; + break; + case 'oppo': + case 'oneplus': + brandChannel = UserChannel.CHINA_OPPO; + break; + case 'vivo': + case 'iqoo': + brandChannel = UserChannel.CHINA_VIVO; + break; + case 'honor': + brandChannel = UserChannel.CHINA_HONOR; + break; + default: + brandChannel = _channel ?? UserChannel.GLOBAL_GOOGLE; + break; + } + return PlatformInfo( platform: 'android', storeType: AppStoreType.official, - channel: _channel ?? UserChannel.OFFICIAL, + channel: brandChannel, ); - - // switch (brand) { - // case 'huawei': - // case 'honor': - // return PlatformInfo( - // platform: 'android', - // storeType: - // brand == 'huawei' ? AppStoreType.huawei : AppStoreType.honor, - // channel: brand == 'huawei' ? '华为应用市场' : '荣耀应用市场', - // ); - // case 'xiaomi': - // case 'redmi': - // return const PlatformInfo( - // platform: 'android', - // storeType: AppStoreType.xiaomi, - // channel: '小米应用商店', - // ); - // case 'oppo': - // case 'oneplus': - // return const PlatformInfo( - // platform: 'android', - // storeType: AppStoreType.oppo, - // channel: 'OPPO软件商店', - // ); - // case 'vivo': - // case 'iqoo': - // return const PlatformInfo( - // platform: 'android', - // storeType: AppStoreType.vivo, - // channel: 'vivo应用商店', - // ); - // default: - // return const PlatformInfo( - // platform: 'android', - // storeType: AppStoreType.googlePlay, - // channel: 'Google Play', - // ); - // } } catch (e) { _logger.e('获取Android设备信息失败: $e'); return const PlatformInfo( @@ -205,14 +196,14 @@ class VersionUpdateService extends GetxService { final platformInfo = await getCurrentPlatformInfo(); _platform = platformInfo.platform; - _channel = platformInfo.channel; + //_channel = platformInfo.channel; _lastCheckTime = DateTime.now(); // 调用后端接口获取最新版本信息 final response = await Api.getChannelApp({'channel': platformInfo.channel.value}); - _logger.d('获取渠道包信息:$response'); + _logger.d('lxm--获取渠道包信息:$response'); if (response == null || !response.containsKey('app')) { //[2]获取渠道包信息失败: 响应为空或不包含app字段 diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index 48ec63019..8084cfa29 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -629,20 +629,20 @@ class SettingsController extends GetxController { try { final versionService = Get.find(); return ''' - 应用版本: ${versionService.cachedAppVersion} - 构建号: ${versionService.cachedBuildNumber} - 平台: ${versionService.cachedPlatform} - 设备品牌: ${versionService.cachedDeviceBrand} - 渠道: ${versionService.cachedChannel} - 最新版本: ${versionService.cachedLatestVersion} - 有更新: ${versionService.cachedHasUpdate} - 强制更新: ${versionService.cachedIsForceUpdate} - 更新链接: ${versionService.cachedUpdateUrl} - 游客模式: ${versionService.cachedShowTourists} - 最近版本检查时间: ${versionService.lastCheckTime ?? '未检查'} - 国家地区编码: ${versionService.cachedCountryCode} - 语言编码: ${versionService.cachedLanguageCode} - 服务器地址: ${versionService.cachedServerUrl} +应用版本: ${versionService.cachedAppVersion} +构建号: ${versionService.cachedBuildNumber} +平台: ${versionService.cachedPlatform} +设备品牌: ${versionService.cachedDeviceBrand} +渠道: ${versionService.cachedChannel} +最新版本: ${versionService.cachedLatestVersion} +有更新: ${versionService.cachedHasUpdate} +强制更新: ${versionService.cachedIsForceUpdate} +更新链接: ${versionService.cachedUpdateUrl} +游客模式: ${versionService.cachedShowTourists} +最近版本检查时间: ${versionService.lastCheckTime ?? '未检查'} +国家地区编码: ${versionService.cachedCountryCode} +语言编码: ${versionService.cachedLanguageCode} +服务器地址: ${versionService.cachedServerUrl} '''; } catch (e) { return '获取版本服务数据失败: $e';