位置: 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网络模型(全网首发是什么意思)

  • b站直播入口在哪(b站直播入口在哪小说)

    b站直播入口在哪(b站直播入口在哪小说)

  • vivo手机怎么设置微信视频美颜(vivo手机怎么设置高清通话功能)

    vivo手机怎么设置微信视频美颜(vivo手机怎么设置高清通话功能)

  • 微博封面怎么换(微博封面怎么换顺序)

    微博封面怎么换(微博封面怎么换顺序)

  • 华为mate30的闪光灯怎么开(华为mate30的闪光灯个摄像头)

    华为mate30的闪光灯怎么开(华为mate30的闪光灯个摄像头)

  • 苹果xr能用快充吗(iphonex支持快充吗)

    苹果xr能用快充吗(iphonex支持快充吗)

  • 路由器的路由表包括(路由器的路由表在哪)

    路由器的路由表包括(路由器的路由表在哪)

  • 支付宝怎么解绑多个手机号(支付宝怎么解绑淘宝账号)

    支付宝怎么解绑多个手机号(支付宝怎么解绑淘宝账号)

  • 华为手机最下方三个图标在哪调出来(华为手机最下方返回键 调整)

    华为手机最下方三个图标在哪调出来(华为手机最下方返回键 调整)

  • 华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

    华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

  • 打印机无边距什么意思(打印机无边距啥意思)

    打印机无边距什么意思(打印机无边距啥意思)

  • 怎样把收藏的照片放到相册里面(怎样把收藏的照片发到朋友圈)

    怎样把收藏的照片放到相册里面(怎样把收藏的照片发到朋友圈)

  • 智能拨号怎么取消(智能拨号怎么取消设置)

    智能拨号怎么取消(智能拨号怎么取消设置)

  • 抖音提示关注太快了,休息一下吧怎么弄(抖音提示关注太快休息一会儿要多长时间)

    抖音提示关注太快了,休息一下吧怎么弄(抖音提示关注太快休息一会儿要多长时间)

  • 华为p30pro可以投影到墙上吗(华为P30pro可以投屏吗)

    华为p30pro可以投影到墙上吗(华为P30pro可以投屏吗)

  • 华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

    华为nova5支持内存卡吗(华为nova5z支持内存卡吗)

  • 电脑视频头怎么打开(电脑视频头怎么插线)

    电脑视频头怎么打开(电脑视频头怎么插线)

  • 怎么查看以前下载的软件(怎么查看以前下载的软件oppo)

    怎么查看以前下载的软件(怎么查看以前下载的软件oppo)

  • 苹果手机lte怎么改成4g(苹果手机lte怎么不能用)

    苹果手机lte怎么改成4g(苹果手机lte怎么不能用)

  • 华为tl00是什么型号(华为tit tl00什么型号)

    华为tl00是什么型号(华为tit tl00什么型号)

  • 华为荣耀20pro怎么截图(华为荣耀20Pro怎么隐藏应用)

    华为荣耀20pro怎么截图(华为荣耀20Pro怎么隐藏应用)

  • 快狗打车如何申请发票(快狗打车怎么注册司机,需要什么条件)

    快狗打车如何申请发票(快狗打车怎么注册司机,需要什么条件)

  • 苹果lte怎么变成4g(苹果lte怎么变成4g网络)

    苹果lte怎么变成4g(苹果lte怎么变成4g网络)

  • 坚果pro2和pro2s区别(坚果pro2与2s外形一样吗)

    坚果pro2和pro2s区别(坚果pro2与2s外形一样吗)

  • 微信号没有绑定手机号怎么找回(微信号没有绑定银行卡可以支付吗)

    微信号没有绑定手机号怎么找回(微信号没有绑定银行卡可以支付吗)

  • 苹果充值记录能删除吗(苹果充值记录能保存多久)

    苹果充值记录能删除吗(苹果充值记录能保存多久)

  • cad测量面积快捷键(cad测量面积快捷键pl)

    cad测量面积快捷键(cad测量面积快捷键pl)

  • NTFS文件夹权限使用说明(ntfs文件夹权限高于文件权限)

    NTFS文件夹权限使用说明(ntfs文件夹权限高于文件权限)

  • nodejs安装与卸载(高版本降为低版本)(node 卸载)

    nodejs安装与卸载(高版本降为低版本)(node 卸载)

  • 如何理解PS中的栅格化含义(如何理解ps中的黑透白不透)

    如何理解PS中的栅格化含义(如何理解ps中的黑透白不透)

  • 保险税优识别码是保单号吗
  • 如何做好存货管理,从哪方面去做
  • 微信收款和支付宝收款有啥区别
  • 小规模普票专票税率一样吗
  • 异地项目预缴个人所得税
  • 软件行业个人所得税
  • 用人单位必须要有试用期吗
  • 房地产土地增值税的算法
  • 同一张记账凭证可以出现多笔分录吗
  • 接受原材料投资的会计处理
  • 宾馆收入应按什么计算
  • 支票遗失声明书范文
  • 别人给的发票一直不开
  • 个人保证金业务
  • 公司开给个人的发票有什么用
  • 发票一定要房东开的才能报销吗?
  • 处置固定资产增值税税率
  • 广告发布税收编码
  • 对公账户钱怎么退回去
  • 新公司营业执照经营范围越多越好吗
  • 大连国税局工资待遇怎么样
  • 开业庆典礼仪费计入什么科目?
  • 所得税年报报完了怎么更正季报
  • 发票可以作为原始凭证吗
  • 技术服务费成本票是什么
  • 单位自办食堂为单位职工提供餐饮服务要交增值税吗
  • 高新加计扣除怎么做账
  • 加速折旧的会计分录
  • 电脑蓝屏代码0x0000003B
  • PHP+jQuery翻板抽奖功能实现
  • u深度u盘启动盘制作工具官网
  • 如何进行抵债资金管理
  • 怎么更改win7
  • 低值易耗品总账科目叫什么
  • mvc与mvvm
  • js示例
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码
  • mask rcnn优点
  • mysql5.7分区表
  • 免抵调库 地方税收有无增加
  • vue解决跨域的几种办法
  • 域名费用怎么交
  • 公司扣除保险费会计分录
  • 小规模纳税人成本含税吗
  • 外贸企业出口退税会计分录怎么做
  • 单位结余资金该如何处理
  • mysql常用语
  • 对增值税发票开具方面有何要求?
  • 企业销售收入确认条件
  • 车间杂工工资如何结算
  • 查账征收的含义
  • 个人独资企业与一人公司的区别与联系
  • 微众银行贷款到私账吗
  • 银行承兑汇票的承兑人
  • 担任会计职务的英语
  • mysql时间语句
  • mysql如何实现多表查询
  • 苹果mac系统怎么截屏快捷键
  • mac的safari浏览器无法打开
  • centos分区说明
  • FC7中用yum自动搜索安装软件
  • win7系统有wifi功能吗
  • rhel6安装
  • 设计制作个性化文集答案
  • mac鼠标如何设置
  • 免打扰模式在哪关
  • win7怎么查看电池信息
  • cocoscreator lua
  • 网页收集数据
  • node+express+ejs制作简单页面上手指南
  • javascript教程chm
  • javascriptj
  • 浅析jQuery Ajax请求参数和返回数据的处理
  • 理解js绑定事件是什么
  • jquery on()
  • python简要介绍
  • python怎么理解
  • 期间费用如何分摊到成本中
  • 税控软件怎么升级到新版本
  • 争议问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设