feat: 会话信息推送

dev/full-email
Lei OT 5 months ago
parent f41cd0d058
commit 18af62a843

@ -459,6 +459,44 @@ const emailMsgMapped = {
}, },
} }
} }
const sessionMsgMapped = {
'session.new': {
getMsg: (result) => {
// sessionItem 是数组
return isEmpty(result?.sessionItem)
? null
: result.sessionItem.map((ele) => ({
...ele,
customer_name: `${ele.whatsapp_name || ''}`.trim(),
whatsapp_name: `${ele.whatsapp_name || ''}`.trim(),
show_default: ele.conversation_memo || ele.whatsapp_name || ele?.channels?.whatsapp_phone_number || ele?.channels?.phone_number || ele?.channels?.email || '',
// coli_id: ele.COLI_ID,
top_state: ele.top_state || 0,
msg_source: 'session',
msg_direction: 'inbound',
}))
},
contentToRender: (contentObj) => null,
contentToUpdate: (msgcontent) => null,
},
'session.updated': {
getMsg: (result) => {
// sessionItem 是数组
return isEmpty(result?.sessionItem)
? null
: result.sessionItem.map((ele) => ({
...ele,
customer_name: `${ele.whatsapp_name || ''}`.trim(),
whatsapp_name: `${ele.whatsapp_name || ''}`.trim(),
show_default: ele.conversation_memo || ele.whatsapp_name || ele?.channels?.whatsapp_phone_number || ele?.channels?.phone_number || ele?.channels?.email || '',
// coli_id: ele.COLI_ID,
top_state: ele.top_state || 0,
msg_source: 'session',
msg_direction: 'inbound',
}))
},
},
}
export const msgStatusRenderMapped = { export const msgStatusRenderMapped = {
'accepted': 'waiting', // 'sent', // 接口的发送请求 'accepted': 'waiting', // 'sent', // 接口的发送请求
'sent': 'sent', 'sent': 'sent',
@ -516,6 +554,7 @@ export const receivedMsgTypeMapped = {
}, },
}, },
...cloneDeep(emailMsgMapped), ...cloneDeep(emailMsgMapped),
...cloneDeep(sessionMsgMapped),
}; };
/** /**
* 消息类型处理, 合并各渠道类型 * 消息类型处理, 合并各渠道类型

@ -177,7 +177,7 @@ const websocketSlice = (set, get) => ({
logWebsocket(data, 'I'); logWebsocket(data, 'I');
// olog('websocket Messages ----', data); // olog('websocket Messages ----', data);
// console.log(data); // console.log(data);
const { updateMessageItem, sentOrReceivedNewMessage, addGlobalNotify, setWai } = get(); const { updateMessageItem, sentOrReceivedNewMessage, addGlobalNotify, setWai, addToConversationList } = get();
const { errcode, errmsg, result } = data; const { errcode, errmsg, result } = data;
if (!result) { if (!result) {
@ -227,6 +227,11 @@ const websocketSlice = (set, get) => ({
// setWai({}); // 60s 后清空 // setWai({}); // 60s 后清空
// }, 60_000); // }, 60_000);
} }
// 会话表 更新
if (['session.updated'].includes(resultType)) {
const sessionList = receivedMsgTypeMapped[resultType].getMsg(result);
addToConversationList(sessionList, 'top');
}
// console.log('handleMessage*******************'); // console.log('handleMessage*******************');
}, },
}); });

Loading…
Cancel
Save