先生成wgt文件,注意版本号要比现在的高
app.vue代码
<script>
export default {
onLaunch: function() {
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
uni.request({
url: 'https://www.modo9123.com/api/user/appVersion',
method: 'POST',
data: {
version: widgetInfo.version,
name: widgetInfo.name
},
success: (result) => {
console.log(result, "result")
var data = result.data.data;
if (data.update && data.wgtUrl) {
uni.showModal({
title: "版本更新",
content: "检测到有最新版本,是否更新",
success(e) {
if (e.confirm) {
console.log(1)
uni.downloadFile({
url: data.wgtUrl,
success: (downloadResult) => {
if (downloadResult
.statusCode === 200) {
plus.runtime.install(
downloadResult
.tempFilePath, {
force: false
},
function(res) {
console.error(
'安装成功');
plus.runtime
.restart();
},
function(err) {
console.error(
'安装失败');
});
}
}
});
}
}
})
} else if (data.update && data.pkgUrl) {
uni.showModal({
title: "版本更新",
content: "检测到有最新版本,是否更新",
success(e) {
console.log(11)
plus.runtime.openURL(
encodeURI(
"https://www.modo9123.com/appdownload"));
}
})
} else {
console.log("失败")
}
}
});
});
// #endif
}
}
</script>
如果更新不成功,可能是勾选了Statistic这模块,也可能是因为Dcloud账号不同的问题,
可以设置自定义基座,就可以使用自己设置的manifest配置,运行基座选择自定义基座,然后打包安装一次就好了,这样就可以看出更新失败的报错信息
将更新包上传到oss,更新速度会非常快