From c5e3c17dbce8bf64fd912d6d96c494fc08a9867a Mon Sep 17 00:00:00 2001 From: Jimmy Liow Date: Thu, 22 Feb 2024 16:50:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=B4=9F=E8=BD=BD?= =?UTF-8?q?=E5=9D=87=E8=A1=A1=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/actions/ConversationActions.js | 2 +- src/stores/ConversationStore.js | 2 +- src/stores/Conversations/ConversationContext_bak.js | 2 +- src/stores/OrderStore.js | 2 +- src/views/OrderFollow.jsx | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/actions/ConversationActions.js b/src/actions/ConversationActions.js index 9ba3357..2550cd4 100644 --- a/src/actions/ConversationActions.js +++ b/src/actions/ConversationActions.js @@ -3,7 +3,7 @@ import { groupBy } from '@/utils/utils'; import { fetchJSON, postJSON } from '@/utils/request' import { parseRenderMessageList } from '@/lib/msgUtils'; -const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_callback_cn'; +const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server'; export const fetchTemplates = async () => { const data = await fetchJSON(`${API_HOST}/listtemplates`); diff --git a/src/stores/ConversationStore.js b/src/stores/ConversationStore.js index 9072c66..96eb136 100644 --- a/src/stores/ConversationStore.js +++ b/src/stores/ConversationStore.js @@ -7,7 +7,7 @@ import { devtools } from 'zustand/middleware'; // const WS_URL = 'ws://202.103.68.144:8888/whatever/'; // const WS_URL = 'ws://120.79.9.217:10022/whatever/'; -const WS_URL = 'wss://p9axztuwd7x8a7.mycht.cn/whatsapp_callback_cn'; // prod: +const WS_URL = 'wss://p9axztuwd7x8a7.mycht.cn/whatsapp_server'; // prod: const initialConversationState = { // websocket: null, diff --git a/src/stores/Conversations/ConversationContext_bak.js b/src/stores/Conversations/ConversationContext_bak.js index 198eb39..ef84d54 100644 --- a/src/stores/Conversations/ConversationContext_bak.js +++ b/src/stores/Conversations/ConversationContext_bak.js @@ -36,7 +36,7 @@ export async function postJSON(url, obj) { } } // const API_HOST = 'http://202.103.68.144:8888'; -const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_callback'; +const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server'; export const useConversations = ({loginUser, realtimeAPI}) => { const { userId } = loginUser; diff --git a/src/stores/OrderStore.js b/src/stores/OrderStore.js index 7e168b5..0bc00a9 100644 --- a/src/stores/OrderStore.js +++ b/src/stores/OrderStore.js @@ -2,7 +2,7 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' import { fetchJSON, postJSON } from '@/utils/request' -const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_callback_cn'; +const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server'; const useOrderStore = create((set, get) => ({ diff --git a/src/views/OrderFollow.jsx b/src/views/OrderFollow.jsx index 2ad34c8..3c5076d 100644 --- a/src/views/OrderFollow.jsx +++ b/src/views/OrderFollow.jsx @@ -205,7 +205,7 @@ function OrderList({ formValues }) { const [orderData, setOrderData] = useState([]) const [loading, setLoading] = useState(false) const { loginUser } = useAuthContext() - let fetchOrderUrl = `https://p9axztuwd7x8a7.mycht.cn/whatsapp_callback_cn/getwlorder?opisn=${loginUser.userId}&otype=${formValues.type}` + let fetchOrderUrl = `https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/getwlorder?opisn=${loginUser.userId}&otype=${formValues.type}` if (formValues.type === 'advance') { const fromDate = formValues.startDateRange[0].format('YYYY-MM-DD') @@ -217,7 +217,7 @@ function OrderList({ formValues }) { confirmFromDate = formValues.confirmDateRange[0].format('YYYY-MM-DD') confirmThruDate = formValues.confirmDateRange[1].format('YYYY-MM-DD') } - fetchOrderUrl = prepareUrl('https://p9axztuwd7x8a7.mycht.cn/whatsapp_callback/getdvancedwlorder') + fetchOrderUrl = prepareUrl('https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/getdvancedwlorder') .append('opisn', loginUser.userId) .append('startdate', fromDate) .append('enddate', thruDate) From 8e715bda4218bb138c29bfbc0286cac13a202ea3 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Thu, 22 Feb 2024 17:01:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E9=93=BE=E6=8E=A5=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E5=92=8C=E5=8F=AF=E7=82=B9=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/msgUtils.js | 19 ++++++-- .../Components/ConversationsList.jsx | 6 +-- .../Components/InputComposer.jsx | 2 +- .../Conversations/Components/Messages.jsx | 48 ++++++++++++++----- src/views/Conversations/Conversations.css | 3 ++ 5 files changed, 58 insertions(+), 20 deletions(-) diff --git a/src/lib/msgUtils.js b/src/lib/msgUtils.js index 1860e34..557cccd 100644 --- a/src/lib/msgUtils.js +++ b/src/lib/msgUtils.js @@ -13,6 +13,13 @@ export const replaceTemplateString = (str, replacements) => { return result; } + +const autoLinkText = (text) => { + let regex = /(https?:\/\/[^\s]+)/g; + + let newText = text.replace(regex, '$1'); + return newText; +} /** * // +8618777396951 lyj @@ -31,12 +38,14 @@ export const sentMsgTypeMapped = { renderId: msg.id, to: msg.to, msgtype: 'text', - msgcontent: { body: msg.text, ...(msg.context ? { context: msg.context, message_origin: msg.message_origin.msgOrigin } : {}) }, + msgcontent: { body: msg.text, preview_url: true, ...(msg.context ? { context: msg.context, message_origin: msg.message_origin.msgOrigin } : {}) }, }), contentToRender: (msg) => ({ ...msg, actionId: msg.id, conversationid: msg.id.split('.')[0], + originText: (msg.text), + text: autoLinkText(msg.text), ...(msg.context ? { reply: { @@ -169,7 +178,7 @@ export const whatsappMsgTypeMapped = { }, text: { type: 'text', - data: (msg) => ({ id: msg.wamid, text: msg.text.body }), + data: (msg) => ({ id: msg.wamid, text: autoLinkText(msg.text.body), originText: msg.text.body }), renderForReply: (msg) => ({ id: msg.wamid, message: msg.text.body }), }, image: { @@ -313,12 +322,12 @@ export const parseRenderMessageList = (messages, conversationid = null) => { : { reply: { message: msg.messageorigin_AsJOSN.text?.body || msg.messageorigin_AsJOSN.text, - title: msg.messageorigin_AsJOSN?.customerProfile?.name || 'me', // msg.messageorigin_AsJOSN.senderName || '@', + title: msg.messageorigin_AsJOSN?.customerProfile?.name || msg.messageorigin_AsJOSN.senderName || 'me', ...(typeof whatsappMsgTypeMapped[msg.messageorigin_AsJOSN.type]?.renderForReply === 'function' ? whatsappMsgTypeMapped[msg.messageorigin_AsJOSN.type].renderForReply(msg.messageorigin_AsJOSN) : {}), - titleColor: msg.messageorigin_AsJOSN?.customerProfile?.name ? '#a791ff' : "#128c7e", - // titleColor: msg.messageorigin_direction === 'inbound' ? '#a791ff' : "#128c7e", + // titleColor: msg.messageorigin_AsJOSN?.customerProfile?.name ? '#a791ff' : "#128c7e", + titleColor: msg.messageorigin_direction === 'inbound' ? '#a791ff' : "#128c7e", }, origin: msg.messageorigin_AsJOSN, }), diff --git a/src/views/Conversations/Components/ConversationsList.jsx b/src/views/Conversations/Components/ConversationsList.jsx index a778263..15040e7 100644 --- a/src/views/Conversations/Components/ConversationsList.jsx +++ b/src/views/Conversations/Components/ConversationsList.jsx @@ -74,6 +74,7 @@ const Conversations = () => { return () => {}; }, [conversationsList, currentConversation]); + const [switchToC, setSwitchToC] = useState({}); const [shouldFetchCList, setShouldFetchCList] = useState(true); useEffect(() => { if (order_sn && shouldFetchCList && initialState) { @@ -116,12 +117,11 @@ const Conversations = () => { setCurrentConversation(item); }; - const [switchToC, setSwitchToC] = useState({}); const onSwitchConversation = (item) => { - if (item.coli_sn) { - navigate(`/order/chat/${item.coli_sn}`, { replace: true }); + if ( ! isEmpty(item.coli_sn)) { setSwitchToC(item); setShouldFetchCList(false); + navigate(`/order/chat/${item.coli_sn}`, { replace: true }); } else { navigate(`/order/chat`, { replace: true }); } diff --git a/src/views/Conversations/Components/InputComposer.jsx b/src/views/Conversations/Components/InputComposer.jsx index 35f73a7..d5af10c 100644 --- a/src/views/Conversations/Components/InputComposer.jsx +++ b/src/views/Conversations/Components/InputComposer.jsx @@ -72,7 +72,7 @@ const InputBox = () => { {referenceMsg.id && (
- {referenceMsg.senderName}{referenceMsg.text}
+ {referenceMsg.senderName}{referenceMsg.originText}