uniapp 热更新和整包更新

Posted 笑虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp 热更新和整包更新相关的知识,希望对你有一定的参考价值。

uniapp 热更新和整包更新

版本校验接口返回

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 热更新和整包更新的主要内容,如果未能解决你的问题,请参考以下文章

uniapp 实现APP强更新,热更新

UE5 热更新方案

UE5 热更新方案

uniapp随笔-离线打包编译注意事项

关于线上静态页面资源更新的一些经验分享

uniapp自动更新