新增asyncMessageStatus接口以获取消息状态,并在消息处理逻辑中集成该接口以优化消息同步。调整ProfileCard组件的状态管理以支持快速回复功能。

This commit is contained in:
2025-12-06 17:10:57 +08:00
parent 903ea005e3
commit 1be091522e
3 changed files with 32 additions and 17 deletions

View File

@@ -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,
});
},
// 接收消息响应