From f591c27b57e2418c9495bc02ae8cfff84d35bc18 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 16 七月 2024 16:27:56 +0800
Subject: [PATCH] init

---
 App.vue |  217 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 200 insertions(+), 17 deletions(-)

diff --git a/App.vue b/App.vue
index 5e8094b..bb81cd6 100644
--- a/App.vue
+++ b/App.vue
@@ -1,23 +1,205 @@
 <script>
+	import {getLastApp} from 'api/index.js';
+	import VUE_APP_BASE_URL from 'common/constant.js'
+	
+var jpushModule = uni.requireNativePlugin("JG-JPush")
 	export default {
-		onLaunch: function() {
-			console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
-			console.log('App Launch')
-			// uni.hideTabBar({});
-			// uni.clearStorageSync();
-			// uni.clearStorage();
+		data() {
+			return {
+				version: ''
+			}
 		},
-		onShow: function() {
-			console.log('App Show')
-			// uni.hideTabBar();
-			// uni.clearStorageSync();
-			// uni.clearStorage();
-		},
-		onHide: function() {
-			// uni.clearStorageSync();
-			console.log('App Hide')
+			onLaunch: function() {
+				// jpushModule.initJPushService();
+				// jpushModule.setLoggerEnable(true);
+				// jpushModule.addConnectEventListener(result=>{
+				// 	let connectEnable = result.connectEnable
+				// 	uni.$emit('connectStatusChange',connectEnable)
+				// });
+				// //消息回调——点击通知栏消息 跳转指定页面
+				// jpushModule.addNotificationListener(result=>{
+				// 	if (result.notificationEventType == "notificationOpened") {
+				// 		//判断是否登录
+				// 		if (uni.getStorageSync('tk')) {
+				// 			//工作通知——工作人员工作通知页
+				// 			if (result.title.includes('工作通知')){
+				// 				uni.switchTab({
+				// 					url: '/pages/tabBar/notice/notice',
+				// 				})
+				// 			//信息审核——领导审核页
+				// 			}else if(result.title == '您有新的信息需要审批'){
+				// 				uni.switchTab({
+				// 					url: '/pages/tabBar/examine/examine',
+				// 				})
+				// 			//审核结果——首页(后续加pc端信息发布页)
+				// 			}else if(result.title.includes('信息审核')){
+				// 				uni.switchTab({
+				// 					url: '/pages/tabBar/information/information',
+				// 				})
+				// 			}
+				// 		}else {
+				// 			console.log("未登录")
+				// 			//未登录跳转首页
+				// 			uni.navigateTo({
+				// 				url: '/pages/index/index',
+				// 				complete(res) {
+				// 					console.log(res);
+				// 				}
+				// 			})
+				// 			uni.showToast({
+				// 				icon: 'none',
+				// 				title: '请先登录',
+				// 				duration: 3000
+				// 			})
+				// 		}
+				// 	}
+				// });
+				// jpushModule.addCustomMessageListener(result=>{
+				// 	let type = result.type
+				// 	let messageType = result.messageType
+				// 	let content = result.content
+				// 	uni.showToast({
+				// 		icon: 'none',
+				// 		title: JSON.stringify(result),
+				// 		duration: 3000
+				// 	})
+				// });
+				// jpushModule.addLocalNotificationListener(result=>{
+				// 	let messageID = result.messageID
+				// 	let title = result.title
+				// 	let content = result.content
+				// 	let extras = result.extras
+				// 	uni.showToast({
+				// 		icon: 'none',
+				// 		title: JSON.stringify(result),
+				// 		duration: 3000
+				// 	})
+				// })
+				
+				
+				
+				
+				// jpushModule.addGeofenceListener(result => {
+				// 	let code = result.code
+				// 	let type = result.type
+				// 	let geofenceId = result.geofenceId
+				// 	let userInfo = result.userInfo
+				// 	uni.showToast({
+				// 		icon: 'none',
+				// 		title: '触发地理围栏',
+				// 		duration: 3000
+				// 	})
+				// })
+		// 		jpushModule.setIsAllowedInMessagePop(true)
+		// 		jpushModule.pullInMessage(result => {
+		// 			let code = result.code
+		// 			console.log(code)
+		// 		})
+
+		// 		jpushModule.addInMessageListener(result => {
+		// 			let eventType = result.eventType
+		// 			let messageType = result.messageType
+		// 			let content = result.content
+		// 			console.log('inMessageListener', eventType, messageType, content)
+
+		// 			uni.showToast({
+		// 				icon: 'none',
+		// 				title: JSON.stringify(result),
+		// 				duration: 3000
+		// 			})
+		// 		})
+
+			},
+			onShow: function() {
+				// plus.runtime.getProperty(plus.runtime.appid, wgtinfo => {
+				// 	 this.version = wgtinfo.version;
+				// 	 if(this.version){
+				// 		 this.getMaxVersion();
+				// 	 }
+				//  	})
+
+				console.log('App Show')
+
+				
+			},
+			onHide: function() {
+				// jpushModule.initJPushService();
+				console.log('App Hide')
+			},
+			methods: {
+				// 获取最新版本
+				getMaxVersion() {
+				  uni.getSystemInfo({
+				    success: (res) => {
+					  getLastApp().then(res => {
+						  if (res.code === 100) {
+							  console.log(res,'res');
+							  this.updateVersion(res.data);
+						  }
+					  })
+				    },
+				  });
+				},
+				
+				// 版本对比
+				updateVersion(data) {
+				  const lastVersion = data.version; //最新版本
+				  const curVersion = this.version; // 当前版本
+				  console.log("lastVersion",lastVersion)
+				  console.log("curVersion",curVersion)
+				  if (curVersion && lastVersion) {
+					  const curNum =  parseInt(curVersion.replace(/[,|.]/g, ''))
+					  const lastNum =  parseInt(lastVersion.replace(/[,|.]/g, ''))
+					 
+				    if (lastNum > curNum) {
+				      this.showFly(data.attachmentInfo.fileUrl,lastVersion);
+					  
+				    }
+				  }
+				},
+					// 版本下载 升级
+				showFly(url,lastVersion) {
+					console.log("url",url)
+				  uni.showModal({
+				    title: "更新提示",
+				    content: `发现新版本${lastVersion},立即升级!`,
+				    showCancel: false, // 如果是强制更新就不显示取消按钮
+				    success: (e) => {
+				      if (e.confirm) {
+				        uni.showLoading({
+				          title: "更新中……",
+				        });
+				        const downloadTask = uni.downloadFile({
+				          url: VUE_APP_BASE_URL + url, // 这个是最新版本apk包的地址
+				          success: (res) => {
+				            uni.hideLoading();
+				            if (res.statusCode === 200) {
+								console.log("url",VUE_APP_BASE_URL + url)
+				              plus.runtime.install(res.tempFilePath, { force: true }, _res => {
+				                  uni.showToast({
+				                    title: "更新成功,重启中",
+				                    duration: 1600,
+				                  });
+				                  plus.runtime.restart();
+				                  uni.hideToast();
+				                }
+				              );
+				            } else {
+				              uni.showToast({
+				                title: "下载失败!",
+				                icon: "none",
+				                duration: 800,
+				              });
+				            }
+				          },
+				        });
+				      }
+				    },
+				  });
+				}
+			}
 		}
-	}
+
 </script>
 
 <style lang="scss">
@@ -28,7 +210,8 @@
 	@import '@/static/customicons.css';
 	// 设置整个项目的背景色
 	page {
-		background-color: #f5f5f5;
+		background-color: #f5f7fa;
+		height: 100%;
 	}
 
 	/* #endif */

--
Gitblit v1.9.2