From dbccfc04eb5a927d690bb75277f614e63d4544c9 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 21 Jan 2026 15:54:13 +0800
Subject: [PATCH] 适配64位
---
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