uni-app热更新,HTML5+API

本文详细介绍了一种使用H5+方案实现的App热更新流程,包括如何获取应用版本信息及判断是否需要更新,以及如何下载并安装wgt更新包的具体步骤。


1.获取app版本

官方获取app版本信息有坑,所以可以使用h5+的方案代替

这里获取app版本的主要目的就是去判断是否需要更新。

如果觉得这种获取方式麻烦也可以直接在状态机或者vue.prototype中直接存储一个当前版本。

plus.runtime.getProperty(plus.runtime.appid,(res)=>{
	console.log(res.version)
});
//-----------------------------------------
//	获取指定APPID对应的应用信息
//	plus.runtime.getProperty(appid,callback)
//-----------------------------------------
//	获取appid
//	plus.runtime.appid
//-----------------------------------------

2.下载wgt更新包,并安装

同上,uni官方依然有坑,使用h5+解决方案

//新建一个下载任务
//download_url下载地址,一般是判断完是否需要更新后返回的下载地址
let download_url = 'https://110.110.110.110/system/download'	
let task = plus.downloader.createDownload(download_url,{
	filename: '_doc/update/' + new Date().getTime() + '/',	//文件的保存地址(这里可以不用动,一定要保证地址或包名是唯一的)
})
//监听下载状态(res,state)
task.addEventListener('statechanged',(res,state)=>{
	this.max = res.totalSize	//文件大小
	this.rate = res.downloadedSize	//已下载文件大小
	//判断下载完成
	if(res.state == 4 && state == 200){
		//安装文件(res.filename是下载完成的文件)
		plus.runtime.install(res.filename,{},succ=>{	//安装成功回调
			plus.runtime.restart();	//重启app	
		},err=>{	//安装失败回调
			console.log(err)
		});
	}
})
//开始下载任务
task.start()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值