plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
uni.request({
url: uni.getStorageSync("apiRoot") + '/common/checkUpdate',
data: {
versionCode: parseInt(widgetInfo.versionCode),
appId: widgetInfo.appid
},
success: (result) => {
var data = result.data.data;
console.log(data);
if (data.needUpdate && data.wgtUrl) {
uni.showLoading({
title: "资源更新中,请稍后..."
});
uni.downloadFile({
url: data.wgtUrl,
fail(e) {
uni.showToast({
icon: "error",
title: "资源下载失败!"
});
},
success: (downloadResult) => {
uni.showLoading({
title: "资源下载成功!"
});
if (downloadResult.statusCode === 200) {
uni.showLoading({
title: "资源正在解压..."
});
plus.runtime.install(downloadResult
.tempFilePath, {
force: false
},
function() {
console.log('install success...');
uni.hideLoading();
plus.runtime.restart();
},
function(e) {
console.error('install fail...');
uni.showToast({
title: "更新失败!",
icon: "error"
})
});
}
}
});
}
}
});
});
- 发布:2022-08-01 17:40
- 更新:2022-08-02 11:47
- 阅读:481
产品分类: uni小程序SDK
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iPhoneX
页面类型: vue
SDK版本号: 3.5.3
示例代码:
操作步骤:
1、wgt下载、安装成功后执行plus.runtime.restart();
2、杀掉App,重启App,重新进入小程序
1、wgt下载、安装成功后执行plus.runtime.restart();
2、杀掉App,重启App,重新进入小程序
预期结果:
小程序是升级后的最新版本
小程序是升级后的最新版本
实际结果:
小程序还是老版本
小程序还是老版本
bug描述:
现有iOS版App集成uniSDK小程序,wgt端升级的时候,restart后发现升级成功;然后把整个App杀掉、重启,再进去小程序后发现还是老版本,又重新开始升级,也就是说:升级后的小程序貌似没有彻底保存下来,每次重启App都需要一次升级
m***@126.com (作者)
我是完全按照小程序触发更新文档实现的,download、install、restart,于是就出现了我报的问题
2022-08-09 23:27