实现检测版本更新并下载新版本:通过后台返回更新版本的版本号和当前版本号做比较,不同则提示有新版本需要更新,下载地址又后台返回
代码:

     // 检测版本更新async checkUpdates() {// #ifdef APP-PLUS//调用接口获取后台版本信息,检查是否需要更新let versionInfo = await this.$api.login.getAppInfo();console.log('获取后台版本信息', versionInfo);// 待更新版本const currentVersion = versionInfo.versionName;console.log('后台需要更新版本', currentVersion);// 更新地址let androidUrl = versionInfo.url;// 是否强制更新 isMust 0.否 1.强制更新let showCancel = versionInfo.isMust ? true : false;//  比较版本是否不同 当前版本:plus.runtime.versionconst localVersion = plus.runtime.version.split('.');let current = currentVersion.split('.');// 默认是同一个版本,不需要更新let flag = false;current.forEach((item, i) => {if (item !== localVersion[i]) {// 检测到版本不同,需要更新flag = true;}});if (flag) {uni.showModal({// 更新提醒title: '发现新版本,是否更新',content: '待更新版本号:' + currentVersion ,// showCancel: showCancel,success: res => {if (res.confirm) {this.doUpData(androidUrl);this.showdownLine = true;// plus.runtime.openURL(androidUrl)} else if (res.cancel) {// 不更新强制退出appif (showCancel) {console.log('不更新强制退出app');plus.runtime.quit();}}}});} else {this.$myToast('无更新', 'none');}// #endif},doUpData(Url) {uni.showLoading({title: '更新中……'});const downloadTask = uni.downloadFile({//执行下载url: Url, //下载地址timeout: 1000 * 30, //30秒超时时间success: downloadResult => {//下载成功console.log(downloadResult);this.showdownLine = false;uni.hideLoading();if (downloadResult.statusCode == 200) {plus.runtime.install(//安装软件downloadResult.tempFilePath,{force: true},function(res) {plus.runtime.restart();});}},fail: err => {uni.hideLoading();this.showdownLine = false;this.$u.toast(err.errMsg);console.log(err);},complete: com => {console.log(com);}});// 下载进度downloadTask.onProgressUpdate(res => {// this.$u.toast(res.progress)this.downloadNum = res.progress;// console.log('下载进度' + res.progress);// console.log('已经下载的数据长度' + res.totalBytesWritten);// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);// 满足测试条件,取消下载任务。// if (res.progress > 50) {//    downloadTask.abort();// }});}


uniapp实现app自动检测更新相关推荐

  1. 安卓实现APP自动检测软件版本并提示更新

    安卓实现APP自动检测软件版本并提示更新 前言 当我们在做安卓项目的时候,客户的需求往往难免会发生变动.但是我们的产品已经上线了,却又需要修改的话我们该怎么办呢?也许很多应用商店已经集成了这个功能,只 ...

  2. android APP自动增量更新

    APP自动增量更新 抽取的Android自动更新库,目的是几行代码引入更新功能,含服务端代码,欢迎Star,欢迎Fork,谢谢- 博客同步自:个人博客主页 代码github: https://gith ...

  3. uni-app开发的APP项目上线后,登录后自动检测更新,点击下载并安装,可手动检测版本更新,实现扫码下载功能

    先说实现逻辑:我选择原生app-云打包,打包时设置好版本号,打包后上传到后台管理的app版本管理中:页面在App.vue中加载时storage设置当前的app版本号,首页加载出来时调用后台管理上传的最 ...

  4. 自动检测更新域名绑定技术

    一.背景介绍 当前网络处于校内网环境,登录外网需要学生账号,中间有小米路由.不同时间登录可能会出现ip地址更换.(当前路由下有两台电脑和一台nano) 要实现的目标:将个人路由下的设备用二级域名绑定, ...

  5. uniapp 实现app自动更新

    需求概述: 最近遇到的需求,扫码核验的app需要在线自动升级安装(因app简单上不了应用市场,所以调研用在线更新的办法) 第一步:首先需要一个可以更新和获取数据的接口(后端) 比如第一次打包时的版本名 ...

  6. Uniapp 实现app自动更新功能

    APP.vue文件中 <script>export default {data: function() {return {version: "1.5.4"//版本号}} ...

  7. uniapp之app自动更新

    cmd-progress.vue <!-- 版本升级弹窗开始 --><uni-popup ref="promotion" type="center&qu ...

  8. Android 自动检测更新,自动下载apk更新版本

    注意:华为手机需要先上架华为应用市场才可以自动更新apk.其他手机可能也需要先上架 关于安卓8.0不显示下载通知问题:https://blog.csdn.net/meixi_android/artic ...

  9. 微信小程序自动检测更新新版本

    app.js设置 App({onShow(){this.autoUpdate() //更新新版本},autoUpdate() { //更新新版本var self = this// 获取小程序更新机制兼 ...

最新文章

  1. mysql mtq_MySQL基础知识 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
  2. java dictionary遍历_C# Dictionary 的几种遍历方法
  3. php stdclass,php中new stdclass()用在什么场景
  4. js对html节点的操作
  5. java 随机 数字 字母组合_java生成随机数字和字母组合
  6. 常用的stm32库函数
  7. 利用T-SQL处理SQL Server数据库表中的重复行
  8. VB让控件可以当标题栏拖动
  9. sessionattribute 被spring 扫描不到_Spring 系列之 Spring 常用注解总结(肝硬化的干货)...
  10. Java SE Technologies at a Glance
  11. Java 最常见的 200+ 面试题:面试必备
  12. 【爬虫专栏11】正则,ajax,json爬马蜂窝
  13. python右对齐输出数字怎么办_解决python让数字右对齐的方法
  14. 【Hulu独家面试宝典】助你决胜校招技术面
  15. 常用的个人网站建站系统
  16. 【opencvsharp】opencvsharp_samples.core示例代码笔记
  17. 校长 – Roy's Blog
  18. 一阶锁相环的FPGA实现(基于quartus+matlab)
  19. linux write的行为
  20. 头插法和尾插法的详细区别

热门文章

  1. 百度分享插件,可分享到QQ,微信,微博…
  2. MATLAB实现图像的读取、写入、显示
  3. 浅谈Vue.js模块化开发
  4. 位置式 PID 算法、恩智浦杯智能车电机PID
  5. Codeforces Round #628 (Div. 2) D. Ehab the Xorcist
  6. RPG多人回合制战斗框架设计《四:技能设计》
  7. android通讯联系QuickContactBadge 圆形头像显示详解
  8. 教你炒股票1:不会赢钱的经济人,只是废人!
  9. LWIP应用开发|广播与组播
  10. 最值得读的科普书籍有哪些?