fix: redirect default path after login
This commit is contained in:
+22
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user