AppUpdate.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { _decorator, Component, ProgressBar } from 'cc';
  2. import { Http } from '../core/net/Http';
  3. import { BitmapFont } from '../core/ui/BitmapFont';
  4. import { Utils } from '../core/utils/Utils';
  5. import { g } from '../Data/g';
  6. import { platform } from '../Data/platform';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('AppUpdate')
  9. export class AppUpdate extends Component {
  10. @property({ tooltip: "网络请求对象", type: Http })
  11. public http: Http;
  12. @property({ type: ProgressBar, tooltip: "加载进度条组件" })
  13. public progressBar: ProgressBar;
  14. @property({ type: BitmapFont, tooltip: "加载进度" })
  15. loadProgressBitmapFont: BitmapFont;
  16. public versionIsNew: number = -1;
  17. public async checkNativeVersion(version: string) {
  18. let versionData = await this.http.send("/version", { game: "fixmix-fs", channel: g.deviceData.channel });
  19. if (versionData.code == 0) {
  20. this.versionIsNew = Utils.compareVersion(version, versionData.data.version);
  21. console.log("是否是最新" + this.versionIsNew);
  22. this.versionIsNew == -1 && this.downloadAPK(versionData.data.apk);//如果版本较老则下载APK
  23. }
  24. }
  25. public downloadAPK(url: string) {
  26. g.deviceData.apkDownloading = true;
  27. platform.downloadAPK(url, "mix-fs.apk");
  28. }
  29. public setDownloadAPKProgress() {
  30. //根据APK下载进度设置UI
  31. this.progressBar.progress = g.deviceData.downloadAPKProgress;
  32. // this.loadProgressBitmapFont.string = Math.floor(g.deviceData.downloadAPKProgress / totalCount * 100) + '%'
  33. }
  34. }