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 | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 201 insertions(+), 16 deletions(-) diff --git a/App.vue b/App.vue index 5e8094b..a7e293c 100644 --- a/App.vue +++ b/App.vue @@ -1,23 +1,207 @@ <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() { + + 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.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"> @@ -29,6 +213,7 @@ // 设置整个项目的背景色 page { background-color: #f5f5f5; + height: 100%; } /* #endif */ -- Gitblit v1.9.2