blob: f8967fcd3184c0d11fe2e255aef819afd5df3015 [file] [log] [blame]
import { PageLoading } from '@ant-design/pro-layout';
import { history, Link } from 'umi';
import RightContent from '@/components/RightContent';
import Footer from '@/components/Footer';
import { currentUser as queryCurrentUser } from './services/ant-design-pro/api';
import { BookOutlined, LinkOutlined } from '@ant-design/icons';
const isDev = process.env.NODE_ENV === 'development';
const loginPath = '/user/login';
/** 获取用户信息比较慢的时候会展示一个 loading */
export const initialStateConfig = {
loading: <PageLoading />,
};
/**
* @see https://umijs.org/zh-CN/plugins/plugin-initial-state
* */
export async function getInitialState() {
// 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: {},
};
}
return {
// fetchUserInfo,
settings: {},
};
} // ProLayout 支持的api https://procomponents.ant.design/components/layout
export const layout = ({ initialState }) => {
return {
rightContentRender: () => <RightContent />,
disableContentMargin: false,
waterMarkProps: {
content: initialState?.currentUser?.name,
},
footerRender: () => <Footer />,
onPageChange: () => {
const { location } = history; // 如果没有登录,重定向到 login
if (!initialState?.currentUser && location.pathname !== loginPath) {
history.push(loginPath);
}
},
links: isDev
? [
// <Link to="/umi/plugin/openapi" target="_blank">
// <LinkOutlined />
// <span>OpenAPI 文档</span>
// </Link>,
// <Link to="/~docs">
// <BookOutlined />
// <span>业务组件文档</span>
// </Link>,
]
: [],
menuHeaderRender: undefined,
// 自定义 403 页面
// unAccessible: <div>unAccessible</div>,
...initialState?.settings,
};
};