Browse Source

fix #2291 Increase authority judgment

pull/2314/head
陈帅 8 years ago
parent
commit
608d599801
  1. 26
      src/layouts/BasicLayout.js

26
src/layouts/BasicLayout.js

@ -16,6 +16,7 @@ import logo from '../assets/logo.svg';
import Footer from './Footer';
import Header from './Header';
import Context from './MenuContext';
import Exception403 from '../pages/Exception/403';
const { Content } = Layout;
@ -76,6 +77,7 @@ class BasicLayout extends React.PureComponent {
this.getPageTitle = memoizeOne(this.getPageTitle);
this.getBreadcrumbNameMap = memoizeOne(this.getBreadcrumbNameMap, isEqual);
this.breadcrumbNameMap = this.getBreadcrumbNameMap();
this.matchParamsPath = memoizeOne(this.matchParamsPath, isEqual);
}
state = {
@ -156,14 +158,16 @@ class BasicLayout extends React.PureComponent {
return routerMap;
}
matchParamsPath = pathname => {
const pathKey = Object.keys(this.breadcrumbNameMap).find(key =>
pathToRegexp(key).test(pathname)
);
return this.breadcrumbNameMap[pathKey];
};
getPageTitle = pathname => {
let currRouterData = null;
// match params path
Object.keys(this.breadcrumbNameMap).forEach(key => {
if (pathToRegexp(key).test(pathname)) {
currRouterData = this.breadcrumbNameMap[key];
}
});
const currRouterData = this.matchParamsPath(pathname);
if (!currRouterData) {
return 'Ant Design Pro';
}
@ -221,6 +225,7 @@ class BasicLayout extends React.PureComponent {
const { isMobile } = this.state;
const isTop = PropsLayout === 'topmenu';
const menuData = this.getMenuData();
const routerConfig = this.matchParamsPath(pathname);
const layout = (
<Layout>
{isTop && !isMobile ? null : (
@ -247,12 +252,15 @@ class BasicLayout extends React.PureComponent {
isMobile={isMobile}
{...this.props}
/>
<Content style={this.getContentStyle()}>{children}</Content>
<Content style={this.getContentStyle()}>
<Authorized authority={routerConfig.authority} noMatch={<Exception403 />}>
{children}
</Authorized>
</Content>
<Footer />
</Layout>
</Layout>
);
return (
<React.Fragment>
<DocumentTitle title={this.getPageTitle(pathname)}>

Loading…
Cancel
Save