From 5fb15592fffad10492cdd1f1f74ecc03342b0975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E8=80=81=E7=99=BD=E5=85=94?= Date: Wed, 29 Oct 2025 14:50:55 +0800 Subject: [PATCH] Refactor MessageEnter component to handle AI-assisted and AI takeover scenarios. Update weChat store to support multiple AI types for message processing. Remove unnecessary console log in message response handler for cleaner output. --- .../components/MessageEnter/index.tsx | 26 +++++++++++++++++-- Touchkebao/src/store/module/weChat/weChat.ts | 2 +- .../src/store/module/websocket/msgManage.ts | 1 - 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx index b6733e5c..fab9dcaf 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageEnter/index.tsx @@ -52,9 +52,29 @@ const MessageEnter: React.FC = ({ contract }) => { const updateQuoteMessageContent = useWeChatStore( state => state.updateQuoteMessageContent, ); + // 获取接待类型:0=人工接待, 1=AI辅助, 2=AI接管 + const aiQuoteMessageContent = useWeChatStore( + state => state.aiQuoteMessageContent, + ); + + // 判断接待类型 + const isAiAssist = aiQuoteMessageContent === 1; // AI辅助 + const isAiTakeover = aiQuoteMessageContent === 2; // AI接管 + useEffect(() => { if (quoteMessageContent) { - setInputValue(quoteMessageContent); + console.log("aiQuoteMessageContent", aiQuoteMessageContent); + + if (isAiAssist) { + setInputValue(quoteMessageContent); + } + + if (isAiTakeover) { + setInputValue(quoteMessageContent); + setTimeout(() => { + handleSend(); + }); + } } }, [quoteMessageContent]); @@ -68,7 +88,9 @@ const MessageEnter: React.FC = ({ contract }) => { }; const handleSend = async () => { - if (!inputValue.trim()) return; + if (!inputValue) return; + console.log("handleSend", inputValue); + console.log(!inputValue.trim()); const messageId = +Date.now(); // 构造本地消息对象 const localMessage: ChatRecord = { diff --git a/Touchkebao/src/store/module/weChat/weChat.ts b/Touchkebao/src/store/module/weChat/weChat.ts index 935e0163..c5804895 100644 --- a/Touchkebao/src/store/module/weChat/weChat.ts +++ b/Touchkebao/src/store/module/weChat/weChat.ts @@ -300,7 +300,7 @@ export const useWeChatStore = create()( // 只有文字消息才触发AI(msgType === 1) if ( message.msgType === 1 && - (currentContract as any).aiType === 1 + [1, 2].includes((currentContract as any).aiType || 0) ) { //把数据传到存客宝 const params: any = { diff --git a/Touchkebao/src/store/module/websocket/msgManage.ts b/Touchkebao/src/store/module/websocket/msgManage.ts index 4148f5dc..bbb1e4e1 100644 --- a/Touchkebao/src/store/module/websocket/msgManage.ts +++ b/Touchkebao/src/store/module/websocket/msgManage.ts @@ -44,7 +44,6 @@ const messageHandlers: Record = { }, // 发送消息响应 CmdSendMessageResp: message => { - console.log("CmdSendMessageResp", message); const msg = findMessageBySeq(message.seq); if (msg) { updateMessage(message.seq, {