|
@@ -83,7 +83,7 @@ const QrCodeModal: React.FC<QrCodeModalProps> = ({
|
|
|
pollTimerRef.current = null;
|
|
|
}
|
|
|
|
|
|
- // 设置轮询间隔为3秒
|
|
|
+ // 设置轮询间隔为2秒
|
|
|
pollTimerRef.current = setInterval(async () => {
|
|
|
try {
|
|
|
const res = await http.post<LoginStatusData>(qwCheckLogin, { uuid });
|
|
@@ -108,14 +108,18 @@ const QrCodeModal: React.FC<QrCodeModalProps> = ({
|
|
|
}
|
|
|
// 需要验证码时
|
|
|
else if (loginStatus === -1) {
|
|
|
- // 显示验证码输入弹窗
|
|
|
+ // 显示验证码输入弹窗,并停止轮询
|
|
|
+ if (pollTimerRef.current) {
|
|
|
+ clearInterval(pollTimerRef.current);
|
|
|
+ pollTimerRef.current = null;
|
|
|
+ }
|
|
|
setVerifyModalVisible(true);
|
|
|
}
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error("轮询登录状态失败:", error);
|
|
|
}
|
|
|
- }, 3000);
|
|
|
+ }, 1500);
|
|
|
};
|
|
|
|
|
|
// 提交验证码
|
|
@@ -143,6 +147,12 @@ const QrCodeModal: React.FC<QrCodeModalProps> = ({
|
|
|
setVerifyModalVisible(false);
|
|
|
// 重置验证码
|
|
|
setVerifyCode("");
|
|
|
+ // 延迟2秒后恢复轮询
|
|
|
+ if (qrCodeData) {
|
|
|
+ setTimeout(() => {
|
|
|
+ startPollingLoginStatus(qrCodeData.uuid);
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
} else {
|
|
|
message.error(res.msg || "验证失败");
|
|
|
}
|
|
@@ -231,6 +241,12 @@ const QrCodeModal: React.FC<QrCodeModalProps> = ({
|
|
|
const handleVerifyModalClose = () => {
|
|
|
setVerifyModalVisible(false);
|
|
|
setVerifyCode("");
|
|
|
+ // 延迟2秒后恢复轮询
|
|
|
+ if (qrCodeData) {
|
|
|
+ setTimeout(() => {
|
|
|
+ startPollingLoginStatus(qrCodeData.uuid);
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
return (
|