defaultUpdateParser static method
默认的版本更新检查返回JsonFormat的解析方法
Implementation
static Future<UpdateEntity?> defaultUpdateParser(String json) async {
final UpdateInfo? updateInfo = UpdateInfo.fromJson(json);
if (updateInfo == null || updateInfo.code != 0) {
return null;
}
//进行二次校验
bool hasUpdate = updateInfo.updateStatus != NO_NEW_VERSION;
if (hasUpdate) {
final PackageInfo packageInfo = await PackageInfo.fromPlatform();
//服务器返回的最新版本小于等于现在的版本,不需要更新
if (updateInfo.versionCode! <= int.parse(packageInfo.buildNumber)) {
hasUpdate = false;
}
}
return UpdateEntity(
hasUpdate: hasUpdate,
isForce: updateInfo.updateStatus == HAVE_NEW_VERSION_FORCED_UPLOAD,
versionCode: updateInfo.versionCode,
versionName: updateInfo.versionName,
updateContent: updateInfo.modifyContent,
downloadUrl: updateInfo.downloadUrl,
apkSize: updateInfo.apkSize,
apkMd5: updateInfo.apkMd5);
}