diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/MessageRecord.module.scss b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/com.module.scss similarity index 100% rename from Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/MessageRecord.module.scss rename to Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/com.module.scss diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx index 8cbd6c82..ae4a706e 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/ChatWindow/components/MessageRecord/index.tsx @@ -10,8 +10,9 @@ import SystemRecommendRemarkMessage from "./components/SystemRecommendRemarkMess import { ChatRecord, ContractData, weChatGroup } from "@/pages/pc/ckbox/data"; import { formatWechatTime } from "@/utils/common"; import { getEmojiPath } from "@/components/EmojiSeclection/wechatEmoji"; -import styles from "./MessageRecord.module.scss"; +import styles from "./com.module.scss"; import { useWeChatStore } from "@/store/module/weChat/weChat"; +import { useContactStore } from "@/store/module/weChat/contacts"; import { useCkChatStore } from "@/store/module/ckchat/ckchat"; import { fetchReCallApi } from "./api"; import TransmitModal from "./components/TransmitModal"; @@ -52,9 +53,7 @@ const MessageRecord: React.FC = ({ contract }) => { state => state.updateSelectedChatRecords, ); - const updateTransmitModal = useWeChatStore( - state => state.updateTransmitModal, - ); + const setTransmitModal = useContactStore(state => state.setTransmitModal); const currentContract = useWeChatStore(state => state.currentContract); const updateQuoteMessageContent = useWeChatStore( @@ -682,7 +681,7 @@ const MessageRecord: React.FC = ({ contract }) => { const handleForwardMessage = (messageData: ChatRecord) => { updateSelectedChatRecords([messageData]); - updateTransmitModal(true); + setTransmitModal(true); }; const handRecall = messageData => { diff --git a/Touchkebao/src/pages/pc/ckbox/weChat/components/SidebarMenu/MessageList/index.tsx b/Touchkebao/src/pages/pc/ckbox/weChat/components/SidebarMenu/MessageList/index.tsx index 11190671..7df16161 100644 --- a/Touchkebao/src/pages/pc/ckbox/weChat/components/SidebarMenu/MessageList/index.tsx +++ b/Touchkebao/src/pages/pc/ckbox/weChat/components/SidebarMenu/MessageList/index.tsx @@ -19,6 +19,7 @@ import { formatWechatTime } from "@/utils/common"; import { MessageManager } from "@/utils/dbAction/message"; import { ChatSession } from "@/utils/db"; import { useUserStore } from "@/store/module/user"; +import { messageFilter } from "@/utils/filter"; interface MessageListProps {} @@ -632,7 +633,7 @@ const MessageList: React.FC = () => {
- {session.content} + {messageFilter(session.content)}
diff --git a/Touchkebao/src/store/module/ckchat/ckchat.ts b/Touchkebao/src/store/module/ckchat/ckchat.ts index 558b1c8e..44507597 100644 --- a/Touchkebao/src/store/module/ckchat/ckchat.ts +++ b/Touchkebao/src/store/module/ckchat/ckchat.ts @@ -26,7 +26,6 @@ export const useCkChatStore = createPersistStore( return useCkChatStore.getState().isLoadWeChat; }, updateIsLoadWeChat: (isLoadWeChat: boolean) => { - console.log("updateIsLoadWeChat", isLoadWeChat); set({ isLoadWeChat }); }, //客服列表 diff --git a/Touchkebao/src/store/module/weChat/weChat.ts b/Touchkebao/src/store/module/weChat/weChat.ts index 27a2348e..46da6e54 100644 --- a/Touchkebao/src/store/module/weChat/weChat.ts +++ b/Touchkebao/src/store/module/weChat/weChat.ts @@ -313,23 +313,23 @@ export const useWeChatStore = create()( } else { params.friendMessage = [message]; } - const dataProcessingResult = await dataProcessing(params); - //如果成功,就请求ai对话接口 - set(() => ({ - isLoadingAiChat: true, - })); - if (!dataProcessingResult) { - const messageContent = await aiChat({ - friendId: getMessageId, - wechatAccountId: currentContract.wechatAccountId, - message: message, - }); + // const dataProcessingResult = await dataProcessing(params); + // //如果成功,就请求ai对话接口 + // set(() => ({ + // isLoadingAiChat: true, + // })); + // if (!dataProcessingResult) { + // const messageContent = await aiChat({ + // friendId: getMessageId, + // wechatAccountId: currentContract.wechatAccountId, + // message: message, + // }); - set(() => ({ - quoteMessageContent: messageContent, - isLoadingAiChat: false, - })); - } + // set(() => ({ + // quoteMessageContent: messageContent, + // isLoadingAiChat: false, + // })); + // } } else { // 更新其他聊天的未读消息数 const chatSessions = useCkChatStore.getState().chatSessions; diff --git a/Touchkebao/src/store/module/websocket/msgManage.ts b/Touchkebao/src/store/module/websocket/msgManage.ts index 64559e53..0b071cb4 100644 --- a/Touchkebao/src/store/module/websocket/msgManage.ts +++ b/Touchkebao/src/store/module/websocket/msgManage.ts @@ -123,7 +123,7 @@ const messageHandlers: Record = { await db.kfUsers.clear(); await db.weChatGroup.clear(); await db.contracts.clear(); - await db.newContractList.clear(); + await db.newContactList.clear(); } finally { (window as any).__CKB_AUTH_FAILED_SHOWN__ = false; window.location.href = "/login"; diff --git a/Touchkebao/src/utils/filter.ts b/Touchkebao/src/utils/filter.ts index eb812862..3c0bbd26 100644 --- a/Touchkebao/src/utils/filter.ts +++ b/Touchkebao/src/utils/filter.ts @@ -1 +1,51 @@ //消息过滤器 +export const messageFilter = (message: string) => { + if (!message) return ""; + + try { + // 尝试解析为 JSON + const parsed = JSON.parse(message); + + // 根据消息类型返回对应的显示文本 + switch (true) { + // 图片消息:包含 previewImage 或 tencentUrl + case !!(parsed.previewImage || parsed.tencentUrl): + return "[图片]"; + + // 语音消息:包含 voiceUrl 或 voice + case !!(parsed.voiceUrl || parsed.voice): + return "[语音]"; + + // 视频消息:包含 videoUrl 或 video + case !!(parsed.videoUrl || parsed.video): + return "[视频]"; + + // 文件消息:包含 fileUrl 或 file + case !!(parsed.fileUrl || parsed.file): + return "[文件]"; + + // 表情消息:包含 emoji 或 emojiUrl + case !!(parsed.emoji || parsed.emojiUrl): + return "[表情]"; + + // 位置消息:包含 latitude 和 longitude + case !!(parsed.latitude && parsed.longitude): + return "[位置]"; + + // 链接消息:包含 linkUrl + case !!parsed.linkUrl: + return "[链接]"; + + // 文本消息:包含 text 或 content + case !!(parsed.text || parsed.content): + return parsed.text || parsed.content; + + // 其他未知 JSON 格式 + default: + return message; + } + } catch (error) { + // 如果不是 JSON 格式,直接返回原始消息 + return message; + } +};