uni-app更新APP,版本更新

export default {
	onLaunch: function() {
		console.log('App Launch');
		// 检查更新
		//#ifdef APP-PLUS  
		plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
			var version = wgtinfo.version // 客户端版本号
			let update = {
				url: this.$URL + '/api/xxxx/xxx?version=' + version,
				success: (res) => {
				if (res.data.updated === true) { // 如果服务器版本大于客户端版本则提醒更新
					var url = res.data.url
					uni.showModal({
					  title: '版本更新',
					  content: '有新的版本发布,是否立即进行新版本下载',
					  success: (res) => {
					  if (res.confirm) {
					  console.log('用户点击确定');
                                          // 调用下载方法
					  this.updateAPP(url)
					  } else if (res.cancel) {
					  console.log('用户点击取消');
					      }
					    }
					 });
				      }
				   }
				}
                               // 请求自己的api,与服务器版本进行比对,落后则执行官方的API更新应用
				this.$apiReq.req(update) 
			})
			//#endif  
			
	},
	methods:{
		 updateAPP(url) {
			 console.log('正在更新: url='+ url)
                        // 官方API
			 var dtask = plus.downloader.createDownload(url,{},function(d,status){ 
			 	//d为下载的文件对象
			 	if(status==200){
			 		//下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
			 		var fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
			 		plus.runtime.openFile(d.filename);	   //选择软件打开文件
			     }else{	
			     	//下载失败
			     	plus.downloader.clear();        //清除下载任务
			     }
			 })
			 dtask.start();
		}
	},
	 onShow: function() {
			console.log('App Show');
		},
      onHide: function() {
			console.log('App Hide');
		}
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章