hbuilder打包打包web2app配置检查更新并显示更新下载进度

在app.js文件中配置:

...
onShow: function() {
    console.log('show');
	var ua = navigator.userAgent;
	if(ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {
		var server = "http://xxxx.com/update"; //检查更新地址
		var req = { //升级检测数据
			"versionCode":plus.runtime.versionCode,
		};
		//注释部分是wap2app封装请求
		wap2app.ajax.post(server, req, function(rsp) {
			if(rsp.code == 200000 && rsp.data != 'none'){
				plus.nativeUI.alert("新版本可用", function(event) {
					var dtask = plus.downloader.createDownload(
						rsp.data,
						{},
						function(d, status) {
						  console.log('下载完成!');
						  if (status == 200) {
							plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, e => e, function(error) {
							 console.log('安装失败-01!');
							})
						  } else {
							console.log('更新失败-02!');
						 }
					});
					//设置检查更新进度显示
					try {
						dtask.start(); // 开启下载的任务
						var prg = 0;
						var showLoading = plus.nativeUI.showWaiting("正在下载");  //创建一个showWaiting对象 
						dtask.addEventListener('statechanged', function(
						  task,
						  status
						) {
						  // 给下载任务设置一个监听 并根据状态  做操作
						  switch (task.state) {
							case 1:
							  showLoading.setTitle("正在下载");
							  break;
							case 2:
							  showLoading.setTitle("已连接到服务器");
							  break;
							case 3:
							  prg = parseInt(
								(parseFloat(task.downloadedSize) /
								  parseFloat(task.totalSize)) *
								  100
							  );
							  showLoading.setTitle("  正在下载" + prg + "%  ");
							  break;
							case 4:
							   plus.nativeUI.closeWaiting();
								//下载完成
							  break;
						  }
						});
					 } catch (err) {
						  plus.nativeUI.closeWaiting();
						  console.log('更新失败-03')
					 }
					
					
				}, "提示", "立即更新");
			}
		});
	}
},
...

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值