云商大本营
云商大本营
  • 发布:2021-10-20 17:27
  • 更新:2024-09-18 12:03
  • 阅读:985

【报Bug】热更新plus.runtime.install 后,修改过的界面样式错乱

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 11.6

HBuilderX类型: 正式

HBuilderX版本号: 3.2.3

手机系统: 全部

手机厂商: 华为

页面类型: vue

打包方式: 离线

项目创建方式: HBuilderX

测试过的手机:

iphonex、mix2、红米9、华为、oppo、vivo等所有手机都一样

示例代码:

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后如果有修改过样式的页面就会出现错乱;
重启之后会变成新的样式,页面展示正常。

预期结果:

没执行plus.runtime.restart()则正常展示原来的样式

实际结果:

页面样式错乱

bug描述:

静默热更新方式 wgt 下载完成执行 plus.runtime.install 后,修改过样式的页面会发生错乱,重启后样式恢复正常!

2021-10-20 17:27 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

安装完毕后需要执行plus.runtime.restart()才可以

  • Analog

    你好 我plus.runtime.install的时候报错{

    "code": 10,

    "message": "error in opening zip file"

    }

    这是为什么呢

    2022-01-26 18:52

愿随风丶飘雪

愿随风丶飘雪 - 勿在浮沙筑高台

你提醒我了 确实是界面修改后会出现这个问题

zj888888

zj888888

这个问题解决了吗

BeforeMount

BeforeMount

可以解决吗

传播星球

传播星球

请问如果是修改逻辑代码会出现不能使用的问题吗

7***@qq.com

7***@qq.com

我有一个想法,下载完不立即安装,在app.vue的onExit里面去执行安装,app退出的时候安装,下次打开就会是新的,也不会影响正在运行的页面,还没试,只是目前的一个设想,下午我会试试,有结果了我会发帖

  • 7***@qq.com

    关于优化热更重启的两种机制:

    onExit的方案不行,在onExit里不会执行安装,所以我按这个思路换了两个生命周期去做安装,

    app静默检查是否有热更新,有热更新静默下载更新包,在以下两种机制下重启完成热更

    方案一、应用置于后台运行时安装热更新包并重启

    方案二、应用完全退出后重启时安装热更新包并再次重启


    优缺点:

    方案一:

    优点:更新及时,只要应用置于后台了就会执行更新;

    缺点:用户返回app时会有明显的重启操作,并只会回到首页

    方案二:

    优点:用户不会感觉到很明显的重启操作,不影响用户正常操作;

    缺点:第一次重启时会有较长的时间停留在启动页

    2024-09-18 15:43

要回复问题请先登录注册