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

  • excel如何去重复项(excel如何去重复项然后把重复项数值相加)

    excel如何去重复项(excel如何去重复项然后把重复项数值相加)

  • 淘宝揽件超时有惩罚吗(淘宝揽收超时会对卖家什么影响)

    淘宝揽件超时有惩罚吗(淘宝揽收超时会对卖家什么影响)

  • oppoa11怎么投屏到电视(oppoa11手机怎么投屏)

    oppoa11怎么投屏到电视(oppoa11手机怎么投屏)

  • 微信上微笑的表情代表什么(微信上微笑的表情是什么意思)

    微信上微笑的表情代表什么(微信上微笑的表情是什么意思)

  • iphone11pro死机怎么重启(iphone11pro 死机)

    iphone11pro死机怎么重启(iphone11pro 死机)

  • 华为nova7防水等级(华为nova7防水性)

    华为nova7防水等级(华为nova7防水性)

  • 钉钉能不能提前录课(钉钉能不能提前进课堂)

    钉钉能不能提前录课(钉钉能不能提前进课堂)

  • iphone7进水了怎么办(苹果7进水了按钮不灵了怎么办)

    iphone7进水了怎么办(苹果7进水了按钮不灵了怎么办)

  • 华为手机微信怎么截长图聊天记录(华为手机微信怎么美颜)

    华为手机微信怎么截长图聊天记录(华为手机微信怎么美颜)

  • 国产屏和原装屏的区别(国产屏和原装屏有什么区别)

    国产屏和原装屏的区别(国产屏和原装屏有什么区别)

  • hdmi输出老是闪断信号(hdmi线出现闪屏怎么办)

    hdmi输出老是闪断信号(hdmi线出现闪屏怎么办)

  • xsmax港行是zp还是za(xsmax港行和国行区别)

    xsmax港行是zp还是za(xsmax港行和国行区别)

  • 二极管是一种什么元件(二极管是一种什么器件)

    二极管是一种什么元件(二极管是一种什么器件)

  • 电脑强制关机快捷键(电脑强制关机快捷键对电脑有损害吗)

    电脑强制关机快捷键(电脑强制关机快捷键对电脑有损害吗)

  • 荣耀v30有屏幕指纹吗(荣耀v30有屏幕指纹功能吗)

    荣耀v30有屏幕指纹吗(荣耀v30有屏幕指纹功能吗)

  • 抖音视频可以看访客吗(抖音视频可以看到谁转发吗)

    抖音视频可以看访客吗(抖音视频可以看到谁转发吗)

  • mata30和mate30pro的区别(华为mate30pro和mata30哪个值得买)

    mata30和mate30pro的区别(华为mate30pro和mata30哪个值得买)

  • 苹果怎么设置接听震动(苹果怎么设置接不到电话)

    苹果怎么设置接听震动(苹果怎么设置接不到电话)

  • 微信如何支付给好友(微信如何支付给对方钱)

    微信如何支付给好友(微信如何支付给对方钱)

  • 换手机了微信群哪里找(换手机了微信群不见了怎么找回来)

    换手机了微信群哪里找(换手机了微信群不见了怎么找回来)

  • excel数字格式不对(excel数字格式不对,后面全变成0)

    excel数字格式不对(excel数字格式不对,后面全变成0)

  • Windows11我的电脑怎么显示?win11我的电脑怎么调出来(windows11我的电脑怎么放到桌面)

    Windows11我的电脑怎么显示?win11我的电脑怎么调出来(windows11我的电脑怎么放到桌面)

  • 为什么Win10系统激活失败会提示错误代码0xc004f074 ?(为什么WIN10系统打在画面进不去)

    为什么Win10系统激活失败会提示错误代码0xc004f074 ?(为什么WIN10系统打在画面进不去)

  • fppdis2a.exe是什么进程 有什么作用 fppdis2a进程查询(fpp是什么文件)

    fppdis2a.exe是什么进程 有什么作用 fppdis2a进程查询(fpp是什么文件)

  • kkFileView部署及使用(kkfileview启动组件失败)

    kkFileView部署及使用(kkfileview启动组件失败)

  • 浦那的黄胸织布鸟鸟巢,马哈拉施特拉邦 (© Samyak Kaninde/Alamy Stock Photo)(井冈山游击队的口号)

    浦那的黄胸织布鸟鸟巢,马哈拉施特拉邦 (© Samyak Kaninde/Alamy Stock Photo)(井冈山游击队的口号)

  • 技术维护费计入哪里
  • 划转税务的非税发票
  • 员工拓展活动方案范文
  • 营改增后计税依据
  • 境外非居民企业所得税
  • 核算科目拨出专票怎么弄
  • 申请生育津贴需要提供什么材料
  • 税率变化递延所得税资产如何调整
  • 销售加工费怎么做账务处理
  • 第三方代缴社保能查到原单位吗
  • 手撕发票怎么区分地区开具
  • 采购退回的分录
  • 收到去年所得税退款直接记入营业外收入吗
  • 什么是应交税费应交增值税科目设置的贷方明细科目
  • 税报错了可以更改吗
  • 年终奖缴税将有大变化
  • 审计报告的二维码扫出来是什么
  • 2019小规模纳税人增值税起征点
  • 员工承担补缴社保的责任
  • 外经证核销办理流程图
  • 企业收入确认的依据是什么
  • 贸易公司成本怎么计算
  • php的运行机制与什么有关
  • mac os右键
  • Mac SIP系统完整性保护开启及关闭的方法介绍
  • PHP:mb_send_mail()的用法_mbstring函数
  • win11中文安装包
  • 免费投放资产收益的平台
  • php 如何防止接口被刷
  • mksysb命令
  • 小满Vue3第三十六章(Vue如何开发移动端)
  • 个人账户存储额是缴费总和
  • php下载文件夹
  • vue运行报错
  • 卷积神经网络有哪些
  • 税控盘减免税款结转会计分录
  • 待抵扣进项税额的分录
  • 矿山征收
  • 外贸企业出口退税申报流程
  • SQLite教程(十):内存数据库和临时数据库
  • sh sqlplus
  • 企业存续情况
  • 确认委托代销手续费的会计分录
  • 公司买车可以抵扣企业所得税吗
  • 异地车辆登记证书怎么补办
  • 已认证的增值税专用发票可以作废吗
  • 应收账款收不回来的情况说明
  • 股东追加投资怎么算
  • 业务招待费属于管理费用吗
  • 建筑安装合同印花税率怎么算
  • 机器设备一般折旧几年
  • 预计销售收入增长率怎么算
  • 部门费用的核算包括
  • 应收票据贷方余额
  • 房地产开发企业增值税怎么算
  • sql查询结果数量
  • php连接mysql数据库的几种方式及区别
  • mysql 5.7.17 winx64安装配置方法图文教程
  • win10预览版21301bug
  • 503 service unavailable错误说明
  • linux命令ethtool
  • msmpeng.exe是什么程序
  • linux windows转linux
  • win8开机启动项
  • django orm left join
  • opengl粒子系统烟花
  • 用js获取地址栏url参数的方法
  • android:ellipsize="marquee"
  • java 同步方法和同步代码块区别
  • shell随机
  • android中文名
  • 安卓开发日记本
  • python读取一个文件并写入另一个文件
  • JavaScript中的NaN代表什么
  • android 4.2
  • 重庆网上税务局个人怎么绑定企业账户
  • 电子税务局增值税申报表下载
  • 县里的附加税
  • 选矿比怎么算
  • 广东佛山税务局人工电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设