3 changed files with 169 additions and 5 deletions
@ -0,0 +1,6 @@ |
|||||
|
import http from './http' |
||||
|
|
||||
|
// 新增申领备件时获取备件列表
|
||||
|
export function appCheckUpdate() { |
||||
|
return http.get('/eam/system-install-package/downloadApk') |
||||
|
} |
@ -0,0 +1,153 @@ |
|||||
|
import { |
||||
|
appCheckUpdate |
||||
|
} from '../api/appInfo.ts'; |
||||
|
export function appUpdate(isShowHint) { |
||||
|
let curversion = 0; |
||||
|
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) { |
||||
|
const data = { |
||||
|
action: 'checkVersion', |
||||
|
appid: plus.runtime.appid, |
||||
|
appVersion: plus.runtime.version, |
||||
|
wgtVersion: widgetInfo.version, |
||||
|
versionCode: widgetInfo.versionCode |
||||
|
} |
||||
|
curversion = data.versionCode |
||||
|
appCheckUpdate().then(res => { |
||||
|
console.log("当前版本提示", curversion) |
||||
|
var json = JSON.stringify(res) |
||||
|
console.log("获取更新数据", json) |
||||
|
if (res.data) { |
||||
|
if (res.data.installPackageVersion > Number(curversion)) { |
||||
|
var downUrl = res.data.installPackageUrl; |
||||
|
var content = res.data.updateContent; |
||||
|
var version = res.data.installPackageVersion; |
||||
|
var isForcedUpdate = res.data.isForcedUpdate |
||||
|
var versionName = res.data.installPackageName |
||||
|
console.log("新版本提示") |
||||
|
showDialog(versionName, content, isForcedUpdate, downUrl) |
||||
|
|
||||
|
// uni.showModal({
|
||||
|
// title: "发现新版本:(" + version + ")",
|
||||
|
// content: content,
|
||||
|
// confirmText: "更新",
|
||||
|
// showCancel: isForcedUpdate == "TRUE" ? false : true,
|
||||
|
// cancelText: "取消",
|
||||
|
// success: (res) => {
|
||||
|
// if (res.confirm) {
|
||||
|
// confirm(downUrl);
|
||||
|
// console.log('comfirm') //点击确定之后执行的代码
|
||||
|
// } else {
|
||||
|
// console.log('cancel') //点击取消之后执行的代码
|
||||
|
// if (isForcedUpdate == "TRUE") {
|
||||
|
|
||||
|
// }
|
||||
|
// }
|
||||
|
// }
|
||||
|
// })
|
||||
|
} else { |
||||
|
if (isShowHint) { |
||||
|
uni.showToast({ |
||||
|
title: "当前是最新版本" |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
console.log("没有新版本") |
||||
|
} |
||||
|
} |
||||
|
}).catch(error => { |
||||
|
console.log("版本错误", error) |
||||
|
}) |
||||
|
}) |
||||
|
|
||||
|
} |
||||
|
|
||||
|
export function showDialog(versionName, content, isForcedUpdate, downUrl) { |
||||
|
uni.showModal({ |
||||
|
title: "发现新版本:(" + versionName + ")", |
||||
|
content: content, |
||||
|
confirmText: "更新", |
||||
|
showCancel: isForcedUpdate == "TRUE" ? false : true, |
||||
|
cancelText: "取消", |
||||
|
success: (res) => { |
||||
|
if (res.confirm) { |
||||
|
confirm(downUrl); |
||||
|
console.log( |
||||
|
'comfirm') //点击确定之后执行的代码
|
||||
|
} else { |
||||
|
console.log( |
||||
|
'cancel') //点击取消之后执行的代码
|
||||
|
if (isForcedUpdate == "TRUE") { |
||||
|
showDialog(versionName, content, isForcedUpdate, downUrl) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
export function confirm(downUrl) { |
||||
|
var downloadApkUrl = downUrl |
||||
|
var dtask = plus.downloader.createDownload(downloadApkUrl, {}, |
||||
|
function(d, status) { |
||||
|
|
||||
|
// 下载完成
|
||||
|
if (status == 200) { |
||||
|
|
||||
|
plus.runtime.install(plus.io.convertLocalFileSystemURL( |
||||
|
d.filename), {}, {}, function(error) { |
||||
|
uni.showToast({ |
||||
|
title: '安装失败', |
||||
|
duration: 1500 |
||||
|
}); |
||||
|
}) |
||||
|
} else { |
||||
|
uni.showToast({ |
||||
|
title: '更新失败', |
||||
|
duration: 1500 |
||||
|
}); |
||||
|
} |
||||
|
}); |
||||
|
try { |
||||
|
dtask.start(); // 开启下载的任务
|
||||
|
var prg = 0; |
||||
|
var showLoading = plus.nativeUI.showWaiting( |
||||
|
"正在下载"); //创建一个showWaiting对象
|
||||
|
dtask.addEventListener('statechanged', function( |
||||
|
task, |
||||
|
status |
||||
|
) { |
||||
|
// 给下载任务设置一个监听 并根据状态 做操作
|
||||
|
switch (task.state) { |
||||
|
case 1: |
||||
|
showLoading.setTitle("正在下载"); |
||||
|
break; |
||||
|
case 2: |
||||
|
showLoading.setTitle("已连接到服务器"); |
||||
|
break; |
||||
|
case 3: |
||||
|
if (task.totalSize && task.totalSize > 0) { |
||||
|
prg = parseInt( |
||||
|
(parseFloat(task.downloadedSize) / |
||||
|
parseFloat(task.totalSize)) * |
||||
|
100 |
||||
|
); |
||||
|
showLoading.setTitle("正在下载" + prg + "% "); |
||||
|
}else { |
||||
|
showLoading.setTitle("正在下载"); |
||||
|
} |
||||
|
break; |
||||
|
case 4: |
||||
|
plus.nativeUI.closeWaiting(); |
||||
|
//下载完成
|
||||
|
break; |
||||
|
} |
||||
|
}); |
||||
|
} catch (err) { |
||||
|
plus.nativeUI.closeWaiting(); |
||||
|
uni.showToast({ |
||||
|
title: '更新失败-03', |
||||
|
mask: false, |
||||
|
duration: 1500 |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue