0.0.1 • Published 5 months ago

@utopia/user-permission v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

UserPermission

React component for user permission

安装

...

使用

  • 组件
    • UserPermissionProvider
    • UserPermissionAuthorize
  • Hooks
    • useUserPermissions
  • 工具函数
    • definePermission
    • definePermissions
    • checkPermission

示例

import { Button } from '...'
import { UserPermissionProvider, UserPermissionAuthorize } from '@utopia/user-permission'

export default = () => {
  return (
    <UserPermissionProvider permissions={{}} defaultBehavior="hidden">
    <UserPermissionAuthorize id="add-permission" name="新增功能权限">
      <Button>新增</Button>
    </UserPermissionAuthorize>
    </UserPermissionProvider>
  )
}

或者

import { Button } from '...'
import { UserPermissionProvider, UserPermissionAuthorize, definePermission } from '@utopia/user-permission'

const addPermission = definePermission({
  id: 'add-permission',
  name: '新增功能权限'
})

export default = () => {
  return (
    <UserPermissionProvider permissions={{}} defaultBehavior="hidden">
    <UserPermissionAuthorize {...addPermission}>
      <Button>新增</Button>
    </UserPermissionAuthorize>
    </UserPermissionProvider>
  )
}

API

UserPermissionProvider

参数类型说明默认值是否必须
permissionsRecord<string, string>从用户中台获取的权限信息-
defaultBehaviorAuthorizeBehavior无权限时的全局默认行为,disabled:禁止点击,hidden: 隐藏hidden
debugboolean是否开启调试模式,调试模式下,权限将不会生效false

UserPermissionAuthorize

参数类型说明默认值是否必须
idstring权限 id-
namestring权限名称,用于中台存储-
typePermissionType权限类型,用于中台存储。OPERATE
parentstring父权限,用于中台存储-
valuestring权限值,用于中台存储-
descriptionstring权限描述,用于中台存储-
behaviorAuthorizeBehavior无权限时行为,disabled:禁止点击,hidden: 隐藏,默认为全局配置hidden

definePermission

权限定义工具函数,参数参考 UserPermissionAuthorize

const addBtnPermission = definePermission({
  id: 'add-permission',
  name: '新增功能权限',
});

definePermissions

权限定义工具函数

const permissions = definePermissions({
  addBtn: {
    id: 'add-permission',
    name: '新增功能权限',
  },
});

console.log(permissions.addBtn);

PermissionType

权限类型,默认为操作权限

  • MENU: 菜单权限
  • OPERATE: 操作权限

AuthorizeBehavior

无权限表现行为

  • disabled: 禁止操作。UserPermissionAuthorize 将会向子组件注入 disabled 属性
  • hidden: 隐藏。UserPermissionAuthorize 将会渲染空组件
0.0.1

5 months ago