在uniapp中热更新与强制更新
// app升级
uni.request({
//检查更新的后台接口,此处为简单判断版本号是否需要更新
url: 'xxxxxxxxxx',
data: {
//app类型,安卓为1,苹果为2
appType: '1'
},
method: 'GET',
success:(res) => {
console.log(res.data.data.versionNo)
// 版本对比
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
if (widgetInfo.version < res.data.data.versionNo) {
// 状态判断 强制更新
if (res.data.data.upgradeType == '2') {
uni.showModal({
title: '更新提示',
content: '修复重大bug并新增全新功能!',
showCancel: false,
success: (e) => {
if (e.confirm) {
var wgtUrl =
"xxxxxxx/app/TjBdPlaneApp_"+res.data.data.versionNo+".apk"; //下载文件地址(也可以从后台获取)
uni.showLoading({
title: '正在更新中,请稍后..'
});
plus.runtime.openURL(wgtUrl);
uni.hideLoading();
plus.runtime.restart();
}
},
})
} else {
// 热更新 wgt文件
uni.showModal({
title: '更新提示',
content: '优化用户体验并新增全新功能!!!',
success: (e) => {
if (e.confirm) {
var wgtUrl =
"hxxxxxxxxxx/app/TjBdPlaneApp_"+res.data.data.versionNo+".wgt"; //下载文件地址(也可以从后台获取)
uni.showLoading({
title: '正在更新中,请稍后..'
});
console.log(wgtUrl)
uni.downloadFile({
url: wgtUrl,
success: (downloadResult) => {
console.log(downloadResult)
if (downloadResult.statusCode ===200) {
plus.runtime.install(downloadResult.tempFilePath, {
force: false
},
function() {
console.log(
'install success...'
);
plus.runtime.restart();
},
function(e) {
console.error(
'install fail...'+e.message
);
});
}
}
});
uni.hideLoading();
}
},
})
}
}
})
},