提交 f5b10597 authored 作者: YunaiV's avatar YunaiV

Merge remote-tracking branch 'origin/master'

......@@ -21,6 +21,15 @@ export default [
Routes: ['src/pages/Authorized'],
authority: ['admin', 'user'],
routes: [
// redirect
{ path: '/', redirect: '/home' },
// home
{
path: '/home',
name: 'home',
icon: 'user',
component: './Home/Home',
},
// admin
{
path: '/admin',
......@@ -34,8 +43,6 @@ export default [
},
],
},
// dashboard
{ path: '/', redirect: '/dashboard/analysis' },
{
path: '/dashboard',
name: 'dashboard',
......
---
使用 demo
authKey: 代表key的权限
---
```jsx harmony
<AuthorityControl authKey="home.button">
<Button type="primary">按钮 控制</Button>
</AuthorityControl>
```
import * as React from 'react';
export interface AuthorityControlProps {
authKey: string;
}
export default class LoginItem extends React.Component<AuthorityControlProps, any> {}
import React, { PureComponent } from 'react';
import GlobalAuthority from '../../layouts/GlobalAuthority';
// 用于控制权限
class AuthorityControl extends PureComponent {
render() {
const { authKey, children } = this.props;
return (
<GlobalAuthority.Consumer>
{context => {
const { authList } = context;
return <div>{authList[authKey] ? children : '无权限'}</div>;
}}
</GlobalAuthority.Consumer>
);
}
}
export default AuthorityControl;
import React from 'react';
// 创建全局的权限控制 context,方便在所有页面使用
const GlobalAuthorityContext = React.createContext({
theme: 'dark',
toggle: () => {},
});
export default GlobalAuthorityContext;
import React, { Component } from 'react';
import { Button } from 'antd';
import AuthorityControl from '../../components/AuthorityControl';
import GlobalAuthority from '../../layouts/GlobalAuthorityContext';
export default class Home extends Component {
state = {};
render() {
// 定义认证的属性 TODO
const GlobalAuthorityProps = {
user: 'admin',
login: 'success',
authList: {
'auth.button': true,
},
};
return (
<GlobalAuthority.Provider value={GlobalAuthorityProps}>
<AuthorityControl authKey="home.button">
<Button type="primary">按钮 控制</Button>
</AuthorityControl>
<h1>home...</h1>
</GlobalAuthority.Provider>
);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论