From db9bcdac11004969e5fb8f02cff80bf43d4a4b85 Mon Sep 17 00:00:00 2001 From: linxd <544554903@qq.com> Date: Fri, 18 Jul 2025 09:56:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=99=BB=E5=BD=95):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=AE=B0=E4=BD=8F=E7=94=A8=E6=88=B7=E5=90=8D=E5=92=8C=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在登录页面添加记住用户名和密码功能,用户勾选记住我后会将账号密码保存到localStorage,下次登录时自动填充 --- src/pages/login/login.tsx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/pages/login/login.tsx b/src/pages/login/login.tsx index cec926c..9c25a0e 100644 --- a/src/pages/login/login.tsx +++ b/src/pages/login/login.tsx @@ -29,6 +29,18 @@ const LoginPage: React.FC = () => { fetchCaptcha(); }, [activeKey]); + // 组件挂载时,检查是否有记住的用户名 + useEffect(() => { + const savedUser = localStorage.getItem('remember_user'); + if (savedUser) { + const user = JSON.parse(savedUser); + form.setFieldsValue({ + username: user.username, + password: user.password, + remember: true, + }); + } + }, [form]); const onFinish = async (values: any) => { setLoading(true); try { @@ -39,6 +51,16 @@ const LoginPage: React.FC = () => { }; const loginRes = await loginApiMap[activeKey](params); if (loginRes.code === 200) { + + if (values.remember) { + localStorage.setItem('remember_user', JSON.stringify({ + username: values.username, + password: values.password, + })); + } else { + localStorage.removeItem('remember_user'); + } + sessionStorage.setItem('token', loginRes.data.token); //存入供应商用户id if (activeKey === 'supplierLogin') { @@ -71,7 +93,7 @@ const LoginPage: React.FC = () => { // } }) - + message.success('登录成功');