uniapp项目,包升级,版本更新

在这里插入图片描述
uni-app App整包升级检测
uni-app App资源热更新

在App.vue页面

<script>
	export default {
		onLaunch: function() {
			//#ifdef APP-PLUS
			var uuid = plus.device.uuid;  
			let type = 0
			switch(uni.getSystemInfoSync().platform){
			    case 'android':
					type = 1
			       break;
			    case 'ios':
					type = 2
			       console.log('运行iOS上')
			       break;
			    default:
			       console.log('运行在开发者工具上')
			       break;
			}
			let _t = this
			
			plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
				// console.log(widgetInfo,'plus.runtime')
				let version = widgetInfo.version
				let  url = '/api/v1/user/version'
				_t.$u.post(url, {
					type:type,
				}).then(res => {
					if(res.code ===0){
						// return
						console.log(res,'res')
						if(res.data.version>version){
							uni.showModal({
							    title: '更新提示',
							    content:  res.data.update_content,
								confirmText:'立即更新',
								cancelText:'暂不更新',
							    success: function (con) {
							        if (con.confirm) {
										console.log(type,'type')
										if(type == 1){
											var showLoading = plus.nativeUI.showWaiting("正在下载"); 
											const downloadTask = uni.downloadFile({
											    url: res.data.download_url, //仅为示例,并非真实的资源
											    success: (res) => {
											        if (res.statusCode === 200) {
											            console.log('下载成功');
														plus.runtime.install(res.tempFilePath, {
															force: false  
														}, function() {  
															console.log('install success...');  
															plus.runtime.restart();  
														}, function(e) {  
															console.error('install fail...');  
														}); 
														// uni.hideLoading();
											        }
											    }
											});
											downloadTask.onProgressUpdate((res) => {
												showLoading.setTitle("  正在下载" + res.progress + "%  ");
											    console.log('下载进度' + res.progress);
											    // 测试条件,取消下载任务。
											    if (res.progress == 20) {
													plus.nativeUI.closeWaiting();
											        // downloadTask.abort();	//暂停下载
											    }
											});
										}else if(type == 2){
											plus.runtime.launchApplication({
												// action: `itms-apps://itunes.apple.com/cn/app/id${appleId}?mt=8`,	//苹果应用市场链接
												action:'https://apps.apple.com/cn/app/%E7%9F%B3%E7%9F%B3%E7%B2%BE%E9%80%9A/id1533412973'
											}, function(e) {
												console.log('Open system default browser failed: ' + e.message);
											});
										}
							            
							        } else if (res.cancel) {
							            console.log('用户点击取消');
							        }
							    }
							});
						}
						
						return 
						
						
					}else{
						return
					}
				},err =>{
					console.log(err,'err')
				})
			});
			//#endif
		},
		
		onShow: function() {
		},
		onHide: function() {
		}
	}
</script>
<style lang="scss">
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值