42 lines
1023 B
TypeScript
42 lines
1023 B
TypeScript
import { RequestConfig, history } from '@umijs/max';
|
|
import { requestConfig } from './request-config';
|
|
import { queryCurrentUserState } from './services/profile/apis';
|
|
|
|
const loginPath = '/login';
|
|
// 运行时配置
|
|
|
|
// 全局初始化数据配置,用于 Layout 用户信息和权限初始化
|
|
// 更多信息见文档:https://umijs.org/docs/api/runtime-config#getinitialstate
|
|
export async function getInitialState() {
|
|
// 如果不是登录页面,执行
|
|
const { location } = history;
|
|
|
|
const fetchUserInfo = async () => {
|
|
try {
|
|
const data = await queryCurrentUserState({
|
|
skipErrorHandler: true
|
|
});
|
|
return data;
|
|
} catch (error) {
|
|
history.push(loginPath);
|
|
}
|
|
return undefined;
|
|
};
|
|
|
|
if (![loginPath].includes(location.pathname)) {
|
|
const userInfo = await fetchUserInfo();
|
|
return {
|
|
fetchUserInfo,
|
|
currentUser: userInfo
|
|
};
|
|
}
|
|
return {
|
|
fetchUserInfo
|
|
};
|
|
}
|
|
|
|
export const request: RequestConfig = {
|
|
baseURL: ' /v1',
|
|
...requestConfig
|
|
};
|