diff --git a/Touchkebao/src/api/ai.ts b/Touchkebao/src/api/ai.ts index 196a6cf4..b73cfa45 100644 --- a/Touchkebao/src/api/ai.ts +++ b/Touchkebao/src/api/ai.ts @@ -2,6 +2,15 @@ import axios from "axios"; import { useUserStore } from "@/store/module/user"; import { request } from "@/api/request"; +export function asyncMessageStatus(params: { + messageId: number; + wechatFriendId?: number; + wechatChatroomId?: number; + wechatAccountId: number; +}) { + return request("/v1/kefu/message/getMessageStatus", params, "GET"); +} + //ai对话接口 export interface AiChatParams { friendId: number; diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/ProfileCard/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/ProfileCard/index.tsx index df066762..871c95f6 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/ProfileCard/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/ProfileCard/index.tsx @@ -16,7 +16,7 @@ interface PersonProps { } const Person: React.FC = ({ contract }) => { - const [activeKey, setActiveKey] = useState("profile"); + const [activeKey, setActiveKey] = useState("quickwords"); const isGroup = "chatroomId" in contract; // 使用state保存当前contract的副本,确保在切换tab时不会丢失修改 const [currentContract, setCurrentContract] = useState< @@ -52,8 +52,8 @@ const Person: React.FC = ({ contract }) => { }, [currentContract, isGroup]); useEffect(() => { - setActiveKey("profile"); - setRenderedKeys(["profile"]); + setActiveKey("quickwords"); + setRenderedKeys(["quickwords"]); }, [contract]); const tabHeaderItems = useMemo( diff --git a/Touchkebao/src/store/module/websocket/msgManage.ts b/Touchkebao/src/store/module/websocket/msgManage.ts index a7b11732..476efbf2 100644 --- a/Touchkebao/src/store/module/websocket/msgManage.ts +++ b/Touchkebao/src/store/module/websocket/msgManage.ts @@ -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 = { // 发送消息响应 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, }); }, // 接收消息响应