初始化

This commit is contained in:
zhu
2026-03-10 13:36:40 +08:00
commit b03e64957c
111 changed files with 4536 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import 'package:app/core/config/global.dart';
import 'package:app/core/event/event_bus.dart';
import 'package:app/core/event/global_event.dart';
import 'package:app/core/utils/system.dart';
import 'package:app/data/api/common_api.dart';
import 'package:package_info_plus/package_info_plus.dart';
///检查版本更新
void checkUpdate() async {
PackageInfo packageInfo = await PackageInfo.fromPlatform();
var versionRes = await getAppVersionApi(isIos: !isAndroid());
//判断版本是不是小于最低版本,如果不是,不弹更新
bool isMin = _compareVersions(packageInfo.version, versionRes.lowVersion) == -1;
if (!isMin) {
return;
}
Future.delayed(const Duration(seconds: 2), () async {
EventBus().publish(VersionUpdateEvent(versionRes));
});
}
///比较版本号
/// 1:表示当前版本号比传入的版本号高
/// -1表示当前版本号比传入的版本号低
/// 0 表示版本号相同
int _compareVersions(String version1, String version2) {
List<String> v1Parts = version1.split('.');
List<String> v2Parts = version2.split('.');
int length = v1Parts.length > v2Parts.length ? v1Parts.length : v2Parts.length;
for (int i = 0; i < length; i++) {
int v1Part = i < v1Parts.length ? int.tryParse(v1Parts[i]) ?? 0 : 0;
int v2Part = i < v2Parts.length ? int.tryParse(v2Parts[i]) ?? 0 : 0;
if (v1Part > v2Part) return 1;
if (v1Part < v2Part) return -1;
}
return 0;
}