uniapp 热更新和整包更新
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 热更新和整包更新相关推荐
- uni-app开发APP实现热更新和整包更新
热更新(.wgt):只有前端资源或模块进行调整,整个App结构不发生变化,那只需要更新这一部分资源,避免用户重新下载整个App.通过 HBuilderX 打包 .wgt 包即可 整包更新(.apk): ...
- uni-app整包更新与热更新方案(安卓和IOS)
原文链接:uni-app整包更新与热更新方案(安卓和IOS) 效果预览 大致效果: 打开App,进入首页(首次),检测线上是否存在新版本,如果存在,弹窗提示用户是否进行版本更新.Android 有热更 ...
- uniapp自定义整包更新与热更新
// updateType: 用于判断是热更新还是整包更新,由后端返回 // updateAddress: 下载安装包的地址,由后端返回 if(updateType){// 整包更新var dtask ...
- mui,uniapp实现APP整包更新,并展示更新进度条
整包更新 与热更新不同,整包更新比对的版本号是应用版本名称 //检测当前版本号dqbanben:function(){var that=this;//在页面中初始化plus插件mui.init();m ...
- uniapp版本升级记录(整包升级,wgt资源升级)
本文章是基于升级中心 uni-upgrade-center - Admin 和升级中心 uni-upgrade-center - App两个插件完成的,特此感谢! 下面记录一下在使用插件时的一些注意点 ...
- uniapp热更新(wgt)
uniapp分两种更新机制: 一.整包更新(这种方式比较繁琐,即每次更新之后就要打云包,更新整包,用户体验也不好) 二.资源包更新,即wgt(因第一种方法想到利用资源更新,用户体验大大提升,用户更新之 ...
- uniapp热更新,告别云打包
前言 项目一直使用uniapp来打包APP,但是每次发布测试或者上线,都要使用官方的云打包-有大小限制不说,周五等时间等待的时间比打包的时间更加长,所以就想着能不能热更新呢?说干就干 调研阶段 首先在 ...
- uni-app升级APP,包含apk整包升级和wgt应用资源升级
这里只说安卓的应用,软件包放在自己的服务器中. 三种方式 apk包整包更新,要下载所有的文件包含权限模块依赖等,大小在20M+ wgt包应用资源更新,只更新自己写的代码,根据你代码的多少大小在600k ...
- 制作OTA升级整包增量包
制作OTA升级包 OTA包有整包和差分包之分.顾名思义,所谓整包就是包含整个system分区的数据文件;而差分包则仅仅包含两个版本之间改动的部分.使用整包升级就好比对电脑进行重装系统,格式化系统分区, ...
最新文章
- 解决eclipse ctrl+鼠标左键不能用
- php对象当参数传递 php深复制和浅复制
- CBNetV2:北大提出的复合主干网络,COCO成绩60.1%
- C3P0连接池的运用
- Android 人脸实名验证demo——腾讯人脸核身·云智慧眼
- 【高校宿舍管理系统】第十一章 学生系统
- Ecology 查询某人所有流程待办事项
- B key-M key-BM key
- mongoVUE的增删改查操作使用说明
- ectouch——wap端商城の数据表字典
- 1+5T LineageOS 谷歌相机 相关处理和链接
- 修改系统UISearchBar搜索框的样式-搜索图片、背景颜色
- 微信小程序的bindtap和catchtap实际场景 对话框中按钮点击和对话框背景点击处理笔记...
- 【应用回归分析】一元简单线性回归显著性检验,t检验和F检验统计量抽样分布推导
- SCOI 2016 bzoj 4567~4572 题解
- 计算机硬件日语,求一些电脑硬件的日语说法(比如显卡等)
- 来,带你实现基于网络通信QQ聊天室-----QQ有这么强!!!
- Nginx + uWSGI + Python + Django搭建一款只属于自己的壁纸网站
- android 群组消息,极光IM- 群组管理 - 极光文档
- 翻译考试用计算机作答,2019年CATTI考试改为机考,官方首次披露真题
热门文章
- Err.number错误号和错误说明
- acwing.回文质数
- 前端 《优化改良》 - VUE高效开发 - div - 自定义div的load事件 - 戴向天
- 火伞云APP盾,您身边的DDoS攻击安全保护专家
- UE4代理委托(代理,动态代理,单播,多播)
- foxmail客户单发送html活动页面(含链接跳转)邮件(发送 转发)
- stm32: 串口空闲中断的实现(HAL库)
- 全新整理:微软、谷歌、百度等公司经典面试100题[第1-60题]
- 【微信小程序】微信小程序函数封装
- Android锁屏状态下信息的显示