位置: IT常识 - 正文

uniapp 实现app自动更新(uniapp示例)

编辑:rootadmin
uniapp 实现app自动更新

推荐整理分享uniapp 实现app自动更新(uniapp示例),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp实现app自动更新,uniapp自动化部署,uniapp自定义弹出框,uniapp 自启动,uniapp 自定义loading,uniapp 自定义loading,uniapp 自定义loading,uniapp自动化部署,内容如对您有帮助,希望把文章链接给更多的朋友!

uniapp 实现app自动更新(uniapp示例)

需求概述: 最近遇到的需求,扫码核验的app需要在线自动升级安装(因app简单上不了应用市场,所以调研用在线更新的办法)

第一步:首先需要一个可以更新和获取数据的接口(后端)

比如第一次打包时的版本名称是1.0.1,那第一次将这个1.0.1版本的手动安装到手机上后,后续想要实现自动更新,再次打包的版本名称就必须大于1.0.1(因为本次实现的逻辑就是根据版本名称) 版本号位置:manifest.json >> 基础配置 >> 应用版本名称

当需要更新app的时候,改变版本名称(必须大于上一个版本),开始打包

同时在后端的接口里同步更新你的此次打包的版本名称

第二步:打包后的apk文件需要放在服务器上,然后拿到在服务器上的文件的地址(后续有用)第三步:开始在App.vue里书写前端逻辑(直接贴代码)onLoad() : 在页面加载的时候触发,只会调用一次,在onLoad() 函数中,可以通过 option获取当前页面路径中的参数onShow(): 在页面显示时调用,也就是切换页面的时候,或者切入前台的时候触发,可以多次触发 根据自己的需求来确定是写在onShow还是onLoad

原理:获取当前app的版本名称,在onShow触发的时候调接口比对当前app版本名称和线上最新版本名称,如果线上最新版本名称大于当前版本名称则下载最新的apk安装更新

onShow: function() {console.log('App Show')plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {this.version = widgetInfo.versionuni.request({url: 'http://xxxx.cczu.edu.cn:8081/api/dict',success: (res) => {function compareVersion(version1, version2) {const newVersion1 = `${version1}`.split('.').length < 3 ? `${version1}`.concat('.0') : `${version1}`;const newVersion2 = `${version2}`.split('.').length < 3 ? `${version2}`.concat('.0') : `${version2}`; //计算版本号大小,转化大小 function toNum(a){ const c = a.toString().split('.'); const num_place = ["", "0", "00", "000", "0000"], r = num_place.reverse(); for (let i = 0; i < c.length; i++){ const len=c[i].length; c[i]=r[len]+c[i]; } return c.join(''); } // 检测版本号是否需要更新 function checkPlugin(a, b) { const numA = toNum(a); const numB = toNum(b); return numA > numB ? 1 : numA < numB ? -1 : 0; } return checkPlugin(newVersion1 ,newVersion2); } for (let i of res.data.content) { if (i.description === 'app版本') {// 1代表app新包版本号大于本地版本号 if (compareVersion(i.dictDetails[0].value, this.version) === 1) { uni.showModal({ title: '提示', content: '发现新的应用安装包,点击确定立即更新', success: function (res) { if (res.confirm) { console.log('用户点击确定');uni.showLoading({title: '更新中……'}) uni.downloadFile({ // 存放最新安装包的地址 url: 'http://xxxx.xxxx.com/__UNI__xxxx.apk', success: (downloadResult) => { uni.hideLoading(); if (downloadResult.statusCode === 200) { uni.hideLoading(); plus.runtime.install(downloadResult.tempFilePath,{ force: false }, function() { console.log('install success...'); plus.runtime.restart(); }, function(e) { uni.hideLoading(); console.error('install fail...'); }); } } }); } else if (res.cancel) { console.log('用户点击取消'); } } }); } else { } } }}});});},
本文链接地址:https://www.jiuchutong.com/zhishi/297687.html 转载请保留说明!

上一篇:基于51单片机的智能台灯设计(基于51单片机的电子秤设计)

下一篇:全网独家首发|极致版YOLOv7改进大提升(推荐)网络配置文件仅24层!更清晰更方便更快的改进YOLOv7网络模型(全网首发是什么意思)

  • 磁盘碎片整理有什么好处(磁盘碎片整理)(磁盘碎片整理有什么作用)

    磁盘碎片整理有什么好处(磁盘碎片整理)(磁盘碎片整理有什么作用)

  • 华为p50pro怎么开启防误触(华为P50pro怎么开启高清通话)

    华为p50pro怎么开启防误触(华为P50pro怎么开启高清通话)

  • 小米手机怎么关闭程序运行(小米手机怎么关闭自动任务)

    小米手机怎么关闭程序运行(小米手机怎么关闭自动任务)

  • 微信投票发起人能看到谁投的(微信投票发起人可以看到投票的人吗)

    微信投票发起人能看到谁投的(微信投票发起人可以看到投票的人吗)

  • 闲鱼退款需要卖家同意吗(闲鱼退款需要卖家点退款吗)

    闲鱼退款需要卖家同意吗(闲鱼退款需要卖家点退款吗)

  • 华为荣耀9x有录屏功能吗(华为荣耀9x录音功能在哪)

    华为荣耀9x有录屏功能吗(华为荣耀9x录音功能在哪)

  • 修改标题后多久会恢复流量(改了标题多久能搜索到)

    修改标题后多久会恢复流量(改了标题多久能搜索到)

  • 小米手表有什么功能(小米手表有什么功能怎么用)

    小米手表有什么功能(小米手表有什么功能怎么用)

  • 微信注册账号安全校验为什么通过不了(微信注册账号安全验证怎么过)

    微信注册账号安全校验为什么通过不了(微信注册账号安全验证怎么过)

  • explorer++可以卸载吗(explorer.exe如何删除)

    explorer++可以卸载吗(explorer.exe如何删除)

  • 华为安卓10系统怎么升级(华为安卓10系统怎样调整图标大小)

    华为安卓10系统怎么升级(华为安卓10系统怎样调整图标大小)

  • boss上投诉对方能看到吗(boss投诉招聘者后招聘者会怎样)

    boss上投诉对方能看到吗(boss投诉招聘者后招聘者会怎样)

  • itms注册失败是什么意思(itms怎么注册)

    itms注册失败是什么意思(itms怎么注册)

  • 苹果手机可以一边充电一边使用吗(苹果手机可以一直开低电量模式吗)

    苹果手机可以一边充电一边使用吗(苹果手机可以一直开低电量模式吗)

  • 千兆网络下载速度多少(千兆网络下载速度也就30兆)

    千兆网络下载速度多少(千兆网络下载速度也就30兆)

  • 淘宝物流红色感叹号(物流显示红色感叹号显示物流异常)

    淘宝物流红色感叹号(物流显示红色感叹号显示物流异常)

  • 当前为听筒播放模式是怎么回事(当前为听筒播放怎么设置声音)

    当前为听筒播放模式是怎么回事(当前为听筒播放怎么设置声音)

  • 苹果8p可以刷门禁吗(苹果8p可以刷门禁系统吗)

    苹果8p可以刷门禁吗(苹果8p可以刷门禁系统吗)

  • 被拉黑名单打电话提示什么(被拉黑名单打电话过去是什么样的)

    被拉黑名单打电话提示什么(被拉黑名单打电话过去是什么样的)

  • 苹果官网是什么(苹果官网是什么机型)

    苹果官网是什么(苹果官网是什么机型)

  • win+d的作用(win+r的作用)

    win+d的作用(win+r的作用)

  • nova5pro支持无线充电吗(nova5pro能无线充电吗)

    nova5pro支持无线充电吗(nova5pro能无线充电吗)

  • 一加7有没有耳机孔(一加7有没有耳机插孔)

    一加7有没有耳机孔(一加7有没有耳机插孔)

  • fastboot无限重启(无限重启进不去fastboot)

    fastboot无限重启(无限重启进不去fastboot)

  • efi系统分区能删除吗详细介绍(efi系统分区能删除吗win10)

    efi系统分区能删除吗详细介绍(efi系统分区能删除吗win10)

  • 深度学习知识点简单概述【更新中】

    深度学习知识点简单概述【更新中】

  • Spring Boot 整合 Bootstrap(spring boot整合hibernate)

    Spring Boot 整合 Bootstrap(spring boot整合hibernate)

  • 什么是国税发票号码
  • 出租人融资租赁发生的初始直接费用
  • 税金附加是什么类
  • 劳务收入个税需要进行所得税汇算吗
  • 员工报销没有发票怎么入账
  • 三方协议缴款账户状态错
  • 微信怎么开公司账户
  • 信息技术服务费计入什么会计科目
  • 长期待摊费用进项税可以一次性抵扣吗?
  • 企业取得政府财政资金,收入时间如何确认?
  • 消费税价外费用的计算
  • 营改增后物业管理公司需要交营业税吗
  • 小规模纳税人超过500万可以不转一般纳税人吗
  • 多付工资计入哪个科目
  • 现金流量表附表的其他指的是什么
  • 增值税交完之后还要交什么税
  • 金融会计风险及防范措施研究目的和意义
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • 应如何做会计分录表
  • 公司备用金属于夫妻财产吗
  • 公司销售自己使用过的固定资产
  • 新个人所得税的发展现状
  • ubuntu18更换为阿里源
  • PHP:ftp_nb_put()的用法_FTP函数
  • php完整教程
  • 材料分配的四个步骤
  • 异地银行结算账户的特点
  • 季节性用工政策
  • f12开发者工具调试打不开
  • Chrome谷歌浏览器网页
  • php uasort
  • 增值税申报主表在哪里查询
  • thinkphp整合layui
  • cuppath
  • 怎么用switch语句
  • 调出command命令窗口
  • 抄税在报税前还是报税后
  • 行政事业单位慰问外单位
  • 零申报有哪些
  • 不是企业职工能否挂靠企业交社保
  • 普通发票红冲需要拿回原发票吗
  • ieee compel 2021
  • 为什么选择我们公司
  • 汽车租赁发票账务怎么开
  • 什么叫网银盾账户
  • 那怎么才能恢复
  • 个人开运输发票需要的资料哪些?
  • 应付账款抹零摘要怎么写
  • 银行股分红划算吗
  • 质押发票
  • 流动比率好说明什么
  • 自营工程的账务处理
  • 培训费属于什么应税项目
  • 费用化资本化对税收的影响
  • 附加税期末余额在借方
  • 计入固定资产的条件
  • 取得投资时支付的相关税费
  • 企业处理原材料会计分录
  • sql合并多条记录某一个字段
  • win10系统崩溃后可以通过什么来恢复
  • 笔记本上安装软件怎么弄
  • Mac系统中文件的唯一id
  • linux系统启动步骤
  • linux系统的服务器有哪些
  • scrollWidth,clientWidth与offsetWidth的区别
  • perl如何使用
  • perl -pi
  • qq自动登出
  • cocos-2dx
  • jquery是基于java的吗
  • android深度探索(卷1):hal与驱动开发
  • jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
  • android多指触控
  • jquery的checkbox,radio,select等方法小结
  • 天津电子税务局ca证书
  • 贵州新农合可以打电话停保吗
  • 法治建设的基本原则是什么
  • 12366的客服辛苦吗
  • 北京地税局上班时间查询
  • 游艇车船税怎么收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设