From 8e0751fe260c3ff44f3748379f68c5e28df12d42 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Wed, 28 Feb 2024 09:54:24 +0800 Subject: [PATCH] =?UTF-8?q?config;=20=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E9=80=89=E9=A1=B9;=20=E5=9B=BE=E7=89=87=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F;=20=E5=8F=91=E9=80=81=E8=A1=A8=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- import saleSmartly contacts.sql | 50 +++++++++++++++++++ package.json | 1 + src/actions/ConversationActions.js | 3 +- src/config.js | 1 + src/lib/msgUtils.js | 9 ++-- src/stores/ConversationStore.js | 2 +- .../Components/ConversationsList.jsx | 2 +- .../Conversations/Components/Input/Emoji.jsx | 31 ++++++++++++ .../Components/Input/ImageUpload.jsx | 4 +- .../Components/Input/Template.jsx | 4 +- .../Components/InputComposer.jsx | 6 ++- .../Conversations/Components/Messages.jsx | 2 +- src/views/Conversations/Conversations.css | 6 +++ 13 files changed, 105 insertions(+), 16 deletions(-) create mode 100644 import saleSmartly contacts.sql create mode 100644 src/views/Conversations/Components/Input/Emoji.jsx diff --git a/import saleSmartly contacts.sql b/import saleSmartly contacts.sql new file mode 100644 index 0000000..387ebb8 --- /dev/null +++ b/import saleSmartly contacts.sql @@ -0,0 +1,50 @@ + +-- 601 王露加(AH) Ann Wang +UPDATE WhatsApp_Session +SET opi_sn =601 +WHERE opi_sn is null and whatsapp_phone_number IN ('600123021806', '919421671750', '61438817779', '393406100983', '12032531996', '60197799795', '447788271298', '6598239020', '4407788271298', '6584686731', '60123075151', '60194903126', '13238286927', '6596966465', '6598267067', '14048496022', '6598809877', '628111663399', '60166268901', '19376202088', '62811907069', '61402445619', '393343998897', '6589475894', '41768308393', '1919324583030', '6598410895', '6593838816', '610402445619', '6592707262', '610431280050', '62811265987', '447702101254', '4407702101254', '85295012200', '10438012756', '15127570944', '13038837142', '6594890344', '13053353222'); + +UPDATE WhatsApp_InboundMessage +SET opi_sn =601 +WHERE froms IN ('600123021806', '919421671750', '61438817779', '393406100983', '12032531996', '60197799795', '447788271298', '6598239020', '4407788271298', '6584686731', '60123075151', '60194903126', '13238286927', '6596966465', '6598267067', '14048496022', '6598809877', '628111663399', '60166268901', '19376202088', '62811907069', '61402445619', '393343998897', '6589475894', '41768308393', '1919324583030', '6598410895', '6593838816', '610402445619', '6592707262', '610431280050', '62811265987', '447702101254', '4407702101254', '85295012200', '10438012756', '15127570944', '13038837142', '6594890344', '13053353222'); + + +-- 487 杨新玲(AH) COCO +UPDATE WhatsApp_Session +SET opi_sn =487 +WHERE opi_sn is null and whatsapp_phone_number IN ( +'12103817205','17758484963','60149483183','6281510103434','628119782869','447752219225','12084122282','15083266574','14402632632','918178744977','12106891804','573206915405','12035084239','6591793713','6596303740','16507507777','13146235967','610402933421','19738008090','16025109980','14156139002','85569570025','23052514484','16135487944','18052166879','972522554653','270824611177','34651307209','41796154103','393421384738','19084563966','971568748804','84979380502','491785727904','4901785727904','6598227132','16179352409','4915122297678','15163772972','447539174554','447539174554','16025109980','19166276277','610415682199','447766318643','4407766318643','8201068091987','41796154103','918587901086','918587901086'); + +UPDATE WhatsApp_InboundMessage +SET opi_sn =487 +WHERE froms IN ( +'12103817205','17758484963','60149483183','6281510103434','628119782869','447752219225','12084122282','15083266574','14402632632','918178744977','12106891804','573206915405','12035084239','6591793713','6596303740','16507507777','13146235967','610402933421','19738008090','16025109980','14156139002','85569570025','23052514484','16135487944','18052166879','972522554653','270824611177','34651307209','41796154103','393421384738','19084563966','971568748804','84979380502','491785727904','4901785727904','6598227132','16179352409','4915122297678','15163772972','447539174554','447539174554','16025109980','19166276277','610415682199','447766318643','4407766318643','8201068091987','41796154103','918587901086','918587901086'); + +-- 603 秦雯萱(AH) Dora +UPDATE WhatsApp_Session +SET opi_sn =603 +WHERE opi_sn is null and whatsapp_phone_number IN ('19013561781','6285811111175','62889692159816','60162185779','6287888722293','60126518499','60126183248','17789950848','610455289205','60123152286','6060126518499','15185983270','6594319127','19013561781','14104266170','16174120590','6597969282','6591714969','18476483195','6592976545','6590095741','66818890118','447545084704','6596921770','447917350605','4407917350605'); + +UPDATE WhatsApp_InboundMessage +SET opi_sn =603 +WHERE froms IN ('19013561781','6285811111175','62889692159816','60162185779','6287888722293','60126518499','60126183248','17789950848','610455289205','60123152286','6060126518499','15185983270','6594319127','19013561781','14104266170','16174120590','6597969282','6591714969','18476483195','6592976545','6590095741','66818890118','447545084704','6596921770','447917350605','4407917350605'); + + +-- 606 莫梦瑶 Glory +UPDATE WhatsApp_Session +SET opi_sn =606 +WHERE opi_sn is null and whatsapp_phone_number IN ('6285762428379'); + +UPDATE WhatsApp_InboundMessage +SET opi_sn =606 +WHERE froms IN ('6285762428379'); + +-- 586 秦宇尘 Jimmy +UPDATE WhatsApp_Session +SET opi_sn =606 +WHERE opi_sn is null and whatsapp_phone_number IN ('17736215303'); + +UPDATE WhatsApp_InboundMessage +SET opi_sn =606 +WHERE froms IN ('17736215303'); + diff --git a/package.json b/package.json index f3ba594..795b872 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "antd": "^5.14.0", "crypto-js": "^4.2.0", "dayjs": "^1.11.10", + "emoji-picker-react": "^4.8.0", "react": "^18.2.0", "react-chat-elements": "^12.0.11", "react-dom": "^18.2.0", diff --git a/src/actions/ConversationActions.js b/src/actions/ConversationActions.js index 2550cd4..1b8bd66 100644 --- a/src/actions/ConversationActions.js +++ b/src/actions/ConversationActions.js @@ -2,8 +2,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_server'; +import { API_HOST } from '@/config'; export const fetchTemplates = async () => { const data = await fetchJSON(`${API_HOST}/listtemplates`); diff --git a/src/config.js b/src/config.js index 0648149..cfb8723 100644 --- a/src/config.js +++ b/src/config.js @@ -1,2 +1,3 @@ export const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server' +export const WS_URL = 'wss://p9axztuwd7x8a7.mycht.cn/whatsapp_server'; // prod: export const DATE_FORMAT = 'YYYY-MM-DD' diff --git a/src/lib/msgUtils.js b/src/lib/msgUtils.js index fa200dd..bde7998 100644 --- a/src/lib/msgUtils.js +++ b/src/lib/msgUtils.js @@ -14,7 +14,7 @@ export const replaceTemplateString = (str, replacements) => { return result; } -const autoLinkText = (text) => { +export const autoLinkText = (text) => { let regex = /(https?:\/\/[^\s]+)/g; let newText = text.replace(regex, '$1'); @@ -85,7 +85,6 @@ export const sentMsgTypeMapped = { whatsappTemplate: { contentToSend: (msg) => ({ action: 'message', actionId: msg.id, renderId: msg.id, to: msg.to, msgtype: 'template', msgcontent: msg.template }), contentToRender: (msg) => { - console.log(msg); const templateDataMapped = msg.template?.components ? msg.template.components.reduce((r, v) => ({ ...r, [v.type]: v }), {}) : null; // const templateParam = (templateDataMapped?.body?.parameters || []).map(e => e.text); // const fillTemplate = templateParam.length ? replaceTemplateString(msg.template_origin.components.body?.[0]?.text || '', templateParam) : (msg.template_origin.components.body?.[0]?.text || ''); @@ -186,20 +185,20 @@ export const whatsappMsgTypeMapped = { data: (msg) => ({ id: msg.wamid, text: msg.image.caption, - data: { id: msg.wamid, uri: msg.image.link, width: 200, height: 200, alt: msg.image.caption, }, + data: { id: msg.wamid, uri: msg.image.link, width: '100%', height: 200, alt: msg.image.caption, }, onOpen: () => { console.log('Open image', msg.image.link); }, }), renderForReply: (msg) => ({ - id: msg.wamid, photoURL: msg.image.link, width: 200, height: 200, alt: '', + id: msg.wamid, photoURL: msg.image.link, width: '100%', height: 200, alt: '', }), }, sticker: { type: 'photo', data: (msg) => ({ id: msg.wamid, - data: { id: msg.wamid, uri: msg.sticker.link, width: 150, height: 120, alt: '' }, + data: { id: msg.wamid, uri: msg.sticker.link, width: '100%', height: 120, alt: '' }, }), }, video: { diff --git a/src/stores/ConversationStore.js b/src/stores/ConversationStore.js index aca1503..4bf89be 100644 --- a/src/stores/ConversationStore.js +++ b/src/stores/ConversationStore.js @@ -4,10 +4,10 @@ import { olog, isEmpty } from '@/utils/utils'; import { receivedMsgTypeMapped } from '@/lib/msgUtils'; import { fetchConversationsList, fetchTemplates } from '@/actions/ConversationActions'; import { devtools } from 'zustand/middleware'; +import { WS_URL } from '@/config'; // 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_server'; // prod: const initialConversationState = { // websocket: null, diff --git a/src/views/Conversations/Components/ConversationsList.jsx b/src/views/Conversations/Components/ConversationsList.jsx index 12ca846..ea345e8 100644 --- a/src/views/Conversations/Components/ConversationsList.jsx +++ b/src/views/Conversations/Components/ConversationsList.jsx @@ -118,7 +118,7 @@ const Conversations = () => { title={item.whatsapp_name.trim() || item.whatsapp_phone_number} date={item.last_received_time} unread={item.unread_msg_count} - className={String(item.sn) === String(currentConversation.sn) ? '__active text-primary border-y-0 border-e-0 border-s-2 border-solid border-whatsapp-me ' : ''} + className={String(item.sn) === String(currentConversation.sn) ? '__active text-primary border-y-0 border-e-0 border-s-4 border-solid border-whatsapp-bg bg-whatsapp-bg' : ''} onClick={() => onSwitchConversation(item)} /> diff --git a/src/views/Conversations/Components/Input/Emoji.jsx b/src/views/Conversations/Components/Input/Emoji.jsx new file mode 100644 index 0000000..d1a5842 --- /dev/null +++ b/src/views/Conversations/Components/Input/Emoji.jsx @@ -0,0 +1,31 @@ +import { useState } from 'react'; +import { Popover, Button } from 'antd'; +import EmojiPicker from 'emoji-picker-react'; + +const InputTemplate = ({ disabled = false, inputEmoji }) => { + const [openPopup, setOpenPopup] = useState(false); + + const handlePickEmoji = (emojiData) => { + inputEmoji(emojiData.emoji); + }; + + return ( + <> + } + // title='😀' + trigger='click' + open={openPopup} + onOpenChange={setOpenPopup}> + + + + ); +}; +export default InputTemplate; diff --git a/src/views/Conversations/Components/Input/ImageUpload.jsx b/src/views/Conversations/Components/Input/ImageUpload.jsx index 357ca40..fd4a0e4 100644 --- a/src/views/Conversations/Components/Input/ImageUpload.jsx +++ b/src/views/Conversations/Components/Input/ImageUpload.jsx @@ -32,7 +32,7 @@ const ImageUpload = ({ disabled, invokeSendMessage }) => { const handleSendImage = (src) => { const msgObj = { type: 'photo', - data: { uri: src, }, + data: { uri: src, width: '100%', height: 150, }, id: uuid(), }; setComplexMsg(msgObj); @@ -55,7 +55,7 @@ const ImageUpload = ({ disabled, invokeSendMessage }) => { message.error(`图片添加失败`); } }}> -