- 发布:2021-10-20 17:27
- 更新:2024-09-18 12:03
- 阅读:1000
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.6
HBuilderX类型: 正式
HBuilderX版本号: 3.2.3
手机系统: 全部
手机厂商: 华为
页面类型: vue
打包方式: 离线
项目创建方式: HBuilderX
测试过的手机:
示例代码:
uni.downloadFile({
url: upData.url,
success: res1 => {
console.log('======App Launch======upgrade======download success', res1);
if (res1.statusCode === 200) {
//静默安装 https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.install
plus.runtime.install(
res1.tempFilePath,
{
force: false //true表示强制安装,不校验版本号;false则需要校验版本号是否高于现有应用的版本号
},
res2 => {
console.log('======App Launch======upgrade======install success', res2);
//不直接重启,而是等下次启动的时候生效
// plus.runtime.restart();
},
(err) => {
console.error('======App Launch======upgrade======install fail', err);
// uni.showToast({
// icon: 'none',
// title: '安装失败' + JSON.stringify(err)
// })
}
);
}
}
});
uni.downloadFile({
url: upData.url,
success: res1 => {
console.log('======App Launch======upgrade======download success', res1);
if (res1.statusCode === 200) {
//静默安装 https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.install
plus.runtime.install(
res1.tempFilePath,
{
force: false //true表示强制安装,不校验版本号;false则需要校验版本号是否高于现有应用的版本号
},
res2 => {
console.log('======App Launch======upgrade======install success', res2);
//不直接重启,而是等下次启动的时候生效
// plus.runtime.restart();
},
(err) => {
console.error('======App Launch======upgrade======install fail', err);
// uni.showToast({
// icon: 'none',
// title: '安装失败' + JSON.stringify(err)
// })
}
);
}
}
});
操作步骤:
用户打开app静默下载wgt,然后install,不执行plus.runtime.restart();
此时进入app后如果有修改过样式的页面就会出现错乱;
重启之后会变成新的样式,页面展示正常。
用户打开app静默下载wgt,然后install,不执行plus.runtime.restart();
此时进入app后如果有修改过样式的页面就会出现错乱;
重启之后会变成新的样式,页面展示正常。
预期结果:
没执行plus.runtime.restart()则正常展示原来的样式
没执行plus.runtime.restart()则正常展示原来的样式
实际结果:
页面样式错乱
页面样式错乱
我有一个想法,下载完不立即安装,在app.vue的onExit里面去执行安装,app退出的时候安装,下次打开就会是新的,也不会影响正在运行的页面,还没试,只是目前的一个设想,下午我会试试,有结果了我会发帖
Analog
你好 我plus.runtime.install的时候报错{
"code": 10,
"message": "error in opening zip file"
}
这是为什么呢
2022-01-26 18:52