diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/main.ts b/Touchkebao/src/pages/pc/ckbox/weChat/main.ts index 61b2bfaa3..3a017b35d 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/main.ts +++ b/Touchkebao/src/pages/pc/ckbox/weChat/main.ts @@ -103,7 +103,7 @@ export const chatInitAPIdata = async () => { //发起soket连接 export const initSocket = () => { // 检查WebSocket是否已经连接 - const { status } = useWebSocketStore.getState(); + // const { status } = useWebSocketStore.getState(); // 如果已经连接或正在连接,则不重复连接 // if (["connected", "connecting"].includes(status)) { diff --git a/Touchkebao/src/store/module/websocket/msgManage.ts b/Touchkebao/src/store/module/websocket/msgManage.ts index 054f7f7d9..49f466c72 100644 --- a/Touchkebao/src/store/module/websocket/msgManage.ts +++ b/Touchkebao/src/store/module/websocket/msgManage.ts @@ -1,9 +1,10 @@ //消息管理器 -import { deepCopy } from "@/utils/common"; -import { WebSocketMessage } from "./websocket"; import { getkfUserList, asyncKfUserList } from "@/store/module/ckchat/ckchat"; -import { Messages } from "./msg.data"; import { useWeChatStore } from "../weChat/weChat"; +import { WebSocketMessage } from "./websocket"; +import { deepCopy } from "@/utils/common"; +import { Messages } from "./msg.data"; +import { db } from "@/utils/db"; // 消息处理器类型定义 type MessageHandler = (message: WebSocketMessage) => void; const addMessage = useWeChatStore.getState().addMessage; @@ -65,16 +66,6 @@ const messageHandlers: Record = { // 在这里添加具体的处理逻辑 }, - // 通知消息 - CmdNotify: message => { - console.log("通知消息", message); - // 在这里添加具体的处理逻辑 - if (message.notify == "Kicked out") { - // 被踢出时直接跳转到登录页面 - window.location.href = "/login"; - } - }, - CmdDownloadVideoResult: message => { // 在这里添加具体的处理逻辑 console.log("视频下载结果:", message); @@ -82,11 +73,25 @@ const messageHandlers: Record = { }, CmdFetchMomentResult: message => { - console.log("朋友圈数据结果", message); addMomentCommon(message.result); updateMomentCommonLoading(false); }, + CmdNotify: async (message: WebSocketMessage) => { + console.log("通知消息", message); + // 在这里添加具体的处理逻辑 + if (message.notify == "Auth failed") { + // 被踢出时删除所有缓存数据 + localStorage.clear(); + // 删除 + await db.kfUsers.clear(); + await db.weChatGroup.clear(); + await db.contracts.clear(); + await db.newContractList.clear(); + window.location.href = "/login"; + } + }, + // 可以继续添加更多处理器... };