diff --git a/src/stores/ConversationStore.js b/src/stores/ConversationStore.js index 86a6c8f..4609b2e 100644 --- a/src/stores/ConversationStore.js +++ b/src/stores/ConversationStore.js @@ -439,6 +439,7 @@ const messageSlice = (set, get) => ({ } else if (targetIndex === -1) { // 当前客户端不存在的会话 // todo: 设置为当前(在WhatsApp返回号码不一致时) + const newContact = message.msg_direction === 'outbound' ? message.to : message.from; newConversations = [{ ...conversationRow, ...message, @@ -446,17 +447,17 @@ const messageSlice = (set, get) => ({ opi_sn: currentConversation.opi_sn, // todo: coli sn last_received_time: message.date, unread_msg_count: 0, - whatsapp_name: message.to, //message?.senderName || message?.sender || '', - customer_name: message.to, // message?.senderName || message?.sender || '', + whatsapp_name: newContact, //message?.senderName || message?.sender || '', + customer_name: newContact, // message?.senderName || message?.sender || '', conversation_expiretime: message?.conversation?.expireTime || '', // 保留使用UTC时间 - whatsapp_phone_number: message.type === 'email' ? null : message.to, - show_default: message?.conversation?.name || message.to || '', + whatsapp_phone_number: message.type === 'email' ? null : newContact, + show_default: message?.conversation?.name || newContact || '', session_type: message?.conversation?.type === 'group' ? 1 : 0, last_message: { ...message, source: message.msg_source }, channels: { - "email": message.type === 'email' ? message.from : null, - "phone_number": message.type === 'email' ? null : message.from, - "whatsapp_phone_number": message.type === 'email' ? null : message.from, + "email": message.type === 'email' ? newContact : null, + "phone_number": message.type === 'email' ? null : newContact, + "whatsapp_phone_number": message.type === 'email' ? null : newContact, }, }]; } @@ -478,6 +479,7 @@ const messageSlice = (set, get) => ({ const targetMsgs = activeConversations[String(targetId)] || []; const targetIndex = conversationsList.findIndex((ele) => Number(ele.sn) === Number(targetId)); const lastReceivedTime = (message.type !== 'system' && message.sender !== 'me') ? dayjs(message.date).add(8, 'hours').format(DATETIME_FORMAT) : null; + const newContact = message.msg_direction === 'outbound' ? message.to : message.from; const newConversation = targetIndex !== -1 ? { @@ -498,14 +500,14 @@ const messageSlice = (set, get) => ({ unread_msg_count: message.sender === 'me' ? 0 : 1, whatsapp_name: message?.senderName || message?.sender || '', customer_name: message?.senderName || message?.sender || '', - whatsapp_phone_number: message.type === 'email' ? null : message.from, - show_default: message?.conversation?.name || message?.senderName || message?.sender || message.from || '', + whatsapp_phone_number: message.type === 'email' ? null : newContact, + show_default: message?.conversation?.name || message?.senderName || message?.sender || newContact || '', session_type: message?.conversation?.type === 'group' ? 1 : 0, last_message: { ...message, source: message.msg_source }, channels: { - "email": message.type === 'email' ? message.from : null, - "phone_number": message.type === 'email' ? null : message.from, - "whatsapp_phone_number": message.type === 'email' ? null : message.from, + "email": message.type === 'email' ? newContact : null, + "phone_number": message.type === 'email' ? null : newContact, + "whatsapp_phone_number": message.type === 'email' ? null : newContact, }, }; if (targetIndex === -1) {