feat(登录): 添加记住用户名和密码功能
在登录页面添加记住用户名和密码功能,用户勾选记住我后会将账号密码保存到localStorage,下次登录时自动填充
This commit is contained in:
@ -29,6 +29,18 @@ const LoginPage: React.FC = () => {
|
|||||||
fetchCaptcha();
|
fetchCaptcha();
|
||||||
}, [activeKey]);
|
}, [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) => {
|
const onFinish = async (values: any) => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
try {
|
try {
|
||||||
@ -39,6 +51,16 @@ const LoginPage: React.FC = () => {
|
|||||||
};
|
};
|
||||||
const loginRes = await loginApiMap[activeKey](params);
|
const loginRes = await loginApiMap[activeKey](params);
|
||||||
if (loginRes.code === 200) {
|
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);
|
sessionStorage.setItem('token', loginRes.data.token);
|
||||||
//存入供应商用户id
|
//存入供应商用户id
|
||||||
if (activeKey === 'supplierLogin') {
|
if (activeKey === 'supplierLogin') {
|
||||||
@ -71,7 +93,7 @@ const LoginPage: React.FC = () => {
|
|||||||
// }
|
// }
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
message.success('登录成功');
|
message.success('登录成功');
|
||||||
|
Reference in New Issue
Block a user