import React, { useEffect, ReactNode } from 'react'; // @ts-ignore import PluginLayout from '@umijs/plugin-layout/lib/layout'; import { PageLoading } from '@ant-design/pro-layout'; // @ts-ignore import { AuthPage } from '@kbse-frame/system'; // @ts-ignore import { Link, useModel } from 'umi'; import cx from 'classnames'; import logo from './assets/logo.png'; import RightContent from './components/RightContent'; import { Footer } from '.'; import { getDefaultSettings, getGlobalTitle } from './utils/utils'; import WaterMark from './components/Watermark'; import styles from './BasicLayout.less'; interface Props { children: ReactNode; userConfig: any; className: string; } const BasicLayout: React.FC = ({ children, className, ...props }) => { const model = useModel('system'); if (!model) { throw new Error('@kbse-frame/layout need @kbse-frame/system as slave'); } const { routes, loading, fetch, resourcesData, env } = model; useEffect(fetch, []); if (loading && !resourcesData) { return ; } const layoutSettings = getDefaultSettings(); // title i18n layoutSettings.title = getGlobalTitle(); // footer if (layoutSettings.footerRender === true) { layoutSettings.footerRender = () =>