uniapp热更新

uniapp热更新

app.vue

		console.log('App Launch');
			let that = this
		// #ifdef APP-PLUS
		plus.runtime.getProperty(plus.runtime.appid, wgtinfo => {
			let version = wgtinfo.version;
			let type = '';
			if (uni.getSystemInfoSync().platform == 'ios') {
				type = 1;
			} else if (uni.getSystemInfoSync().platform == 'android') {
				type = 2;
			}
			cms_version({}).then(res => {
				if (res.code == 200 && res.data.appVersion != version) {
					if (res.data.isForcedUpdate == 1) {
						that._install(res.data);
					} else {
						uni.showModal({
							title: '提示',
							content: '检测到系统有更新,是否升级?',
							success: function(r) {
								if (r.confirm) {
									that._install(res.data);
								} else if (r.cancel) {
									console.log('用户点击取消');
								}
							}
						});
					}
				} 
		 else {
				uni.showToast({
						title: '已经是最新版本',
				icon: 'none'
			});
		 	}
			});
		});
		// #endif

methods:{
	_install(item) {
		//安装新版本
		console.log('安装新版本', item);
		plus.nativeUI.showWaiting('更新中...');
		var url = item.downUrl; //更新包地址
		// var url = "http://qlky.wisvalley.cn/file/apk/app.wgt"; //更新包地址
		let that = this;
		var dtask = plus.downloader.createDownload(url, {}, function(d, status) {
			plus.nativeUI.closeWaiting();
			if (status == 200) {
				uni.showToast({
					icon: 'none',
					title: '正在准备环境,请稍后!',
					duration: 2000
				});
				setTimeout(function() {
					var path = d.filename; //下载apk
					//plus.runtime.install()
					plus.runtime.install(
						path,
						{
							force: true
						},
						function() {
							var str = '更新成功,请手动重启';
							if (plus.os.name.toLowerCase() == 'ios') {
								str = '更新成功,将自动重启';
							}
							plus.nativeUI.alert(str, function() {
								if (plus.os.name.toLowerCase() == 'ios') {
									plus.runtime.restart();
								} else {
									plus.runtime.quit();
								}
							});
						},
						function(ttt) {
							plus.nativeUI.toast('更新失败', {
								verticalAlign: 'center'
							});
						}
					); // 自动安装apk文件
				}, 100);
			} else {
				plus.downloader.clear();
				plus.nativeUI.alert('资源包下载失败:' + status);
			}
		});
		dtask.start();
	},
		}
	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值