uniapp 热更新和整包更新

  • 版本校验接口返回
  • 自动更新
    • 自动下载APK并安装
    • 弹出下载APK手动安装
  • 参考资料

版本校验接口返回

https://192.168.1.113/public/mobile/version

{version: 125,url: 'https://192.168.1.113/apk/app.apk',remark: '本次更新了布拉布拉。。。'
}

自动更新

自动下载APK并安装

Jerry.checkVersion = function(t) {$.ajax({type: "get",url: domain + "/public/mobile/version",async: true,dataType: "json",success: function(rs) {plus.runtime.getProperty(plus.runtime.appid, function (info) {console.log('当前app版本:' + info.versionCode);console.log('最新版本:' + rs.version);if(parseInt(rs.version) > parseInt(info.versionCode)) {mui.confirm(rs.remark, "更新提示", ['现在更新', '暂不更新'], function(e) {if(e.index == 0) {var w = plus.nativeUI.showWaiting("正在下载,请等待...", {back: "none"});var dtask = plus.downloader.createDownload(rs.url, {}, function(d, status) {if(status == 200) {w.close(); plus.nativeUI.showWaiting("开始安装...");plus.runtime.install(d.filename, {}, function() {plus.nativeUI.closeWaiting();plus.nativeUI.alert("更新完成!", function() {plus.runtime.restart();});}, function(e) {plus.nativeUI.closeWaiting();plus.nativeUI.alert("安装失败[" + e.code + "]:" + e.message);});} else {mui.alert('下载更新文件失败:' + status);}});dtask.addEventListener("statechanged", function(d, status) {var total = parseInt(d.totalSize);var cur = parseInt(d.downloadedSize);w.setTitle("已下载:" + (cur / (1024 * 1024)).toFixed(2) + "M/" + (total / (1024 * 1024)).toFixed(2) + "M");}, false);dtask.start();}});} else if(t == 1)  {mui.alert("当前已是最新版本");}});}});}

弹出下载APK手动安装

$.ajax({type: "get",url: domain + "/public/mobile/version",async: true,dataType: "json",success: function(rs) {mui.confirm(rs.remark, "更新提示", ['现在更新', '暂不更新'], function(e) {if(e.index == 0) {plus.runtime.openURL(rs.url);}});}
});

参考资料

uniapp热更新和整包更新
plus.runtime.install 注意权限问题

uniapp 热更新和整包更新相关推荐

  1. uni-app开发APP实现热更新和整包更新

    热更新(.wgt):只有前端资源或模块进行调整,整个App结构不发生变化,那只需要更新这一部分资源,避免用户重新下载整个App.通过 HBuilderX 打包 .wgt 包即可 整包更新(.apk): ...

  2. uni-app整包更新与热更新方案(安卓和IOS)

    原文链接:uni-app整包更新与热更新方案(安卓和IOS) 效果预览 大致效果: 打开App,进入首页(首次),检测线上是否存在新版本,如果存在,弹窗提示用户是否进行版本更新.Android 有热更 ...

  3. uniapp自定义整包更新与热更新

    // updateType: 用于判断是热更新还是整包更新,由后端返回 // updateAddress: 下载安装包的地址,由后端返回 if(updateType){// 整包更新var dtask ...

  4. mui,uniapp实现APP整包更新,并展示更新进度条

    整包更新 与热更新不同,整包更新比对的版本号是应用版本名称 //检测当前版本号dqbanben:function(){var that=this;//在页面中初始化plus插件mui.init();m ...

  5. uniapp版本升级记录(整包升级,wgt资源升级)

    本文章是基于升级中心 uni-upgrade-center - Admin 和升级中心 uni-upgrade-center - App两个插件完成的,特此感谢! 下面记录一下在使用插件时的一些注意点 ...

  6. uniapp热更新(wgt)

    uniapp分两种更新机制: 一.整包更新(这种方式比较繁琐,即每次更新之后就要打云包,更新整包,用户体验也不好) 二.资源包更新,即wgt(因第一种方法想到利用资源更新,用户体验大大提升,用户更新之 ...

  7. uniapp热更新,告别云打包

    前言 项目一直使用uniapp来打包APP,但是每次发布测试或者上线,都要使用官方的云打包-有大小限制不说,周五等时间等待的时间比打包的时间更加长,所以就想着能不能热更新呢?说干就干 调研阶段 首先在 ...

  8. uni-app升级APP,包含apk整包升级和wgt应用资源升级

    这里只说安卓的应用,软件包放在自己的服务器中. 三种方式 apk包整包更新,要下载所有的文件包含权限模块依赖等,大小在20M+ wgt包应用资源更新,只更新自己写的代码,根据你代码的多少大小在600k ...

  9. 制作OTA升级整包增量包

    制作OTA升级包 OTA包有整包和差分包之分.顾名思义,所谓整包就是包含整个system分区的数据文件;而差分包则仅仅包含两个版本之间改动的部分.使用整包升级就好比对电脑进行重装系统,格式化系统分区, ...

最新文章

  1. 解决eclipse ctrl+鼠标左键不能用
  2. php对象当参数传递 php深复制和浅复制
  3. CBNetV2:北大提出的复合主干网络,COCO成绩60.1%
  4. C3P0连接池的运用
  5. Android 人脸实名验证demo——腾讯人脸核身·云智慧眼
  6. 【高校宿舍管理系统】第十一章 学生系统
  7. Ecology 查询某人所有流程待办事项
  8. B key-M key-BM key
  9. mongoVUE的增删改查操作使用说明
  10. ectouch——wap端商城の数据表字典
  11. 1+5T LineageOS 谷歌相机 相关处理和链接
  12. 修改系统UISearchBar搜索框的样式-搜索图片、背景颜色
  13. 微信小程序的bindtap和catchtap实际场景 对话框中按钮点击和对话框背景点击处理笔记...
  14. 【应用回归分析】一元简单线性回归显著性检验,t检验和F检验统计量抽样分布推导
  15. SCOI 2016 bzoj 4567~4572 题解
  16. 计算机硬件日语,求一些电脑硬件的日语说法(比如显卡等)
  17. 来,带你实现基于网络通信QQ聊天室-----QQ有这么强!!!
  18. Nginx + uWSGI + Python + Django搭建一款只属于自己的壁纸网站
  19. android 群组消息,极光IM- 群组管理 - 极光文档
  20. 翻译考试用计算机作答,2019年CATTI考试改为机考,官方首次披露真题

热门文章

  1. Err.number错误号和错误说明
  2. acwing.回文质数
  3. 前端 《优化改良》 - VUE高效开发 - div - 自定义div的load事件 - 戴向天
  4. 火伞云APP盾,您身边的DDoS攻击安全保护专家
  5. UE4代理委托(代理,动态代理,单播,多播)
  6. foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发)
  7. stm32: 串口空闲中断的实现(HAL库)
  8. 全新整理:微软、谷歌、百度等公司经典面试100题[第1-60题]
  9. 【微信小程序】微信小程序函数封装
  10. Android锁屏状态下信息的显示