From a3a57847ecf9981863372b4ed8ab0bbf919703b5 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Wed, 31 Jan 2024 10:06:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=9A=84=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8;=20=E6=9B=B4=E6=96=B0=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/stores/Conversations/ConversationContext.js | 17 ++++++++++++++--- .../Components/ConversationsList.jsx | 10 +++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/stores/Conversations/ConversationContext.js b/src/stores/Conversations/ConversationContext.js index 583b2a7..6a84846 100644 --- a/src/stores/Conversations/ConversationContext.js +++ b/src/stores/Conversations/ConversationContext.js @@ -159,8 +159,8 @@ export const useConversations = ({loginUser, realtimeAPI}) => { if (targetId !== currentID) { setConversationsList((prevList) => { return prevList.map((ele) => { - if (ele.id === targetId) { - return { ...ele, new_msgs: ele.new_msgs + 1 }; + if (ele.sn === targetId) { + return { ...ele, new_msgs: ele.new_msgs + 1, last_received_time: message.date }; } return ele; }); @@ -178,8 +178,10 @@ export const useConversations = ({loginUser, realtimeAPI}) => { const addMessage = (message) => { - setMessages((prevMessages) => [...prevMessages, message]); addMessageToConversations(message.conversationid, message); + if (message.conversationid === currentID) { + setMessages((prevMessages) => [...prevMessages, message]); + } }; const updateMessage = (message) => { @@ -202,6 +204,15 @@ export const useConversations = ({loginUser, realtimeAPI}) => { ...prevList, [targetId]: targetMsgs, })); + // 更新列表的时间 + setConversationsList((prevList) => { + return prevList.map((ele) => { + if (ele.sn === targetId) { + return { ...ele, new_msgs: ele.new_msgs + 1, last_received_time: message.date }; + } + return ele; + }); + }); }; diff --git a/src/views/Conversations/Components/ConversationsList.jsx b/src/views/Conversations/Components/ConversationsList.jsx index a8fe23c..467152f 100644 --- a/src/views/Conversations/Components/ConversationsList.jsx +++ b/src/views/Conversations/Components/ConversationsList.jsx @@ -17,13 +17,17 @@ const Conversations = (() => { (conversationsList || []).map((item) => ({ ...item, avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=${item.whatsapp_name}`, - alt: item.whatsapp_name, id: item.sn, - title: item.whatsapp_name, - subtitle: item.whatsapp_phone_number, + alt: item.whatsapp_name, + title: item.whatsapp_name.trim() || item.whatsapp_phone_number, + // subtitle: item.whatsapp_phone_number, // subtitle: item.lastMessage, date: item.last_received_time, // last_send_time unread: item.unread_msg_count, + // showMute:true, + // mute: true, + // showVideoCall: true, + })) );