From 82d6b98f5b6b88e223259547208ab59829ad723e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 01 十一月 2025 21:30:52 +0800
Subject: [PATCH] fix:增加旧系统状态同步到新系统,新系统状态同步到旧系统
---
app/App.vue | 52 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 49 insertions(+), 3 deletions(-)
diff --git a/app/App.vue b/app/App.vue
index 3610e7c..650a7fd 100644
--- a/app/App.vue
+++ b/app/App.vue
@@ -5,14 +5,54 @@
import { getUnreadCount } from '@/api/message'
export default {
+ data() {
+ return {
+ messagePollingTimer: null,
+ lastToken: null // 鐢ㄤ簬妫�娴� token 鍙樺寲
+ }
+ },
onLaunch: function() {
+ this.lastToken = getToken()
this.initApp()
+
+ // 鐩戝惉鐢ㄦ埛鐧诲嚭浜嬩欢
+ uni.$on('user-logout', () => {
+ console.log('鎺ユ敹鍒扮敤鎴风櫥鍑轰簨浠讹紝鍋滄娑堟伅杞')
+ this.stopMessagePolling()
+ this.lastToken = null
+ // 娓呴櫎娑堟伅寰芥爣
+ uni.removeTabBarBadge({ index: 3 })
+ })
},
onShow: function() {
- // 搴旂敤鏄剧ず鏃跺埛鏂版湭璇绘秷鎭暟閲�
- if (getToken()) {
- this.updateUnreadMessageBadge()
+ const currentToken = getToken()
+
+ // 妫�娴� token 鍙樺寲锛氫粠鏈夊埌鏃狅紙鐧诲嚭锛�
+ if (this.lastToken && !currentToken) {
+ console.log('妫�娴嬪埌鐢ㄦ埛宸茬櫥鍑猴紝鍋滄娑堟伅杞')
+ this.stopMessagePolling()
+ this.lastToken = currentToken
+ return
}
+
+ // 妫�娴� token 鍙樺寲锛氫粠鏃犲埌鏈夛紙鐧诲綍锛�
+ if (!this.lastToken && currentToken) {
+ console.log('妫�娴嬪埌鐢ㄦ埛宸茬櫥褰曪紝鍚姩娑堟伅杞')
+ this.lastToken = currentToken
+ }
+
+ // 搴旂敤鏄剧ず鏃跺埛鏂版湭璇绘秷鎭暟閲�
+ if (currentToken) {
+ this.updateUnreadMessageBadge()
+ // 閲嶆柊鍚姩杞锛堝鏋滀箣鍓嶅凡鍋滄锛�
+ if (!this.messagePollingTimer) {
+ this.startMessagePolling()
+ }
+ }
+ },
+ onHide: function() {
+ // 搴旂敤闅愯棌鏃跺仠姝㈣疆璇紝鑺傜渷璧勬簮
+ this.stopMessagePolling()
},
methods: {
// 鍒濆鍖栧簲鐢�
@@ -42,6 +82,12 @@
// 鏇存柊鏈娑堟伅寰芥爣
updateUnreadMessageBadge() {
+ // 妫�鏌ユ槸鍚﹀凡鐧诲綍锛屾湭鐧诲綍鍒欎笉璇锋眰
+ if (!getToken()) {
+ console.log('鐢ㄦ埛鏈櫥褰曪紝璺宠繃鑾峰彇鏈娑堟伅鏁伴噺')
+ return
+ }
+
getUnreadCount().then(response => {
const count = response.data || 0
console.log('鏈娑堟伅鏁伴噺:', count)
--
Gitblit v1.9.1