uni-app开发的app,实现app自动监测版本更新下载的功能。主要思路:
首先,前台定义一个版本号,后台系统维护一个版本号,在对比后台的版本号大于前端的版本号时候,安卓实现自动下载更新的操作,苹果会跳转到appStore下载更新。
const system = uni.getSystemInfoSync()
if (system.brand == 'Apple' || system.model.includes('iPhone')) {
//苹果
if(isApproval==1){
uni.showModal({
showCancel: false,
confirmText: '去更新',
content: '检测到新版本',
success: (res) => {
if (res.confirm) {
const appleId='自己应用的苹果id'
plus.runtime.launchApplication({
action: `itms-apps://itunes.apple.com/cn/app/id${appleId}`
}, function(e) {
console.log('Open system default browser failed: ' + e.message);
});
}
}
})
}
} else {
uni.showModal({
showCancel: false,
confirmText: '确定',
content: '检测到新版本 请下载',
success: (res) => {
if (res.confirm) {
uni.showLoading({
title: '下载中'
})
const downloadTask =uni.downloadFile({
//下载地址
url: `${Image_Url}/${url}`,
success: data => {
plus.runtime.install(data.tempFilePath, {
force: true
}, function() {
uni.hideLoading()
plus.runtime.restart();
});
},
})
downloadTask.onProgressUpdate((res) => {
console.log(res)
console.log('下载进度' + res.progress);
console.log('已经下载的数据长度' + res.totalBytesWritten);
console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
});
}
}
})
}