更新数据处理参数类型,调整消息处理逻辑以支持异步数据库同步,确保消息发送时正确传递群聊和个人信息。

This commit is contained in:
超级老白兔
2025-11-27 16:06:40 +08:00
parent a5cc4e5e18
commit ed4d305165
2 changed files with 25 additions and 5 deletions

View File

@@ -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;
}

View File

@@ -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<string, MessageHandler> = {
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<string, MessageHandler> = {
id: message.friendMessage?.id || message.chatroomMessage?.id,
});
}
//异步传新消息给数据库
goAsyncServiceData(message);
},
CmdSendMessageResult: message => {
const { updateMessage } = getWeChatStoreMethods();
@@ -78,7 +82,8 @@ const messageHandlers: Record<string, MessageHandler> = {
// 处理消息本身
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<string, MessageHandler> = {
// 可以继续添加更多处理器...
};
//消息异步同步
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 => {