app uni 三级联动地址_UNI-APP 检查更新及实现更新方法

1,打开项目中app.vue文件,在 onLaunch 生命周期内添加如下方法:

版本号uni.request({
				url: callback.url, // 请求地址
				data: {
					version: callback.version,  // 传入参数,版本号
				},
				success: (result) => {
					if (result.data.success && result.data.data.url) {  
						ret.isUpdate = true;
						//	全量更新
						if (result.data.data.updateType === '0') {
                            console.log("全量更新");
							uni.showModal({ //提醒用户更新  
								title: "全量更新",  
								content: `更新提醒:最新版本号${result.data.data.version}`,  
								success: (res) => { 
									if (res.confirm) {
                                        console.log("用户点击了确定全量更新");
										ret.UpdateOfApk(result)
									} else {
										console.log("用户点击了取消全量更新");
									}  
								}  
							})  
						} else if (result.data.data.updateType === '1') {
                            console.log("增量更新");
							ret.isUpdate = true;
                            if(result.data.data.force) {
                                console.log("本次增量更新为强制更新");
                                ret.UpdateOfWgt(result)
                            } else {
                                uni.showModal({ //提醒用户更新
                                	title: "增量更新",  
                                	content: `更新提醒:最新版本号${result.data.data.version}`,  
                                	success: (res) => { 
                                		if (res.confirm) {
                                            console.log("用户点击了确定增量更新");
                                			ret.UpdateOfWgt(result)
                                		} else {
                                			// uni.$emit("noUpdate", {})
                                            console.log("用户点击了取消增量更新");
                                		}  
                                	}  
                                })  
                            }
						} else {
							// ret.isUpdate = false;
                            console.log("更新类型不是 '0' 或 '1'");
						}
					} 
				},
				fail: (error) => {
					console.log("请求失败:", error);
				}
			})

2,更新方法

2.1,UpdateOfApk

 UpdateOfApk(result) {
            const downloadTask = uni.downloadFile({
            	url: result.data.data.url,  
            	success: (downloadResult) => { 
            		if (downloadResult.statusCode === 200) { 
                        console.log('安装包下载成功,即将安装:' + JSON.stringify(downloadResult,null,4));
            			plus.runtime.openFile( downloadResult.tempFilePath );
            		}  
            	}
            });
            downloadTask.onProgressUpdate((res) => {
            	uni.$emit("progress", res)
                // console.log('下载进度' + progress);
                // console.log('已经下载的数据长度' + res.totalBytesWritten);
                // console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
            });
            uni.$on("cancelUpdate", ()=> {
            	console.log("用户点击了取消下载");
            	downloadTask.abort();
            })
        }

2.2,UpdateOfWgt

UpdateOfWgt(result) {
            uni.downloadFile({
            	url: result.data.data.url,  
            	success: (downloadResult) => { 
            		if (downloadResult.statusCode === 200) {  
                        console.log("增量更新包下载成功,即将安装: " + JSON.stringify(downloadResult, null, 4));
            			plus.runtime.install(downloadResult.tempFilePath, {  
            				force: false  
            			}, function() {
            				console.log("增量更新成功,将重启app");
            				plus.runtime.restart();  
            			}, function(e) {
            				console.error('增量更新安装失败:' + JSON.stringify(e));  
            			});  
            		}  
            	}  
            });
        },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值