123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //APP更新
- import * as config from '../config'
- export default function appUpdate() {
- var data ={
- appid: plus.runtime.appid,
- version: plus.runtime.version,
- imei: plus.device.imei
- }
-
- let baseUrl = config.def().baseUrl
- let _gp = 'user'
- let _mt = 'updateAppVersion'
- uni.request({
- url: baseUrl + '/m.api',
- data: {
- ...data,
- _gp,
- _mt
- },
- method: 'POST',
- header: {
- 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
- 'ACCESSTOKEN': 'accessToken'
- },
- success: (res) => {
-
- console.log("uni.request update success",res)
- plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
- let client_version = wgtinfo.version
- var flag_update = client_version.split(".").splice(0, 2).join(".") != res.data.data.version.split(".").splice(0, 2)
- .join(".")
- var flag_hot = (Number(client_version.split(".")[2]) < Number(res.data.data.version.split(".")[2])) & !flag_update
- console.log("client_version",client_version)
- console.log("flag_update",flag_update)
- console.log("flag_hot",flag_hot)
- if (flag_update) {
- console.log("更新弹窗")
- // 提醒用户更新
- uni.showModal({
- title: '更新提示',
- content: res.data.data.note,
- success: (showResult) => {
- if (showResult.confirm) {
- plus.nativeUI.toast("正在准备环境,请稍后!");
- console.log(res.data.data.url, )
- var dtask = plus.downloader.createDownload(res.data.data.url, {
- method: 'GET',
- filename: '_doc/update/'
- }, function(d, status) {
- if (status == 200) {
- var path = d.filename; //下载apk
- plus.runtime.install(path); // 自动安装apk文件
- } else {
- plus.nativeUI.alert('版本更新失败:' + status);
- }
- });
- dtask.start();
- }
- }
- })
- } else if (flag_hot) {
- console.log("热更新")
- uni.downloadFile({
- url: res.data.data.wgtUrl,
- success: (downloadResult) => {
- console.log(downloadResult.tempFilePath)
- if (downloadResult.statusCode === 200) {
- plus.nativeUI.toast(`正在热更新!${res.data.data.versionCode}`);
- plus.runtime.install(downloadResult.tempFilePath, {
- force: false
- }, function() {
- plus.nativeUI.toast("热更新成功");
- plus.runtime.restart();
- }, function(e) {
- console.log(e)
- plus.nativeUI.toast(`热更新失败:${e.message}`);
- });
- }
- }
- });
- }
- });
- }
- })
- }
|