import React, {PureComponent} from 'react'; import {Layout} from 'antd'; import JFErrorBoundary from "../../component/JFErrorBoundary/JFErrorBoundary"; import {Route, Switch} from 'react-router-dom'; import {NavRouter} from "../../router/navRouter"; import {ROUTE_PRE_FIX} from "../../common/constant"; import NotFound from "../../page/404"; const {Content} = Layout; class ContentLayout extends PureComponent { constructor(props) { super(props); this.state = { curRoute: this.props.selectedKeys }; } /* * p 该用户拥有的权限 * rp 路由信息显示所需要的权限 * */ isShow(p, rp) { // 路由信息无权限限制 if (!rp || !rp.length) { return true; } // 权限比对 for (let i = 0; i < rp.length; i++) { if (p.indexOf(rp[i]) === -1) { return false; } } return true; } navMap = () => { let {permission, lan} = this.props; let arr = []; let repeatRouter = (nav) => { for (let index = 0; index < nav.length; index++) { if (nav[index]['routes']) { this.isShow(permission, nav[index].permission) && repeatRouter(nav[index].routes); } else { this.isShow(permission, nav[index].permission) && arr.push(); } } }; repeatRouter(NavRouter); return arr; }; render() { return (
{ this.navMap() }
) } } export default ContentLayout;