From 707fe99b35c8e090f839d247bea1ad3db06334e8 Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 27 三月 2024 15:06:15 +0800 Subject: [PATCH] 更改地址 --- App.vue | 222 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 156 insertions(+), 66 deletions(-) diff --git a/App.vue b/App.vue index 5855e03..a7e293c 100644 --- a/App.vue +++ b/App.vue @@ -1,74 +1,82 @@ <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 - // }) - // }) + + 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 + }) + }) @@ -105,11 +113,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, + }); + } + }, + }); + } + }, + }); + } } } @@ -124,6 +213,7 @@ // 设置整个项目的背景色 page { background-color: #f5f5f5; + height: 100%; } /* #endif */ -- Gitblit v1.9.2