uniapp热更新

首先热更新需要wgt包;
其次先了解这两个组件
下载的方法
安装的组件

场景:

当你项目的js文件或者页面文件或者静态图片文件css文件更新的时候可以走热更新;
而当你安装新的组件插件或者开启新的权限等功能的时候就无法通过热更新进行更新了;需要下载整包apk进行更新;

与服务器确认最新版本;并判断更新
在这里插入图片描述

1、首先判断应用平台是安卓还是苹果

switch(uni.getSystemInfoSync().platform){case 'android':    console.log('获取服务器中安卓的参数')      break;    case 'ios':      console.log('获取服务器中ios的参数')      break;    default:      console.log('运行在开发者工具上')   break;
} 

2、判断是整包升级还是热更新;

整包升级的话;苹果跳转下载页;

plus.runtime.openURL("下载路径")

安卓可以直接下载更新;

// 下载补丁
// patchUrl 更新包下载路径
downWgt(patchUrl) {let _this=thisthis.downloadTask = uni.downloadFile({url:patchUrl,//下载路径apksuccess: (downloadResult) => {if (downloadResult.statusCode === 200) {  // 安装应用plus.runtime.install(downloadResult.tempFilePath, {force: false}, ()=> {  //显示自动消失的提示消息plus.nativeUI.toast('最新版本下载完成')// 安装成功之后关闭应用重启appplus.runtime.restart();  }, (e)=> {  //显示自动消失的提示消息plus.nativeUI.toast("补丁安装失败")// 常见问题:版本号,appId});  }},fail: (err) => {//显示自动消失的提示消息plus.nativeUI.toast("补丁下载失败")}})
}, 

热更新的话;

// 下载补丁
// patchUrl 更新包下载路径
downWgt(patchUrl) {let _this=thisthis.downloadTask = uni.downloadFile({url:patchUrl,//下载路径wgtsuccess: (downloadResult) => {if (downloadResult.statusCode === 200) {  // 安装应用plus.runtime.install(downloadResult.tempFilePath, {force: true}, ()=> {  //显示自动消失的提示消息plus.nativeUI.toast('最新版本下载完成')// 安装成功之后关闭应用重启appplus.runtime.restart();  }, (e)=> {  //显示自动消失的提示消息plus.nativeUI.toast("补丁安装失败")// 常见问题:版本号,appId});  }},fail: (err) => {//显示自动消失的提示消息plus.nativeUI.toast("补丁下载失败")}})
}, 

当然插件市场也有插件可以直接使用如:WrapUpdate

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/94221.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui框架学习(40:数据表格_主要事件)

Layui数据表格模块主要通过各类事件响应工具栏操作、单元格编辑或点击等交互操作,本文学习table数据表格模块中的主要事件及处理方式。   头部工具栏事件。通过代码“table.on(‘toolbar(test)’, function(obj))”获取lay-filter属性为test的数据表格的头部工具栏…

阿里云大数据实战记录8:拆开 json 的每一个元素,一行一个

目录 一、前言二、目标介绍三、使用 pgsql 实现3.1 拆分 content 字段3.2 拆分 level 字段3.3 拼接两个拆分结果 四、使用 ODPS SQL 实现4.1 拆分 content 字段4.2 拆分 level 字段4.3 合并拆分 五、使用 MySQL 实现六、总结 一、前言 商业场景中,经常会出现新的业…

63.C++ mutable关键字

mutable 是C中的一个关键字,它用于修饰类的成员变量。当一个成员变量被声明为 mutable 时,它将允许在常量成员函数中修改这个成员变量的值,即使这个成员函数被声明为 const。 常量成员函数是类的成员函数,它们承诺不会修改类的成…

使用awvs进行web安全扫描

1、安装 docker pull secfa/docker-awvs docker run -it -d -name awvs -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs2、账号密码 # https://ip:13443/ # 用户名:adminadmin.com # 密码:Admin1233、使用 ps:需要征得甲方的同意

RT-Thread在STM32硬件I2C的踩坑记录

RT-Thread在STM32硬件I2C的踩坑记录 0.前言一、软硬件I2C区别二、RT Thread中的I2C驱动三、尝试适配硬件I2C四、i2c-bit-ops操作函数替换五、Attention Please!六、总结 参考文章: 1.将硬件I2C巧妙地将“嫁接”到RTT原生的模拟I2C驱动框架 2.基于STM32F4平台的硬件I…

HFSS 3维曲线导入

HFSS 3维曲线导入 简介环境参考代码使用结果 简介 如图一所示,CST中可以通过导入和到出由任意点组成的曲线,但是HFSS中貌似不能导入(如图二所示),如果我们要将matlab的产生的曲线的点的数据导入特变麻烦,特…

Java【手撕双指针】LeetCode 18. “四数之和“, 图文详解思路分析 + 代码

文章目录 前言一、四数之和1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链表, 堆…

nvm集合node版本,解决新版本jeecgboot3.5.3前端启动失败问题

jeecgboot前端3.5.3页面如下 使用之前的pnpm启动会报错,pnpm是node进行安装的,查询后发现,vue3版本的页面至少需要node16版本,我之前的版本只有15.5,适用于vue2 那么我将先前的node15.5版本删除,然后安装…

c++(8.29)auto关键字,lambda表达式,数据类型转换,标准模板库,list,文件操作+Xmind

作业: 封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个) 再把该容器中的对象,保存到文件中。 再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。…

Git——Windows平台创建gitee私有仓库详解

目录 1. 安装git 2. gitbash配置 2.1 设置 2.2 生成key 2.3 项目管理 2.3.1 本地新建 2.3.2 clone远程仓库的工程到本地改文件 1. 安装git 默认安装。 2. gitbash配置 2.1 设置 打开gitbash,设置用户名和邮箱: git config --global user.name …

maven的依赖下载不下来的几种解决方法

前言 每次部署测试环境,从代码库拉取代码,都会出现缺少包的情况。然后找开发一通调试,到处拷包。 方案一:pom文件注释/取消注释 注释掉pom.xml里的报红色的依赖(同时可以把本地maven库repo里对应的包删除)&…

Qt使用Json

包含目录&#xff1a; #include <QJsonObject> #include <QJsonDocument> #include <QByteArray> #include <QFile> #include <QJsonArray>基本结构&#xff1a; 写json QJsonObject studentobj;QJsonArray arrarydata;QJsonObject subdata;…