import { _decorator, Component, ProgressBar } from 'cc'; import { Http } from '../core/net/Http'; import { Window } from '../core/ui/window/Window'; import { WindowManager } from '../core/ui/window/WindowManager'; import { WindowSystem } from '../core/ui/window/WindowSystem'; import { Utils } from '../core/utils/Utils'; import { g } from '../Data/g'; import { ISJSB, platform } from '../Data/platform'; const { ccclass, property } = _decorator; @ccclass('AppUpdate') export class AppUpdate extends Component { @property({ tooltip: "网络请求对象", type: Http }) public http: Http; @property({ type: ProgressBar, tooltip: "加载进度条组件" }) public progressBar: ProgressBar; public versionIsNew: number = -1; public async checkNativeVersion(version: string) { let versionData = await this.http.send("/version", { game: "sim-nc", channel: g.deviceData.channel }); if (versionData && versionData.code == 0) { this.versionIsNew = Utils.compareVersion(version, versionData.data.version); console.log("是否是最新" + this.versionIsNew); this.versionIsNew == -1 && this.downloadAPK(versionData.data.apk);//如果版本较老则下载APK } else { WindowManager.showTips("网络连接超时,请检查网络"); } } public downloadAPK(url: string) { if (ISJSB) {//1.0.6版本升级特殊处理,需要重新进行微信登录 localStorage.removeItem("account"); } g.deviceData.apkDownloading = true; platform.downloadAPK(url, "sim-nc.apk"); } public setDownloadAPKProgress() { //根据APK下载进度设置UI this.progressBar.progress = g.deviceData.downloadAPKProgress; } }