// updateType: 用于判断是热更新还是整包更新,由后端返回
// updateAddress: 下载安装包的地址,由后端返回
if(updateType){
// 整包更新
var dtask = plus.downloader.createDownload(updateAddress, {},(d, status) => {
if (status == 200) {
var path = d.filename; //下载apk
plus.runtime.install(path); // 自动安装apk文件
} else {
plus.nativeUI.alert('版本更新失败:' + status);
}
});
dtask.start();
// 监听当前文件下载了状态
dtask.addEventListener("statechanged", (res) => {
switch (res.state) {
case 2:
plus.nativeUI.toast("开始下载");
break;
case 3:
// 可以在当前位置计算下载进度 res.downloadedSize:当前下载进度大小; res.totalSize:安装包的总大小
// 计算当前进度百分比
// parseInt((parseFloat(res.downloadedSize) / parseFloat(res.totalSize))*100);
// 计算当前下载进度单位(M)
// (parseInt(res.downloadedSize) / 1048576).toFixed(2) + "M";
uniapp自定义整包更新与热更新
最新推荐文章于 2024-08-13 09:42:56 发布
本文详细介绍了如何在uni-app中实现自定义打包更新以及热更新的完整流程,包括配置文件的设置、更新逻辑的编写,以及vue.js在其中的作用。通过实例演示,帮助开发者掌握uni-app的高效迭代技巧。
摘要由CSDN通过智能技术生成