uniapp 自动更新版本并安装

首先 我们在app打包的时候回去设置版本号,用来了解当前版本具体更新了哪些功能;所以在app更新的时候,首先去获取我们的版本号;

App.vue

复制代码
onLaunch: function() {
    console.info(plus.runtime.appid,'plus.runtime.appid')
	plus.runtime.getProperty(plus.runtime.appid,(wgtinfo)=>{
	  console.info(wgtinfo,'获取版本号')
		uni.setStorage({
			key: 'wgtinfoVersionCode',
			data: wgtinfo.version
		})
	})
}

获取版本号后并且保存在了本地存储中;

然后在项目的首页中进行版本号对比 看是否需要更新;

javascript 复制代码
getupdata(){
				let code =(uni.getStorageSync('wgtinfoVersionCode'));
				let userinfor =uni.getStorageSync('USER_ENV');
				let codearr = userinfor.appver.split(',');
				let newcode = (codearr[0]) 
				// return false;
				if ( newcode != code) { // 如果最新版本大于现在已经安装的App的版本
					uni.showModal({
							title: "更新提示",
							content: "发现新版本,请确认下载更新?",
							success: (res) => {
									if (res.confirm) {
											// uni.showLoading({
											// 		title: '更新中...'
											// });
											uni.downloadFile({
													url: codearr[1],
													success: (downloadResult) => {
															// uni.hideLoading(); 
															if (downloadResult.statusCode === 200) {
																	plus.runtime.install(downloadResult.tempFilePath, {
																			force: true
																	}, function() {
																			// console.log('App安装成功!');
																			// uni.showToast('App安装成功!', 'success');
																			plus.runtime.restart();
																	}, function(e) {
																			console.log('App安装失败!');
																	})
															}
													}
											});
									}
							}
					})
				}
			
			},

其中:

let userinfor =uni.getStorageSync('USER_ENV');

let codearr = userinfor.appver.split(',');

let newcode = (codearr0)

这个数据是我项目中的用户基本信息 我是放在本地存储中的;里面有目前这个项目的版本号;通过之前的版本号(就是存在用户基本信息中的)和在App.vue中拿到的现在项目的版本号对比;去更新;

相关推荐
码间留白3 天前
六轮真机实验后,我把鸿蒙直播推流的 UI 全逼成了原生——uni-app 适配 HarmonyOS NEXT 完整复盘
uni-app·鸿蒙·harmonyos next·直播推流·arkts/arkui
wuxianda10304 天前
2026 苹果审核 4.3 (a) 被拒全解析|Guideline 4.3a spam 马甲包拒审原因 + 避坑方案
flutter·uni-app·苹果上架
头发还在的女程序员6 天前
基于 Spring Boot + Vue 3 + uni-app 的灵活用工系统:四端架构与业务流程设计
vue.js·spring boot·uni-app·灵活用工·灵工系统
Dumbness8 天前
订阅消息弹窗必须在用户点击里调:联调实验室里 timing 和 Mock 支付通知踩的坑
javascript·uni-app
码间留白9 天前
uni-app 鸿蒙离线打包:一个改动从源码到真机要穿过几条链
uni-app·鸿蒙·deveco·离线打包·uts插件
多客:duokelijie9 天前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
码间留白10 天前
鸿蒙端对接 BLE 血压计:从一次握手到读数入库(二)设备篇
物联网·uni-app·鸿蒙·蓝牙ble·血压计
华玥作者11 天前
Vue 3 + TypeScript + uni-app 组件库推荐:hy-app(华玥组件库)
vue.js·typescript·uni-app
FinelyYang11 天前
uniapp使用kkfileview在线预览ppt,excel,word,pdf类型文件
pdf·uni-app·powerpoint
2501_9160088911 天前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview