|
|
@ -119,6 +119,9 @@ class VersionUpdateService extends GetxService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// 根据设备品牌获取应用商店信息 |
|
|
/// 根据设备品牌获取应用商店信息 |
|
|
|
|
|
/// |
|
|
|
|
|
/// 该方法根据设备品牌判断应用商店类型,并返回对应的 [PlatformInfo] 对象。 |
|
|
|
|
|
/// 如果品牌不在预设列表中,将使用环境变量 [Channel] 或默认值 [UserChannel.GLOBAL_GOOGLE]。 |
|
|
Future<PlatformInfo> getAndroidStoreInfoByBrand() async { |
|
|
Future<PlatformInfo> getAndroidStoreInfoByBrand() async { |
|
|
try { |
|
|
try { |
|
|
final deviceInfo = DeviceInfoPlugin(); |
|
|
final deviceInfo = DeviceInfoPlugin(); |
|
|
@ -129,49 +132,37 @@ class VersionUpdateService extends GetxService { |
|
|
String channelFromEnv = dotenv.env['Channel'] ?? 'OFFICIAL'; |
|
|
String channelFromEnv = dotenv.env['Channel'] ?? 'OFFICIAL'; |
|
|
_channel = UserChannel.fromName(channelFromEnv); |
|
|
_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( |
|
|
return PlatformInfo( |
|
|
platform: 'android', |
|
|
platform: 'android', |
|
|
storeType: AppStoreType.official, |
|
|
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) { |
|
|
} catch (e) { |
|
|
_logger.e('获取Android设备信息失败: $e'); |
|
|
_logger.e('获取Android设备信息失败: $e'); |
|
|
return const PlatformInfo( |
|
|
return const PlatformInfo( |
|
|
@ -205,14 +196,14 @@ class VersionUpdateService extends GetxService { |
|
|
final platformInfo = await getCurrentPlatformInfo(); |
|
|
final platformInfo = await getCurrentPlatformInfo(); |
|
|
|
|
|
|
|
|
_platform = platformInfo.platform; |
|
|
_platform = platformInfo.platform; |
|
|
_channel = platformInfo.channel; |
|
|
//_channel = platformInfo.channel; |
|
|
_lastCheckTime = DateTime.now(); |
|
|
_lastCheckTime = DateTime.now(); |
|
|
|
|
|
|
|
|
// 调用后端接口获取最新版本信息 |
|
|
// 调用后端接口获取最新版本信息 |
|
|
final response = |
|
|
final response = |
|
|
await Api.getChannelApp({'channel': platformInfo.channel.value}); |
|
|
await Api.getChannelApp({'channel': platformInfo.channel.value}); |
|
|
|
|
|
|
|
|
_logger.d('获取渠道包信息:$response'); |
|
|
_logger.d('lxm--获取渠道包信息:$response'); |
|
|
|
|
|
|
|
|
if (response == null || !response.containsKey('app')) { |
|
|
if (response == null || !response.containsKey('app')) { |
|
|
//[2]获取渠道包信息失败: 响应为空或不包含app字段 |
|
|
//[2]获取渠道包信息失败: 响应为空或不包含app字段 |
|
|
|