更新数据处理参数类型,调整消息处理逻辑以支持异步数据库同步,确保消息发送时正确传递群聊和个人信息。
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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 => {
|
||||
|
||||
Reference in New Issue
Block a user