import {Question, SelectLang} from '@/components/RightContent'; import type {Settings as LayoutSettings} from '@ant-design/pro-components'; import {SettingDrawer} from '@ant-design/pro-components'; import type {RunTimeLayoutConfig} from '@umijs/max'; import {history} from '@umijs/max'; import defaultSettings from '../config/defaultSettings'; import {errorConfig} from './requestErrorConfig'; import React from 'react'; import {AvatarDropdown, AvatarName} from './components/RightContent/AvatarDropdown'; const isDev = process.env.NODE_ENV === 'development'; const loginPath = '/user/login'; /** * @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({ // skipErrorHandler: true, // }); return JSON.parse(localStorage.getItem('userInfo') || ''); } catch (error) { console.log(error) history.push(loginPath); } return undefined; }; // 如果不是登录页面,执行 const { location } = history; if (location.pathname !== loginPath) { const currentUser = await fetchUserInfo(); return { fetchUserInfo, currentUser, settings: defaultSettings as Partial, }; } return { fetchUserInfo, settings: defaultSettings as Partial, }; } // ProLayout 支持的api https://procomponents.ant.design/components/layout export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { console.log(initialState) return { actionsRender: () => [, ], avatarProps: { src: initialState?.currentUser?.avatar || 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', title: , render: (_, avatarChildren) => { return {avatarChildren}; }, }, waterMarkProps: { content: initialState?.currentUser?.name, }, // footerRender: () =>