fix: 安卓端编译多个包时,buildNumber会额外拼上1、2、3之类的,会对更新判断造成影响

This commit is contained in:
orz12
2024-02-18 09:01:38 +08:00
parent 676d033e53
commit 72cd1402e7
4 changed files with 16 additions and 7 deletions

View File

@@ -1,3 +1,5 @@
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
@@ -194,7 +196,12 @@ class AboutController extends GetxController {
// 获取当前版本
Future getCurrentApp() async {
var currentInfo = await PackageInfo.fromPlatform();
currentVersion.value = "v${currentInfo.version}+${currentInfo.buildNumber}";
String buildNumber = currentInfo.buildNumber;
//if is android
if (Platform.isAndroid) {
buildNumber = buildNumber.substring(0,buildNumber.length - 1);
}
currentVersion.value = "v${currentInfo.version}+$buildNumber";
}
// 获取远程版本

View File

@@ -225,7 +225,11 @@ class Utils {
var currentInfo = await PackageInfo.fromPlatform();
var result = await Request().get(Api.latestApp, extra: {'ua': 'mob'});
LatestDataModel data = LatestDataModel.fromJson(result.data[0]);
bool isUpdate = Utils.needUpdate("v${currentInfo.version}+${currentInfo.buildNumber}", data.tagName!);
String buildNumber = currentInfo.buildNumber;
if (Platform.isAndroid) {
buildNumber = buildNumber.substring(0, buildNumber.length - 1);
}
bool isUpdate = Utils.needUpdate("v${currentInfo.version}+$buildNumber", data.tagName!);
if (isUpdate) {
SmartDialog.show(
animationType: SmartAnimationType.centerFade_otherSlide,