问题描述:每当app进行了版本升级后就需要去应用市场重新更新下载,如未上架应用市场则需通过浏览器访问地址下载 比较麻烦,现实现在本APP就可更新下载新版本,并判断当前是否为最新版。
实现思路:实现版本号校验需要服务端配合提供获取版本号接口。当前版本号则在代码上写死每次打开应用进行判断是否一致,如不一致则通过uni.downloadFile进行下载文件应用,下载后会返回临时url,通过 puls.runtime.install进行应用安装
//下载应用
downloadUpdate() {
let that = this;
uni.showLoading({
title: '更新中……'
})
uni.downloadFile({
url: '下载路径',
success(dowloadRes) {
console.log('下载成功:', dowloadRes);
if (dowloadRes.statusCode == 200) {
uni.hideLoading();//隐藏loading
console.log('下载完成临时url', dowloadRes.tempFilePath);
that.installAPP(dowloadRes.tempFilePath); //安装应用
}
}
})
},
//安装应用
installAPP(path) {
uni.showModal({
title: '提示',
content: '新版本已下载,现在安装吗?',
confirmText: '安装',
success: function(res) {
if (res.confirm == true) {
// #ifdef APP-PLUS
plus.runtime.install( //安装,注意plus.runtime.install接口仅APP可用
path, //安装文件路径
{force: true},//是否强制安装
function(res) {//点击安装后回调
utils.showToast('更新成功,重启中');
plus.runtime.restart();//安装后重启应用
},
function(err) {//尝试安装失败回调
uni.showModal({
title: '提示',
content: err.message
})
}
);
// #endif
}
}
});
},
注意:puls.runtime.instal安装接口只认为只要打开了安装页面就是回调成功并不是将应用安装完成,如果安装路径无效则返回失败回调
版权声明:本文为weixin_48495574原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。