From 893ff90c6e21fa3a5241a8ae9b33836037cd5912 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期四, 29 八月 2024 15:19:17 +0800 Subject: [PATCH] 提交 --- App.vue | 221 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 154 insertions(+), 67 deletions(-) diff --git a/App.vue b/App.vue index ea88211..bb81cd6 100644 --- a/App.vue +++ b/App.vue @@ -1,74 +1,80 @@ <script> + import {getLastApp} from 'api/index.js'; + import VUE_APP_BASE_URL from 'common/constant.js' var jpushModule = uni.requireNativePlugin("JG-JPush") export default { + data() { + return { + version: '' + } + }, onLaunch: function() { - console.log('App Launch',jpushModule) - 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.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 + // }) + // }) @@ -105,11 +111,92 @@ }, 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, + }); + } + }, + }); + } + }, + }); + } } } @@ -123,7 +210,7 @@ @import '@/static/customicons.css'; // 设置整个项目的背景色 page { - background-color: #f5f5f5; + background-color: #f5f7fa; height: 100%; } -- Gitblit v1.9.2