fix: redirect default path after login

This commit is contained in:
jialin
2024-06-23 21:30:20 +08:00
parent ff1cf01edf
commit 9e471eafa7
7 changed files with 67 additions and 38 deletions
+22 -1
View File
@@ -1,8 +1,10 @@
import { RequestConfig, history } from '@umijs/max';
import { Navigate, RequestConfig, history } from '@umijs/max';
import { requestConfig } from './request-config';
import { queryCurrentUserState } from './services/profile/apis';
const loginPath = '/login';
let currentUserInfo: any = {};
// 运行时配置
// 全局初始化数据配置,用于 Layout 用户信息和权限初始化
@@ -25,6 +27,9 @@ export async function getInitialState() {
if (![loginPath].includes(location.pathname)) {
const userInfo = await fetchUserInfo();
currentUserInfo = {
...userInfo
};
return {
fetchUserInfo,
currentUser: userInfo
@@ -35,6 +40,22 @@ export async function getInitialState() {
};
}
export const patchClientRoutes = async (params: { routes: any[] }) => {
const { routes } = params;
const data = await queryCurrentUserState({
skipErrorHandler: true
});
routes.unshift({
path: '/',
element: data?.is_admin ? (
<Navigate to="/dashboard" replace />
) : (
<Navigate to="/playground" replace />
)
});
};
export const request: RequestConfig = {
baseURL: ' /v1',
...requestConfig