处理从后台返回前台后检查版本号方法
This commit is contained in:
parent
c497e72f57
commit
a2d0e733d3
|
|
@ -378,13 +378,13 @@ class AppUpgradeSimple {
|
||||||
hasUpdate = true;
|
hasUpdate = true;
|
||||||
} else if (versionBuildNumber == currentBuildNumber) {
|
} else if (versionBuildNumber == currentBuildNumber) {
|
||||||
// buildNumber 相同,比较版本名
|
// buildNumber 相同,比较版本名
|
||||||
if (versionName != null && _compareVersionStrings(versionName, currentVersionName) > 0) {
|
if (versionName != null && compareVersionStrings(versionName, currentVersionName) > 0) {
|
||||||
hasUpdate = true;
|
hasUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 只比较版本名
|
// 只比较版本名
|
||||||
if (versionName != null && _compareVersionStrings(versionName, currentVersionName) > 0) {
|
if (versionName != null && compareVersionStrings(versionName, currentVersionName) > 0) {
|
||||||
hasUpdate = true;
|
hasUpdate = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -480,7 +480,7 @@ class AppUpgradeSimple {
|
||||||
return await _plugin.getAppInfo();
|
return await _plugin.getAppInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
int _compareVersionStrings(String v1, String v2) {
|
static int compareVersionStrings(String v1, String v2) {
|
||||||
try {
|
try {
|
||||||
final v1Parts = v1.split('.').map((e) => int.tryParse(e) ?? 0).toList();
|
final v1Parts = v1.split('.').map((e) => int.tryParse(e) ?? 0).toList();
|
||||||
final v2Parts = v2.split('.').map((e) => int.tryParse(e) ?? 0).toList();
|
final v2Parts = v2.split('.').map((e) => int.tryParse(e) ?? 0).toList();
|
||||||
|
|
@ -877,13 +877,20 @@ mixin _UpgradeDialogLogic<T extends StatefulWidget> on State<T> {
|
||||||
debugPrint('📱 当前版本: $currentVersion, 构建号: $currentBuildNumber');
|
debugPrint('📱 当前版本: $currentVersion, 构建号: $currentBuildNumber');
|
||||||
debugPrint('🎯 目标版本: ${info.versionName}, 构建号: ${info.versionBuildNumber}');
|
debugPrint('🎯 目标版本: ${info.versionName}, 构建号: ${info.versionBuildNumber}');
|
||||||
|
|
||||||
bool isUpdated = false;
|
bool isUpdated;
|
||||||
if (info.versionBuildNumber > 0) {
|
if (info.versionBuildNumber > 0) {
|
||||||
isUpdated = currentBuildNumber >= info.versionBuildNumber;
|
if (currentBuildNumber > info.versionBuildNumber) {
|
||||||
debugPrint('📊 构建号比较: $currentBuildNumber >= ${info.versionBuildNumber} = $isUpdated');
|
isUpdated = true;
|
||||||
|
} else if (currentBuildNumber == info.versionBuildNumber) {
|
||||||
|
isUpdated = AppUpgradeSimple.compareVersionStrings(currentVersion, info.versionName) > 0;
|
||||||
|
} else {
|
||||||
|
isUpdated = false;
|
||||||
|
}
|
||||||
|
debugPrint(
|
||||||
|
'📊 构建号比较: $currentBuildNumber vs ${info.versionBuildNumber}, 版本比较(如需): ${info.versionName} -> $isUpdated');
|
||||||
} else {
|
} else {
|
||||||
isUpdated = currentVersion == info.versionName;
|
isUpdated = AppUpgradeSimple.compareVersionStrings(currentVersion, info.versionName) > 0;
|
||||||
debugPrint('📊 版本号比较: $currentVersion == ${info.versionName} = $isUpdated');
|
debugPrint('📊 版本号比较: $currentVersion vs ${info.versionName} = $isUpdated');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isUpdated) {
|
if (isUpdated) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
name: yx_app_upgrade_flutter
|
name: yx_app_upgrade_flutter
|
||||||
description: "A universal, robust, and high-performance Flutter app upgrade plugin with smart update features."
|
description: "A universal, robust, and high-performance Flutter app upgrade plugin with smart update features."
|
||||||
version: 1.0.1
|
version: 1.0.2
|
||||||
homepage: https://github.com/yourusername/yx_app_upgrade_flutter
|
homepage: https://github.com/yourusername/yx_app_upgrade_flutter
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue