From 51f46f9da183cc16285569a6c635d635d856ca41 Mon Sep 17 00:00:00 2001 From: LiaoYijun Date: Thu, 26 Dec 2024 09:32:50 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BD=BF=E7=94=A8=20await=20=E5=A4=84?= =?UTF-8?q?=E7=90=86=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81=EF=BC=9B=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E6=89=AB=E7=A0=81=E7=99=BB=E5=BD=95=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/accounts/Profile.jsx | 14 +++++++++++++- wai-server/core/baileys/index.js | 16 +++++----------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/views/accounts/Profile.jsx b/src/views/accounts/Profile.jsx index ddc66d2..b312b21 100644 --- a/src/views/accounts/Profile.jsx +++ b/src/views/accounts/Profile.jsx @@ -48,18 +48,23 @@ function Profile() { const handelGernaterQR = useCallback(() => { const phone = loginUser.whatsAppNo + setQRStatus('loading') fetchQRCode(phone) .then(r => { setQRCode(r.result.qr) setQRStatus('active') + setTimeout(() => { + // 模拟扫码登录成功,实际要请求后端状态来确定 + setQRStatus('scanned') + }, 10000); }) .catch(ex => { + setQRStatus('expired') console.error(ex) }) }, []) const customStatusRender = (info) => { - console.info(info) switch (info.status) { case 'expired': return ( @@ -76,6 +81,13 @@ function Profile() {

) + case 'loading': + return ( + + +

Loading...

+
+ ) case 'scanned': return (
diff --git a/wai-server/core/baileys/index.js b/wai-server/core/baileys/index.js index 2625f74..757f978 100644 --- a/wai-server/core/baileys/index.js +++ b/wai-server/core/baileys/index.js @@ -51,13 +51,10 @@ const createWhatsApp = async phone => { const { version, isLatest } = await fetchLatestBaileysVersion(); const waVersion = version.join('.') + ', ' + (isLatest ? 'latest' : 'out'); - const sendTextMessage = (whatsAppNo, content) => { + const sendTextMessage = async (whatsAppNo, content) => { const number = formatPhoneNumber(whatsAppNo); try { - waSocket.sendMessage(number, { text: content }) - .catch(ex => { - console.info('发送文本消息出错', ex) - }); + await waSocket.sendMessage(number, { text: content }); } catch (ex) { waEmitter.emit('message.error', { messge: '发送文本消息出错', @@ -67,14 +64,11 @@ const createWhatsApp = async phone => { } }; - const sendImageMessage = (whatsAppNo, imageUrl) => { + const sendImageMessage = async (whatsAppNo, imageUrl) => { const number = formatPhoneNumber(whatsAppNo); try { - waSocket.sendMessage(number, { + await waSocket.sendMessage(number, { image: { url: imageUrl }, - }) - .catch(ex => { - console.info('发送图片消息出错', ex) }); } catch (ex) { waEmitter.emit('message.error', { @@ -239,7 +233,7 @@ const createWhatsApp = async phone => { }, // https://github.com/WhiskeySockets/Baileys/blob/31bc8ab/src/Utils/generics.ts#L21 // https://github.com/WhiskeySockets/Baileys/blob/31bc8ab4e2c825c0d774875701ed07e20d05bdb6/WAProto/WAProto.proto - browser: Browsers.baileys('WEAR_OS'),//Browsers.ubuntu('IOS_PHONE'),//Browsers.macOS('Desktop'), + browser: Browsers.macOS('SAFARI'),//Browsers.ubuntu('IOS_PHONE'),//Browsers.baileys('WEAR_OS'), msgRetryCounterCache, generateHighQualityLinkPreview: false, syncFullHistory: false,