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;