skyouc
2025-05-23 6883e31331af4633d1b7d74ea7deb5f972afa05d
rsf-admin/src/page/login/Register.jsx
@@ -66,9 +66,13 @@
            const { code, msg, data } = res;
            if (code === 200) {
                notify(msg, { type: 'success', messageArgs: { _: msg } });
                const timestamp = Math.floor(Date.now() / 1000);
                const expirationTime = timestamp + 60;
                localStorage.setItem('codeExpirationTime', expirationTime);
                setIsCounting(true);
                setCountdown(60);
                localStorage.setItem('codeCountdown', 60);
            } else if (code === 10005 || code === 10006) {
                setError('email', {
                    message: msg
@@ -85,20 +89,23 @@
    // countdown
    useEffect(() => {
        const savedCountdown = localStorage.getItem('codeCountdown');
        if (savedCountdown && !isCounting) {
            setCountdown(Number(savedCountdown));
            setIsCounting(true);
        const codeExpirationTime = localStorage.getItem('codeExpirationTime');
        if (codeExpirationTime) {
            const currentTimestamp = Math.floor(Date.now() / 1000);
            const remainingTime = codeExpirationTime - currentTimestamp;
            if (remainingTime > 0) {
                setCountdown(remainingTime);
                setIsCounting(true);
            }
        }
        const interval = setInterval(() => {
            if (isCounting && countdown > 0) {
                setCountdown(prev => prev - 1);
                localStorage.setItem('codeCountdown', countdown - 1);
            } else if (countdown <= 0) {
                clearInterval(interval);
                setIsCounting(false);
                localStorage.removeItem('codeCountdown');
                localStorage.removeItem('codeExpirationTime');
            }
        }, 1000);