From 402a6b4bd215c9285a498b33d5bd7ee6b5b07422 Mon Sep 17 00:00:00 2001 From: lk Date: Fri, 13 Sep 2024 17:59:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=20=E4=BF=AE=E6=94=B9=20=20?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=20=E6=8E=A5=E5=8F=A3=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/use/login/index.tsx | 27 ++++++++++++++------------- src/pages/use/register/index.tsx | 13 ++++++------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/pages/use/login/index.tsx b/src/pages/use/login/index.tsx index c81b165..e595ff7 100644 --- a/src/pages/use/login/index.tsx +++ b/src/pages/use/login/index.tsx @@ -24,7 +24,6 @@ const Login = memo(() => { const { mutate: upLoginFun } = useAtomValue(upLoginAtom); const [emailCodeData, setEmailCodeData] = useState({}); const { mutate: emailLoginMutate } = useAtomValue(emailLoginAtom); - const { mutate: telegramCodeMutate } = useAtomValue(telegramCodeAtom); const { mutate: telegramLoginMutate } = useAtomValue(telegramLoginAtom); const uphandleSubmit = (values: any) => { @@ -32,21 +31,19 @@ const Login = memo(() => { upLoginFun(values); }; - const getEmailCode = () => { + const getEmailCode = async () => { const email = emailform.getFieldValue("email"); - setCountdown(10); - setIsButtonDisabled(true); - setEmailCodeData(systemServ.emailCode({ is_register: false, email })); + const result = await systemServ.emailCode({ is_register: false, email }); + setEmailCodeData(result); }; const emailhandleSubmit = (values: any) => { emailLoginMutate(values); }; - const getTelegramCode = () => { + const getTelegramCode = async () => { const telegram = telegramform.getFieldValue("telegram"); - setCountdown(10); - setIsButtonDisabled(true); - telegramCodeMutate({ telegram }); + const result = await systemServ.telegramCode({ telegram }); + setEmailCodeData(result); }; const telegramhandleSubmit = (values: any) => { telegramLoginMutate(values); @@ -63,20 +60,24 @@ const Login = memo(() => { }); useEffect(() => { - localStorage.setItem("countdown", String(countdown)); - }, [countdown]); - - useEffect(() => { localStorage.setItem("isButtonDisabled", JSON.stringify(isButtonDisabled)); }, [isButtonDisabled]); useEffect(() => { + if ((emailCodeData as any)?.code === 0) { + setCountdown(10); + setIsButtonDisabled(true); + } + }, [emailCodeData]); + + useEffect(() => { let timer: number; if (countdown > 0) { timer = setTimeout(() => setCountdown(countdown - 1), 1000); } else { setIsButtonDisabled(false); } + localStorage.setItem("countdown", String(countdown)); return () => clearTimeout(timer); }, [countdown]); diff --git a/src/pages/use/register/index.tsx b/src/pages/use/register/index.tsx index c8438fa..cafd793 100644 --- a/src/pages/use/register/index.tsx +++ b/src/pages/use/register/index.tsx @@ -16,11 +16,10 @@ const Register = memo(() => { const [emailCodeData, setEmailCodeData] = useState({}); const [isButtonDisabled, setIsButtonDisabled] = useState(false); - const getEmailCode = () => { + const getEmailCode = async () => { const email = registerForm.getFieldValue("email"); - setCountdown(10); - setIsButtonDisabled(true); - setEmailCodeData(systemServ.emailCode({ is_register: true, email })); + const result = await systemServ.emailCode({ is_register: true, email }); + setEmailCodeData(result); }; const emailRegisterSubmit = (values: any) => { @@ -28,9 +27,9 @@ const Register = memo(() => { }; useEffect(() => { - if ((emailCodeData as any)?.countdown === -1) { - setCountdown(0); - setIsButtonDisabled(false); + if ((emailCodeData as any)?.code === 0) { + setCountdown(10); + setIsButtonDisabled(true); } }, [emailCodeData]);