upgrade.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:dio/dio.dart';
  2. import 'package:fis_jsonrpc/rpc.dart';
  3. import 'package:flutter/foundation.dart';
  4. import 'package:vitalapp/managers/interfaces/base.dart';
  5. import 'models/upgrade.dart';
  6. /// 应用升级管理器
  7. abstract class IUpgradeManager implements IManager {
  8. /// 获取当前版本号
  9. Future<String> getCurrentVersion();
  10. /// 检查是否存在新版本
  11. ///
  12. /// - 结果为 `null` 时:无更新
  13. ///
  14. /// - 结果不为 `null` 时:根据返回实体更新
  15. Future<UpgradeCheckResultModel?> checkNewVersionArrival();
  16. /// 下载安装包
  17. ///
  18. /// [version] 版本号
  19. ///
  20. /// [url] 文件链接
  21. ///
  22. /// [onProgress] 下载进度回调,0~1.0
  23. ///
  24. /// [cancelToken] 取消下载标识
  25. Future<bool> downloadPackage(
  26. String version,
  27. String url, {
  28. ValueChanged<double>? onProgress,
  29. CancelToken? cancelToken,
  30. });
  31. /// 安装版本
  32. ///
  33. /// [version] 版本号
  34. Future<void> install(String version);
  35. ///删除安装包文件
  36. Future<void> deleteFile(String version);
  37. Future<VitalResourceInfoDTO?> getResourceInfoByVersionAsync(
  38. String version, String resourceKey);
  39. }