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, + })) );