- 添加菜单权限控制

- url 权限控制
This commit is contained in:
sin
2019-03-01 18:15:12 +08:00
parent 814ca633aa
commit 21bacc19d8
14 changed files with 160 additions and 23 deletions

View File

@@ -11,6 +11,7 @@ import logo from '../assets/logo.svg';
import Footer from './Footer';
import Header from './Header';
import Context from './MenuContext';
import UrlsContext from './UrlsContext';
import Exception403 from '../pages/Exception/403';
import PageLoading from '@/components/PageLoading';
import SiderMenu from '@/components/SiderMenu';
@@ -59,6 +60,10 @@ class BasicLayout extends React.Component {
dispatch({
type: 'setting/getSetting',
});
dispatch({
type: 'menu/getUrlsData',
payload: { routes, authority },
});
dispatch({
type: 'menu/getMenuData',
payload: { routes, authority },
@@ -73,6 +78,13 @@ class BasicLayout extends React.Component {
};
}
getUrlsContext() {
const { urlsData } = this.props;
return {
...urlsData,
};
}
getRouteAuthority = (pathname, routeData) => {
const routes = routeData.slice(); // clone
@@ -166,7 +178,7 @@ class BasicLayout extends React.Component {
/>
<Content className={styles.content} style={contentStyle}>
<Authorized authority={routerConfig} noMatch={<Exception403 />}>
{children}
<UrlsContext.Provider values={this.getUrlsContext()}>{children}</UrlsContext.Provider>
</Authorized>
</Content>
<Footer />
@@ -194,6 +206,7 @@ export default connect(({ global, setting, menu: menuModel }) => ({
collapsed: global.collapsed,
layout: setting.layout,
menuData: menuModel.menuData,
urlsData: menuModel.urlsData,
breadcrumbNameMap: menuModel.breadcrumbNameMap,
...setting,
}))(props => (