- 添加菜单权限控制
- url 权限控制
This commit is contained in:
@@ -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 => (
|
||||
|
||||
Reference in New Issue
Block a user