diff --git a/console/src/pages/Login/index.tsx b/console/src/pages/Login/index.tsx index 86dbd9d..0dc6cdf 100644 --- a/console/src/pages/Login/index.tsx +++ b/console/src/pages/Login/index.tsx @@ -267,21 +267,27 @@ export default function LoginPage() { const res = await authApi.sendCode(phone); message.success("验证码已发送"); setSmsStub(res.stub_code || ""); - setSmsCountdown(60); - const timer = window.setInterval(() => { - setSmsCountdown((c) => { - if (c <= 1) { - window.clearInterval(timer); - return 0; - } - return c - 1; - }); - }, 1000); + startSmsCountdown(); } catch (err) { message.error(err instanceof Error ? err.message : "发送失败"); + // 服务端存在 60s 发送冷却(阿里云分钟级流控),失败也进入倒计时,避免继续触发 + startSmsCountdown(); } }; + const startSmsCountdown = () => { + setSmsCountdown(60); + const timer = window.setInterval(() => { + setSmsCountdown((c) => { + if (c <= 1) { + window.clearInterval(timer); + return 0; + } + return c - 1; + }); + }, 1000); + }; + const onSmsLogin = async () => { setLoading(true); try {