app热更新和强制更新(uniapp)

5 篇文章 2 订阅

在uniapp中热更新与强制更新

	// app升级
			uni.request({
			//检查更新的后台接口,此处为简单判断版本号是否需要更新
				url: 'xxxxxxxxxx',
				data: {
				//app类型,安卓为1,苹果为2
					appType: '1'
				},
				method: 'GET',
				success:(res) => {
					console.log(res.data.data.versionNo)
					// 版本对比
					plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
						if (widgetInfo.version < res.data.data.versionNo) {
						
						// 状态判断  强制更新
							if (res.data.data.upgradeType == '2') {
								uni.showModal({
									title: '更新提示',
									content: '修复重大bug并新增全新功能!',
									showCancel: false,
									success: (e) => {
										if (e.confirm) {
											var wgtUrl =
												"xxxxxxx/app/TjBdPlaneApp_"+res.data.data.versionNo+".apk"; //下载文件地址(也可以从后台获取)
											uni.showLoading({
											    title: '正在更新中,请稍后..'
											});
											plus.runtime.openURL(wgtUrl);
											uni.hideLoading();
											plus.runtime.restart();
										}
									},
								})
							} else {
								// 热更新  wgt文件
								uni.showModal({
									title: '更新提示',
									content: '优化用户体验并新增全新功能!!!',
									success: (e) => {
										if (e.confirm) {
											
											var wgtUrl =
												"hxxxxxxxxxx/app/TjBdPlaneApp_"+res.data.data.versionNo+".wgt"; //下载文件地址(也可以从后台获取)
											uni.showLoading({
											    title: '正在更新中,请稍后..'
											});
											console.log(wgtUrl)
											uni.downloadFile({
												url: wgtUrl,
												success: (downloadResult) => {
													console.log(downloadResult)
													if (downloadResult.statusCode ===200) {
														plus.runtime.install(downloadResult.tempFilePath, {
																force: false
															},
															function() {
																console.log(
																	'install success...'
																	);
																plus.runtime.restart();
															},
															function(e) {
																console.error(
																	'install fail...'+e.message
																	);
															});
													}
												}
											});
											uni.hideLoading();
										}
									},
								})
							}
						}
					})
					
				},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值