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

  • 小规模纳税人的进项税额怎么处理
  • 折旧费属于什么科目
  • 什么叫销售劳务
  • 税务等级低有什么影响
  • 文化传媒公司取名字不带文化
  • 商贸公司批发零食怎么样
  • 调表不调账最后会有什么问题
  • 建筑业统一发票可以抵扣吗
  • 修理费的定额发票还可以报销吗?
  • 收购烟叶委托加工烟丝组成计税价格
  • 客户把发票弄丢了,红冲重新开了会有什么风险
  • 未达起征点销售额,11栏怎么填写
  • 农产品收购发票上的买价含税吗
  • 购买方纳税人识别号是什么意思
  • 已经提完折旧的固定资产报废
  • 研发人员工资加计扣除
  • 子公司借款给母公司要交税吗
  • 什么情况财务费用是负数
  • 购进货物无偿赠送其他单位
  • 购买方已抵扣申请红票,销售方为开具 购买方如何作废
  • ubuntu18.04 u盘安装
  • 跨区域涉税事项报告表报验流程
  • mac环境搭建
  • 财务费用利息收入怎么结转
  • 融资租赁与经营租赁的区别主要是
  • 内部退养如何缴纳个人所得税
  • 事业单位在建工程会计账务处理
  • 国家规定不计入社保基数
  • php使用memcache
  • 配置eAccelerator和XCache扩展来加速PHP程序的执行
  • 建设工程劳务分包合同属于建设工程合同吗
  • 应收票据终止确认的情形
  • php 位运算符
  • 递归 php
  • nvme安装方法
  • CSS SandBox
  • python里面的类
  • mongodb bi
  • 财政总预算会计的特点
  • access china
  • sql server 创建数据表状态1第三行语法错误怎么回事
  • 房屋租赁物业费谁承担
  • 个人承担的个税是公司的成本费用吗
  • 应收账款和应付账款属于什么科目
  • 增值税的专用发票金额含税吗
  • 无发票材料可以入材料账吗
  • 农民农作物补偿标准文件
  • 担保公司的担保费能退吗
  • 公司五金是哪五金
  • 员工的探亲费应由谁支付
  • 消耗性生物资产与生产性生物资产的区别
  • 退票费凭证可以用于报销吗?
  • 高新技术企业享受优惠时间
  • 企业公司制改建的有关规定
  • sqlite迁移到mysql脚本的方法
  • ubuntu 无线wifi
  • linux rootkit查杀
  • win7麦克风没声音怎么设置方法从计算机
  • win10预览版和正式版区别
  • xp系统磁盘检查进不去
  • 启动游戏出现dmp的文件
  • dae是什么文件
  • centos 常用命令教程
  • windows7使用
  • 如何清除Windows登录记录
  • schedulerv2.exe - schedulerv2是什么进程 有什么用
  • fciv.exe
  • win10如何快速打开设置
  • linux用
  • javascript that
  • 使用jquery操作dom
  • 浏览器修改js变量
  • bat批处理删除
  • 耳机插头怎么拔
  • Python中强大的命令行库click入门教程
  • javascript快速入门
  • 汽车购置税退税需要多长时间
  • 湖南国家税务总局官网
  • 沈阳特慢病待遇
  • 创业板中签钱不能转出吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设