位置: IT常识 - 正文

uniapp前端实现热更新(uniapp前端 django后端)

编辑:rootadmin
uniapp前端实现热更新

推荐整理分享uniapp前端实现热更新(uniapp前端 django后端),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp redirectto,uniapp开发pc页面,uniapp后端,uniapp require,uniapp开发web,uniapp redirectto,uniapp require,uniapp前端 django后端,内容如对您有帮助,希望把文章链接给更多的朋友!

思路:

1、首先,在主页或app.vue中使用plus.runtime.getProperty()获取到app的当前wgt包版本号。

2、然后,通过后端返回给你的接口里有一个版本号(需要手动去后台管理系统中上传一个wgt包,并输入这个wgt包的版本号)。

3、再之后,将这个版本号与app当前版本号进行对比,若当前版本号大于后端给你的版本号,就不升级,反之,则显示升级弹框,请用户下载升级(开发者调用下载安装api)。

4、最后,使用plus.runtime.restart()进行app重启刷新,在设置中加一个plus.runtime.getProperty()获取到版本号。

热更新所使用到的api:

uniapp前端实现热更新(uniapp前端 django后端)

1、获取app当前wgt包版本号:plus.runtime.getProperty();

2、下载:uni.downloadFile();

3、安装wgt包:plus.runtime.install();

4、重启app:plus.runtime .restart();

代码:

1、先获取app当前版本号与后端最新wgt包进行对比

//用于对比的函数duibi(version1 ,version2){ let arr1=version1.split("."); let arr2=version2.split("."); let length=Math.max(arr1.length,arr2.length); for (let i = 0; i < length; i++) { const n1 = Number(arr1[i]||0) const n2 = Number(arr2[i]||0)// 第一个版本号大 if (n1 > n2) return 1//第二个版本号大 if (n1 < n2) return 2 } return false;}//获取app当前版本号plus.runtime.getProperty(plus.runtime.appid, (widgetInfo) => {this.version = widgetInfo.version; });

注意:千万千万不要用这个(plus.runtime.version)作为判断,它获取的是当前app的安装包版本,上面的那个是获取wgt包的版本,两个不一样,plus.runtime.version始终是一个恒定的值,除非安卓整包更新。plus.runtime.version不能用做wgt热更新判断!!!

2、进行弹框询问和下载安装api调用,重启app完成热更新

if(当前通过上面的对比需要更新时){uni.showModal({title: "系统提示",content: `当前版本号为(当前版本号),邀您更新版本(最新版本号)`,success: (res) => { //用户确认更新if (res.confirm) { //使用下载api(uni.downloadFile)let uploadTask = uni.downloadFile({url: '下载地址', success: (downloadResult) => { //使用安装wgtapi(plus.runtime.install)plus.runtime.install(downloadResult.tempFilePath, {force: true},function() {uni.showModal({title: '系统提示',content: '新版本已经更新完成,需要重启应用',showCancel: false, //用户点击确认重启success: function(res) {if (res.confirm) { 调用重启api(plus.runtime.restart)plus.runtime.restart();} else if (res.cancel) {console.log('用户点击取消');}}});})}});//在这里监听用户下载进度uploadTask.onProgressUpdate((res)=>{this.pro = res.progress;console.log(this.pro);if(this.pro==100){this.isDown = false;}})}}});}

3、监听用户下载进度并优化弹框

为了使本文看起来不过于繁琐,就不单独再开一个代码块了,需要了解详情的可以进入官方文档https://uniapp.dcloud.net.cn/api/request/network-file.html#uploadfile

本文链接地址:https://www.jiuchutong.com/zhishi/300755.html 转载请保留说明!

上一篇:Web 1.0、Web 2.0 和 Web 3.0 之间的比较

下一篇:YOLO算法创新改进系列项目汇总(入门级教程指南)(yolo算法百度百科)

  • 联想无线鼠标怎么连接电脑连接(联想无线鼠标怎么用)

    联想无线鼠标怎么连接电脑连接(联想无线鼠标怎么用)

  • 红米note11几倍变焦(红米note11pro几倍变焦)

    红米note11几倍变焦(红米note11pro几倍变焦)

  • 华为识别图片的功能在哪里(华为 图片识别)

    华为识别图片的功能在哪里(华为 图片识别)

  • wifi加载不出图片流量可以(wifi加载不出图片而4g可以看)

    wifi加载不出图片流量可以(wifi加载不出图片而4g可以看)

  • OPPO手机录制截屏怎么设置(oppo手机怎么截屏录制视频)

    OPPO手机录制截屏怎么设置(oppo手机怎么截屏录制视频)

  • 怎么把横向文字变竖向(怎么把横向文字变竖向word)

    怎么把横向文字变竖向(怎么把横向文字变竖向word)

  • 直播云可以看到学生吗(直播云怎么看回放)

    直播云可以看到学生吗(直播云怎么看回放)

  • 三星f9000和w20的区别(三星f9000和三星w20哪个好)

    三星f9000和w20的区别(三星f9000和三星w20哪个好)

  • 淘宝618列车红包是现金吗(淘宝抢618红包)

    淘宝618列车红包是现金吗(淘宝抢618红包)

  • windows无法验证此驱动程序软件的发布者(windows无法验证你的凭据)

    windows无法验证此驱动程序软件的发布者(windows无法验证你的凭据)

  • 智能外呼系统是什么(智能外呼系统发展现状)

    智能外呼系统是什么(智能外呼系统发展现状)

  • 手机摔地上黑屏了怎么办(手机摔地上黑屏了多少钱修好)

    手机摔地上黑屏了怎么办(手机摔地上黑屏了多少钱修好)

  • 手机换电池会不会对手机有影响(手机换电池会不会影响手机里面的东西)

    手机换电池会不会对手机有影响(手机换电池会不会影响手机里面的东西)

  • 怎么下载快手视频(怎么下载快手视频的背景音乐)

    怎么下载快手视频(怎么下载快手视频的背景音乐)

  • 在抖音被举报者会知道是谁举报的吗(抖音被人举报会怎样)

    在抖音被举报者会知道是谁举报的吗(抖音被人举报会怎样)

  • apple pencil美版和国行区别(pencil美版区别)

    apple pencil美版和国行区别(pencil美版区别)

  • 加粗字体快捷键(加粗字体快捷键ctrl加什么)

    加粗字体快捷键(加粗字体快捷键ctrl加什么)

  • typec数据线都是快充吗(typec数据线 知乎)

    typec数据线都是快充吗(typec数据线 知乎)

  • 关闭新消息通知会怎样(怎么关闭消息通知)

    关闭新消息通知会怎样(怎么关闭消息通知)

  • 小米k20pro和尊享版区别(红米k20pro尊享版和k20pro大小一样吗)

    小米k20pro和尊享版区别(红米k20pro尊享版和k20pro大小一样吗)

  • iphonex怎么改闹钟铃声(iphonex怎么改闹钟的音乐)

    iphonex怎么改闹钟铃声(iphonex怎么改闹钟的音乐)

  • 如何防止别人偷看我的手机(如何防止别人偷东西)

    如何防止别人偷看我的手机(如何防止别人偷东西)

  • 抖音定位的非堂是哪里(抖音定位的非堂是哪个城市)

    抖音定位的非堂是哪里(抖音定位的非堂是哪个城市)

  • 微信里面的相机功能无法使用怎么办(微信里面的相机拍照尺寸怎么调)

    微信里面的相机功能无法使用怎么办(微信里面的相机拍照尺寸怎么调)

  • 小红书如何修改密码(小红书如何修改收货地址)

    小红书如何修改密码(小红书如何修改收货地址)

  • Pinia基础知识(基础知识讲解)

    Pinia基础知识(基础知识讲解)

  • 使用Chatgpt 如何提问回答方法介绍(chat功能)

    使用Chatgpt 如何提问回答方法介绍(chat功能)

  • 浙江税务网上办税大厅官网
  • 小规模拍卖公司佣金怎么交税
  • 一般纳税人资格证明
  • 税盘连接服务器失败130008
  • 加油卡充值可以退吗
  • 预计产品质量保证损失是什么意思
  • 无形资产摊销是谨慎性原则吗
  • 个人投资款怎么入账
  • 应收账款计提坏账准备是谨慎性原则吗
  • 代扣代缴的增值税可以作为进项税抵扣吗
  • 金税三期房产税更正申报怎么弄
  • 发票章和税号不匹配
  • 转正工资差额什么意思
  • 持有至到期投资是什么意思
  • Mac怎么更改锁屏密码
  • mysql高级语句
  • php session_id
  • wordpress 常用函数
  • 第三方代收的款项怎么做账
  • phpcms怎么用
  • 分次发放年终奖怎么做账
  • 经营租入的固定资产是什么意思
  • js表单验证代码
  • oppor11s输入法怎么清除记忆
  • 企业采购过程中发生的材料短缺
  • 计提的福利费怎么处理
  • php支付宝支付流程原理
  • 我一定要用自己的双手拼出来
  • 增值税专用发票丢了怎么补救
  • 背景渐变 css
  • php array_product
  • php发送http请求的常用方法分析
  • thinkphp怎么用
  • 小微企业的增值税税收优惠政策
  • 增值税和普通发票的区别图片
  • 帝国cms配置数据库
  • 交通费比例
  • 小规模纳税人跨区域预缴增值税
  • 收到餐饮费专用发票会计分录
  • 织梦一直显示上一页和下一页
  • 党建工作经费使用流程
  • 已经提完折旧的房产价值评估
  • 政府补助的相关法律法规
  • 增值税发票是记账联还是抵扣联
  • 报废的机器设备属于什么会计要素
  • 百旺金赋抄报税指南
  • 只有收入没有成本怎么做账
  • 转让旧固定资产怎么处理
  • 收到所得税退税怎么做账务处理
  • 个体户为员工缴纳社保
  • 调整以前年度利息支出
  • 预付电费收到发票报销单怎么写
  • 生产企业下单就做收入没交货怎么做账
  • 劳动纠纷给员工的建议
  • mysql清空表内容
  • ie11 ua
  • windows server 2008的技巧:防止ping的方法
  • u盘启动pe装机工具怎么用
  • macos finder的应用程序列表在哪里
  • win10系统如何关闭屏保功能
  • ubuntu系统怎么安装python
  • linux备份系统命令
  • win7系统360浏览器自动打开怎么关闭
  • 用户访问控制手段
  • windows8.1版本区别
  • dos命令 获取文件名
  • css布局多行多列
  • android study
  • javascript 操作css
  • javascript题
  • shell脚本遍历文件
  • js判断div是否存在
  • easyui formatter
  • js clearInterval()方法的定义和用法
  • 怎么查询河南省考职位报名人数
  • 个体工商户个人所得税
  • 国家税务局发票真伪查验平台
  • 江苏 税务局
  • 深圳市税务网上注销流程图
  • 购车发票包含
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设