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);
}
})
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?