feat(用户): 添加移动端检测并完善登录逻辑
All checks were successful
test/timeline-frontend/pipeline/head This commit looks good

在注册页面添加移动端检测钩子
登录成功后保存用户信息到localStorage并更新全局状态
This commit is contained in:
2026-02-26 11:28:13 +08:00
parent e97ea2e6a1
commit 9caf8b9786
2 changed files with 7 additions and 1 deletions

View File

@@ -125,8 +125,13 @@ const Login: React.FC = () => {
defaultMessage: '登录成功!', defaultMessage: '登录成功!',
}); });
message.success(defaultLoginSuccessMessage); message.success(defaultLoginSuccessMessage);
// await fetchUserInfo(); // 保存用户信息到 localStorage
localStorage.setItem('timeline_user', JSON.stringify(response.data)); localStorage.setItem('timeline_user', JSON.stringify(response.data));
// 更新全局 initialState确保跳转后权限检查通过
await setInitialState((s: any) => ({
...s,
currentUser: response.data,
}));
const urlParams = new URL(window.location.href).searchParams; const urlParams = new URL(window.location.href).searchParams;
// 修复:直接使用 redirect 参数,如果不存在则跳转到首页 // 修复:直接使用 redirect 参数,如果不存在则跳转到首页
const redirect = urlParams.get('redirect'); const redirect = urlParams.get('redirect');

View File

@@ -6,6 +6,7 @@ import type { Store } from 'antd/es/form/interface';
import type { FC } from 'react'; import type { FC } from 'react';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import useStyles from './style.style'; import useStyles from './style.style';
import { useIsMobile } from '@/hooks/useIsMobile';
const FormItem = Form.Item; const FormItem = Form.Item;
const { Option } = Select; const { Option } = Select;