uniapp打开app后检查更新版本功能

获取app最新版本信息,再获取本地版本信息,进行对比,如果不同,则提示用户前往下载更新

goContact() { 

uni.request({ 

url: 'https://www.pgyer.com/apiv2/app/builds',
method: 'POST', //建议使用post访问
// data: 'grant_type=client_credentials&client_id=nm6Os9qqOacgxXjKv8PIp45H&client_secret=BXHhGIpNU7Wi3GDYUt0AGY5cWbWklrov',
data: {
_api_key:你的apikey,
appKey:你的应用appkey
},
header: {
"content-type": "application/x-www-form-urlencoded"
},
success: (res) => {
// console.log('访问成功',res);
if(res.statusCode == 200){
//获取最新版本信息
var appinfo = res.data.data.list[0];
// console.log(appinfo);

//#ifdef APP-PLUS
console.log('当前版本',plus.runtime.versionCode)
// 获取本地应用资源版本号
plus.runtime.getProperty(plus.runtime.appid, (info) => {
var current_info = info;

if(appinfo.buildVersion == current_info.version){
console.log('这是最新版本app',appinfo.buildVersion);
}else{
//提示去更新
console.log('需要更新最新版本',appinfo.buildVersion);

uni.showModal({
title: '版本更新',
content: '应用不是最新版本,请立即前往下载更新',
showCancel: false,//没有取消按钮
success: function (res) {
if (res.confirm) {
console.log('用户点击确定',appinfo.buildKey);
var href = 'https://www.pgyer.com/' + appinfo.buildKey;//下载地址

// #ifdef APP-PLUS
plus.runtime.openURL(href)
// #endif
// #ifdef H5
window.open(href)
// #endif
// #ifdef MP
uni.setClipboardData({
data: href,
success: () => {
uni.hideToast();
this.$nextTick(() => {
this.$u.toast('链接已复制,请在浏览器打开');
})
}
});
// #endif
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})

}

})
//#endif
}
},
fail: (err) => {
console.log('检查更新失败',err);
}
})

},

posted @ 2023-02-28 14:34  幽暗天琴  阅读(172)  评论(0编辑  收藏  举报