diff --git a/lib/common/conf.dart b/lib/common/conf.dart index 575f582..fa188e4 100644 --- a/lib/common/conf.dart +++ b/lib/common/conf.dart @@ -129,8 +129,13 @@ class AppConf { try { networkVersionData = await Api.getAppVersion(); globalUIModel.checkActivityThemeColor(); - dPrint( - "lastVersion=${networkVersionData?.lastVersion} ${networkVersionData?.lastVersionCode}"); + if (isMSE) { + dPrint( + "lastVersion=${networkVersionData?.mSELastVersion} ${networkVersionData?.mSELastVersionCode}"); + } else { + dPrint( + "lastVersion=${networkVersionData?.lastVersion} ${networkVersionData?.lastVersionCode}"); + } } catch (e) { dPrint("_checkUpdate Error:$e"); } diff --git a/lib/global_ui_model.dart b/lib/global_ui_model.dart index e9764fc..6118547 100644 --- a/lib/global_ui_model.dart +++ b/lib/global_ui_model.dart @@ -20,7 +20,6 @@ class AppGlobalUIModel extends BaseUIModel { Timer? activityThemeColorTimer; Future doCheckUpdate(BuildContext context, {bool init = true}) async { - if (AppConf.isMSE) return true; if (!init) { try { await AppConf.checkUpdate(); @@ -32,8 +31,10 @@ class AppGlobalUIModel extends BaseUIModel { "检查更新失败!请检查网络连接... \n进入离线模式.. \n\n请谨慎在离线模式中使用。 \n当前版本构建日期:${AppConf.appVersionDate}\n QQ群:940696487"); return false; } - if (((AppConf.networkVersionData?.lastVersionCode) ?? 0) > - AppConf.appVersionCode) { + final lastVersion = AppConf.isMSE + ? AppConf.networkVersionData?.mSELastVersionCode + : AppConf.networkVersionData?.lastVersionCode; + if ((lastVersion ?? 0) > AppConf.appVersionCode) { // need update final r = await showDialog( dismissWithEsc: false, diff --git a/lib/ui/settings/upgrade_dialog_ui_model.dart b/lib/ui/settings/upgrade_dialog_ui_model.dart index dc95eb0..32d4cfc 100644 --- a/lib/ui/settings/upgrade_dialog_ui_model.dart +++ b/lib/ui/settings/upgrade_dialog_ui_model.dart @@ -5,6 +5,7 @@ import 'package:starcitizen_doctor/api/api.dart'; import 'package:starcitizen_doctor/base/ui_model.dart'; import 'package:starcitizen_doctor/common/conf.dart'; import 'package:starcitizen_doctor/common/helper/system_helper.dart'; +import 'package:url_launcher/url_launcher_string.dart'; class UpgradeDialogUIModel extends BaseUIModel { String? description; @@ -19,9 +20,10 @@ class UpgradeDialogUIModel extends BaseUIModel { Future loadData() async { // get download url for gitlab release try { - targetVersion = AppConf.networkVersionData!.lastVersion!; - final r = await Api.getAppReleaseDataByVersionName( - AppConf.networkVersionData!.lastVersion!); + targetVersion = AppConf.isMSE + ? AppConf.networkVersionData!.mSELastVersion! + : AppConf.networkVersionData!.lastVersion!; + final r = await Api.getAppReleaseDataByVersionName(targetVersion); description = r["description"]; final assetsLinks = List.of(r["assets"]?["links"] ?? []); for (var link in assetsLinks) { @@ -37,6 +39,10 @@ class UpgradeDialogUIModel extends BaseUIModel { } doUpgrade() async { + if (AppConf.isMSE) { + launchUrlString("ms-windows-store://pdp/?productid=9NF3SWFWNKL1"); + return; + } isUpgrading = true; notifyListeners(); final fileName = "${AppConf.getUpgradePath()}/next_SETUP.exe";