diff --git a/src/layouts/BasicLayout.js b/src/layouts/BasicLayout.js
deleted file mode 100644
index 4fcdac680e46ab593c28dab791b01615f87833a0..0000000000000000000000000000000000000000
--- a/src/layouts/BasicLayout.js
+++ /dev/null
@@ -1,309 +0,0 @@
-import React, { Fragment } from 'react';
-import PropTypes from 'prop-types';
-import { Layout, Icon, message } from 'antd';
-import DocumentTitle from 'react-document-title';
-import { connect } from 'dva';
-import { Route, Redirect, Switch, routerRedux } from 'dva/router';
-import { ContainerQuery } from 'react-container-query';
-import classNames from 'classnames';
-import pathToRegexp from 'path-to-regexp';
-import { enquireScreen, unenquireScreen } from 'enquire-js';
-import GlobalHeader from '../components/GlobalHeader';
-import GlobalFooter from '../components/GlobalFooter';
-import SiderMenu from '../components/SiderMenu';
-import NotFound from '../routes/Exception/404';
-import { getRoutes } from '../utils/utils';
-import Authorized from '../utils/Authorized';
-import { getMenuData } from '../common/menu';
-import logo from '../assets/logo.svg';
-
-const { Content, Header, Footer } = Layout;
-const { AuthorizedRoute, check } = Authorized;
-
-/**
- * 根据菜单取得重定向地址.
- */
-const redirectData = [];
-const getRedirect = item => {
- if (item && item.children) {
- if (item.children[0] && item.children[0].path) {
- redirectData.push({
- from: `${item.path}`,
- to: `${item.children[0].path}`,
- });
- item.children.forEach(children => {
- getRedirect(children);
- });
- }
- }
-};
-getMenuData().forEach(getRedirect);
-
-/**
- * 获取面包屑映射
- * @param {Object} menuData 菜单配置
- * @param {Object} routerData 路由配置
- */
-const getBreadcrumbNameMap = (menuData, routerData) => {
- const result = {};
- const childResult = {};
- for (const i of menuData) {
- if (!routerData[i.path]) {
- result[i.path] = i;
- }
- if (i.children) {
- Object.assign(childResult, getBreadcrumbNameMap(i.children, routerData));
- }
- }
- return Object.assign({}, routerData, result, childResult);
-};
-
-const query = {
- 'screen-xs': {
- maxWidth: 575,
- },
- 'screen-sm': {
- minWidth: 576,
- maxWidth: 767,
- },
- 'screen-md': {
- minWidth: 768,
- maxWidth: 991,
- },
- 'screen-lg': {
- minWidth: 992,
- maxWidth: 1199,
- },
- 'screen-xl': {
- minWidth: 1200,
- maxWidth: 1599,
- },
- 'screen-xxl': {
- minWidth: 1600,
- },
-};
-
-let isMobile;
-enquireScreen(b => {
- isMobile = b;
-});
-
-@connect(({ user, global = {}, loading }) => ({
- currentUser: user.currentUser,
- collapsed: global.collapsed,
- fetchingNotices: loading.effects['global/fetchNotices'],
- notices: global.notices,
-}))
-export default class BasicLayout extends React.PureComponent {
- static childContextTypes = {
- location: PropTypes.object,
- breadcrumbNameMap: PropTypes.object,
- };
-
- state = {
- isMobile,
- };
-
- getChildContext() {
- const { location, routerData } = this.props;
- return {
- location,
- breadcrumbNameMap: getBreadcrumbNameMap(getMenuData(), routerData),
- };
- }
-
- componentDidMount() {
- this.enquireHandler = enquireScreen(mobile => {
- this.setState({
- isMobile: mobile,
- });
- });
- const { dispatch } = this.props;
- dispatch({
- type: 'user/fetchCurrent',
- });
- }
-
- componentWillUnmount() {
- unenquireScreen(this.enquireHandler);
- }
-
- getPageTitle() {
- const { routerData, location } = this.props;
- const { pathname } = location;
- let title = 'Ant Design Pro';
- let currRouterData = null;
- // match params path
- Object.keys(routerData).forEach(key => {
- if (pathToRegexp(key).test(pathname)) {
- currRouterData = routerData[key];
- }
- });
- if (currRouterData && currRouterData.name) {
- title = `${currRouterData.name} - Ant Design Pro`;
- }
- return title;
- }
-
- getBaseRedirect = () => {
- // According to the url parameter to redirect
- // 这里是重定向的,重定向到 url 的 redirect 参数所示地址
- const urlParams = new URL(window.location.href);
-
- const redirect = urlParams.searchParams.get('redirect');
- // Remove the parameters in the url
- if (redirect) {
- urlParams.searchParams.delete('redirect');
- window.history.replaceState(null, 'redirect', urlParams.href);
- } else {
- const { routerData } = this.props;
- // get the first authorized route path in routerData
- const authorizedPath = Object.keys(routerData).find(
- item => check(routerData[item].authority, item) && item !== '/'
- );
- return authorizedPath;
- }
- return redirect;
- };
-
- handleMenuCollapse = collapsed => {
- const { dispatch } = this.props;
- dispatch({
- type: 'global/changeLayoutCollapsed',
- payload: collapsed,
- });
- };
-
- handleNoticeClear = type => {
- message.success(`清空了${type}`);
- const { dispatch } = this.props;
- dispatch({
- type: 'global/clearNotices',
- payload: type,
- });
- };
-
- handleMenuClick = ({ key }) => {
- const { dispatch } = this.props;
- if (key === 'triggerError') {
- dispatch(routerRedux.push('/exception/trigger'));
- return;
- }
- if (key === 'logout') {
- dispatch({
- type: 'login/logout',
- });
- }
- };
-
- handleNoticeVisibleChange = visible => {
- const { dispatch } = this.props;
- if (visible) {
- dispatch({
- type: 'global/fetchNotices',
- });
- }
- };
-
- render() {
- const {
- currentUser,
- collapsed,
- fetchingNotices,
- notices,
- routerData,
- match,
- location,
- } = this.props;
- const { isMobile: mb } = this.state;
- const baseRedirect = this.getBaseRedirect();
- const layout = (
-
-
-
-
-
-
- {redirectData.map(item => (
-
- ))}
- {getRoutes(match.path, routerData).map(item => (
-
- ))}
-
-
-
-
-
-
-
- );
-
- return (
-
-
- {params => {layout}
}
-
-
- );
- }
-}