defaultUpdateParser static method

Future<UpdateEntity?> defaultUpdateParser(
  1. String json
)

默认的版本更新检查返回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);
}