fix: 修改登陆逻辑

This commit is contained in:
Shu Guang 2025-05-08 23:34:55 +08:00
parent 99b18a38d5
commit 0ae3e5bdbb
3 changed files with 19 additions and 14 deletions

View File

@ -114,7 +114,7 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
*/ */
export const request = { export const request = {
baseURL:"http://172.20.10.2:8101", baseURL:"http://localhost:8101",
withCredentials:true, withCredentials:true,
...errorConfig, ...errorConfig,
}; };

View File

@ -41,24 +41,23 @@ const useStyles = createStyles(({ token }) => {
}); });
export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, children }) => { export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, children }) => {
const { initialState, setInitialState, refresh } = useModel('@@initialState'); const { initialState, setInitialState } = useModel('@@initialState');
console.log('initialState',initialState) // 移除 useEffect 里的 window.location.reload 相关逻辑
// 监听路由变化,并且将当前的 url 保存到 localstorage 中 // useEffect(() => {
// 监听路由变化,并且将当前的 url 保存到 localstorage 中 // console.log('initialState2',sessionStorage.getItem('avatar_refreshed'))
// 监听路由变化,并且将当前的 url 保存到 localstorage 中 // if (!sessionStorage.getItem('avatar_refreshed')) {
// 添加 useEffect 来监听路由变化和初始化 // sessionStorage.setItem('avatar_refreshed', '1');
useEffect(() => { // window.location.reload();
if (!initialState?.currentUser && window.location.pathname !== '/user/login') { // }
console.log('loginPath',window.location.pathname) // }, []);
refresh();
}
}, []);
/** /**
* 退 url * 退 url
*/ */
const loginOut = async () => { const loginOut = async () => {
await userLogoutUsingPost(); await userLogoutUsingPost();
// 退出登录时清除刷新标记
sessionStorage.removeItem('avatar_refreshed');
const { search, pathname } = window.location; const { search, pathname } = window.location;
const urlParams = new URL(window.location.href).searchParams; const urlParams = new URL(window.location.href).searchParams;
/** redirect */ /** redirect */

View File

@ -93,8 +93,13 @@ useEffect(()=>{
const defaultLoginSuccessMessage = '登录成功!'; const defaultLoginSuccessMessage = '登录成功!';
message.success(defaultLoginSuccessMessage); message.success(defaultLoginSuccessMessage);
await fetchUserInfo(); await fetchUserInfo();
// 登录成功后,设置刷新标记并刷新页面
const urlParams = new URL(window.location.href).searchParams; const urlParams = new URL(window.location.href).searchParams;
history.push(urlParams.get('redirect') || '/'); history.push(urlParams.get('redirect') || '/');
sessionStorage.setItem('avatar_refreshed', '1');
setTimeout(() => {
window.location.reload();
}, 1000);
return; return;
} else { } else {
message.error(res.message); message.error(res.message);
@ -104,6 +109,7 @@ useEffect(()=>{
console.log(error); console.log(error);
message.error(defaultLoginFailureMessage); message.error(defaultLoginFailureMessage);
} }
// 登录失败不需要刷新
}; };
return ( return (