import type { Settings as LayoutSettings } from '@ant-design/pro-layout'; import { PageLoading } from '@ant-design/pro-layout'; import { history } from 'umi'; import { currentUser as queryCurrentUser } from './services/ant-design-pro/api'; import defaultSettings from '../config/defaultSettings'; const loginPath = '/user/login'; /** 获取用户信息比较慢的时候会展示一个 loading */ export const initialStateConfig = { loading: , }; /** * @see https://umijs.org/zh-CN/plugins/plugin-initial-state * */ export async function getInitialState(): Promise<{ settings?: Partial; currentUser?: API.CurrentUser; loading?: boolean; fetchUserInfo?: () => Promise; }> { const fetchUserInfo = async () => { try { const msg = await queryCurrentUser(); return msg.data; } catch (error) { // history.push(loginPath); } return undefined; }; // 如果是登录页面,不执行 if (history.location.pathname !== loginPath) { // const currentUser = await fetchUserInfo(); return { fetchUserInfo, //currentUser, settings: defaultSettings, }; } return { fetchUserInfo, settings: defaultSettings, }; } // ProLayout 支持的api https://procomponents.ant.design/components/layout // export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { // return { // rightContentRender: () => , // disableContentMargin: false, // waterMarkProps: { // content: initialState?.currentUser?.name, // }, // footerRender: () =>