From 6883e31331af4633d1b7d74ea7deb5f972afa05d Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 23 五月 2025 20:02:19 +0800
Subject: [PATCH] 新增移库功能

---
 rsf-admin/src/page/login/Register.jsx |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/rsf-admin/src/page/login/Register.jsx b/rsf-admin/src/page/login/Register.jsx
index f8e840d..c4169db 100644
--- a/rsf-admin/src/page/login/Register.jsx
+++ b/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);
 

--
Gitblit v1.9.1