commit
f5b105973d
@ -0,0 +1,15 @@
|
||||
|
||||
---
|
||||
|
||||
使用 demo
|
||||
|
||||
|
||||
authKey: 代表key的权限
|
||||
|
||||
---
|
||||
|
||||
```jsx harmony
|
||||
<AuthorityControl authKey="home.button">
|
||||
<Button type="primary">按钮 控制</Button>
|
||||
</AuthorityControl>
|
||||
```
|
||||
@ -0,0 +1,7 @@
|
||||
import * as React from 'react';
|
||||
|
||||
export interface AuthorityControlProps {
|
||||
authKey: string;
|
||||
}
|
||||
|
||||
export default class LoginItem extends React.Component<AuthorityControlProps, any> {}
|
||||
@ -0,0 +1,19 @@
|
||||
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;
|
||||
@ -0,0 +1,28 @@
|
||||
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>
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue