import { queryCurrentUser, queryPermData } from './services/user'
import { history } from 'umi'
import RightContent from '@/components/RightContent'
import { message } from 'antd'
import logo from '../public/logo.svg'
import BasicModal, { BasicDrawer } from '@/components/Modal'
const loginPath = '/user/login'
export async function getInitialState() {
// 如果是登录页面,不执行
const fetchUserInfo = async () => {
try {
const res = await queryCurrentUser()
return res.data
} catch (error) {
history.push(loginPath)
}
return undefined
}
const fetchPermData = async () => {
try {
const res = await queryPermData()
return res.data
} catch (error) {
message.error('获取数据权限失败,请联系管理员')
}
return {}
}
// 如果是登录页面,不执行
if (history.location.pathname !== loginPath) {
const currentUser = (await fetchUserInfo()) || {}
const permData = (await fetchPermData()) || {}
return {
fetchUserInfo,
fetchPermData,
permData,
...currentUser,
settings: {}
}
}
return {
fetchUserInfo,
fetchPermData,
settings: {}
}
}
export const layout = ({ initialState }) => {
return {
logo,
rightContentRender: () => ,
disableContentMargin: false,
waterMarkProps: {
content: initialState?.currentUser?.username
},
onPageChange: async () => {
const { location } = history
// 如果没有登录,重定向到 login
if (!initialState?.currentUser?.staffId && location.pathname !== loginPath) {
history.replcae('/user/login')
}
// if (
// initialState?.currentUser?.staffId &&
// location.pathname !== loginPath &&
// PERMISSION_NEED_PATH.includes(location.pathname) &&
// !initialState?.permData
// ) {
// const permData = await initialState.fetchPermData()
// permData && setInitialState({ ...initialState, permData })
// }
},
childrenRender: children => (
<>
{children}
>
),
// menuHeaderRender: false,
...initialState?.settings
}
}