新增asyncMessageStatus接口以获取消息状态,并在消息处理逻辑中集成该接口以优化消息同步。调整ProfileCard组件的状态管理以支持快速回复功能。
This commit is contained in:
@@ -6,7 +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";
|
||||
import { dataProcessing, asyncMessageStatus } from "@/api/ai";
|
||||
// 消息处理器类型定义
|
||||
type MessageHandler = (message: WebSocketMessage) => void;
|
||||
|
||||
@@ -54,30 +54,36 @@ const messageHandlers: Record<string, MessageHandler> = {
|
||||
// 发送消息响应
|
||||
CmdSendMessageResp: (message: Messages) => {
|
||||
const { findMessageBySeq, updateMessage } = getWeChatStoreMethods();
|
||||
|
||||
const msg = findMessageBySeq(message.seq);
|
||||
if (msg) {
|
||||
updateMessage(message.seq, {
|
||||
sendStatus: 1,
|
||||
id: message.friendMessage?.id || message.chatroomMessage?.id,
|
||||
});
|
||||
}
|
||||
|
||||
//异步传新消息给数据库
|
||||
goAsyncServiceData(message);
|
||||
asyncMessageStatus({
|
||||
messageId: message.friendMessage?.id || message.chatroomMessage?.id,
|
||||
wechatFriendId: message.friendMessage?.wechatFriendId,
|
||||
wechatChatroomId: message.chatroomMessage?.wechatChatroomId,
|
||||
wechatAccountId:
|
||||
message.friendMessage?.wechatAccountId ||
|
||||
message.chatroomMessage?.wechatAccountId,
|
||||
}).then(res => {
|
||||
if (msg) {
|
||||
console.log("CmdSendMessageResp 发送消息响应", res);
|
||||
updateMessage(message.seq, {
|
||||
sendStatus: 0,
|
||||
id: message.friendMessage?.id || message.chatroomMessage?.id,
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
CmdSendMessageResult: message => {
|
||||
const { updateMessage } = getWeChatStoreMethods();
|
||||
updateMessage(message.friendMessageId || message.chatroomMessageId, {
|
||||
sendStatus: 0,
|
||||
});
|
||||
// 最终消息同步处理
|
||||
console.log("CmdSendMessageResult 发送消息结果", message);
|
||||
dataProcessing({
|
||||
chatroomMessageId: message.chatroomMessageId,
|
||||
friendMessageId: message.friendMessageId,
|
||||
sendStatus: message.sendStatus,
|
||||
type: "CmdSendMessageResult",
|
||||
wechatAccountId: 1,
|
||||
wechatTime: message.wechatTime,
|
||||
wechatTime: message?.wechatTime,
|
||||
});
|
||||
},
|
||||
// 接收消息响应
|
||||
|
||||
Reference in New Issue
Block a user