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,