更新表设计
id
url 下载的地址 app版本需要更新时的下载地址 通过 plus.runtime.openURL(url); 进行下载更新
version 版本号 用于与线下版本比较
status 0 未上线 (无需更新)1 上线 (需要更新)
create-time
检测网络状态
获取网络类型:uni.getNetworkType(object)
监听网络状态变化:uni.onNetworkStatusChange(callback)
一般在onLanch的时候调用
检测版本
方法一: 通过 plus.runtime.version 进行版本更新; 这样获取到的版本号代表的是:manifest.json中设置的apk/ipa版本号
data: {
appid: plus.runtime.appid, // 检测当前app的id
version: plus.runtime.version, // 检测当前app的版本 用于与线上app 的本版进行比较
imei: plus.device.imei // 检测当前app的imei
},
方法二:通过plus.runtime.getProperty获取的版本号是 基座号,用于热更新
plus.runtime.getProperty(plus.runtime.appid,function(widgetInfo){
console.log(widgetInfo.version) // 获取版本号热更新,基座的版本号
})
列如:
onLaunch: function() {
console.log('App Launch');
// #ifdef APP-PLUS
// 检测升级
uni.request({
url: 'https://uniapp.dcloud.io/update', //检查更新的服务器地址
data: {
appid: plus.runtime.appid,
version: plus.runtime.version,
imei: plus.device.imei
},
success: (res) => {
if (res.statusCode == 200 && res.data.isUpdate) {
let openUrl = plus.os.name === 'iOS' ? res.data.iOS : res.data.Android;
// 提醒用户更新
uni.showModal({
title: '更新提示',
content: res.data.note ? res.data.note : '是否选择更新',
success: (showResult) => {
if (showResult.confirm) {
plus.runtime.openURL(openUrl);
}
}
})
}
}
})
// #endif
},