diff --git a/Touchkebao/src/api/ai.ts b/Touchkebao/src/api/ai.ts index 6dca8751..196a6cf4 100644 --- a/Touchkebao/src/api/ai.ts +++ b/Touchkebao/src/api/ai.ts @@ -18,11 +18,11 @@ export interface DataProcessingParams { /** * 群消息 */ - chatroomMessage?: string[]; + chatroomMessage?: any[]; /** * 个人信息 */ - friendMessage?: string[]; + friendMessage?: any[]; /** * 类型固定值 */ @@ -30,7 +30,7 @@ export interface DataProcessingParams { /** * 公共 */ - wechatAccountId?: string; + wechatAccountId?: number; [property: string]: any; } diff --git a/Touchkebao/src/store/module/websocket/msgManage.ts b/Touchkebao/src/store/module/websocket/msgManage.ts index a2f31d98..f103f9e1 100644 --- a/Touchkebao/src/store/module/websocket/msgManage.ts +++ b/Touchkebao/src/store/module/websocket/msgManage.ts @@ -6,6 +6,7 @@ import { Messages } from "./msg.data"; import { db } from "@/utils/db"; import { Modal } from "antd"; import { useCustomerStore, updateCustomerList } from "../weChat/customer"; +import { dataProcessing } from "@/api/ai"; // 消息处理器类型定义 type MessageHandler = (message: WebSocketMessage) => void; @@ -51,8 +52,9 @@ const messageHandlers: Record = { updateCustomerList(updatedCustomerList); }, // 发送消息响应 - CmdSendMessageResp: message => { + CmdSendMessageResp: (message: Messages) => { const { findMessageBySeq, updateMessage } = getWeChatStoreMethods(); + const msg = findMessageBySeq(message.seq); if (msg) { updateMessage(message.seq, { @@ -60,6 +62,8 @@ const messageHandlers: Record = { id: message.friendMessage?.id || message.chatroomMessage?.id, }); } + //异步传新消息给数据库 + goAsyncServiceData(message); }, CmdSendMessageResult: message => { const { updateMessage } = getWeChatStoreMethods(); @@ -78,7 +82,8 @@ const messageHandlers: Record = { // 处理消息本身 const { receivedMsg } = getWeChatStoreMethods(); receivedMsg(message.friendMessage || message.chatroomMessage); - + //异步传新消息给数据库 + goAsyncServiceData(message); // 触发会话列表更新事件 const msgData = message.friendMessage || message.chatroomMessage; if (msgData) { @@ -197,6 +202,21 @@ const messageHandlers: Record = { // 可以继续添加更多处理器... }; +//消息异步同步 +const goAsyncServiceData = (message: Messages) => { + const chatroomMessages = message.chatroomMessage + ? [message.chatroomMessage] + : null; + const friendMessages = message.friendMessage ? [message.friendMessage] : null; + dataProcessing({ + chatroomMessage: chatroomMessages, + friendMessage: friendMessages, + type: "CmdNewMessage", + wechatAccountId: + message.friendMessage?.wechatAccountId || + message.chatroomMessage?.wechatAccountId, + }); +}; // 默认处理器 const defaultHandler: MessageHandler = message => {