import HeaderLogo from '@/components/header-logo'; import HeaderRight from '@/components/header-right'; import adaptor, { errorThrower } from '@/utils/adaptor'; import errorHandler from '@/utils/error-handler'; import type { AxiosResponse, RequestConfig } from '@@/plugin-request/request'; import { ProBreadcrumb } from '@ant-design/pro-layout'; import { history } from 'core/mz'; import './style/index.less'; import { InitialState } from './types'; interface InitDate { initialState: InitialState; } export async function getInitialState() { if (history.location?.pathname === '/login') { return {}; } else { // const { data } = await services.user.getUserInfo(); // if (data === null) { // history.replace('/login'); // } // return { // userId: data?.userId, // userName: data?.userName // }; } } export const layout = ({ initialState }: InitDate) => { return { headerBg: 'transparent', bodyBg: 'transparent', navTheme: 'light', layout: 'mix', title: '', siderWidth: 200, contentStyle: { padding: 0 }, // 自定义页面标题的显示方法,浏览器选项卡显示的title信息 pageTitleRender: () => 'Assistants', // 自定义产品Logo和文字 logo: , // 自定义头部中间内容为面包屑导航 headerContentRender: () => , // 自定义头部导航右侧有关用户内容 rightContentRender: () => // 验证用户身份 // onPageChange: async () => { // if (!initialState?.userId) { // const user = await services.user.getUserInfo(); // if (!user) { // history.push('/login'); // return; // } // } // } }; }; // 配置 request export const request: RequestConfig = { baseURL: APIURL, validateStatus(status) { return status >= 200 && status < 300; }, errorConfig: { errorHandler, // 自定义异常处理 errorThrower }, requestInterceptors: [ (url, options) => { return { url, options: { ...options, headers: { ...options.headers, Authorization: 'Bearer ' + localStorage.getItem('myKey') } } }; } ], responseInterceptors: [ adaptor, (response: AxiosResponse) => { const code = String(response?.data?.code || response?.status); if (code === '401' || code === '-4004') { console.log('error:登录失效或身份失效!'); history.push('/login'); } return response; } ] };