项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。
仅桌面端保证样式

Auth 权限 ​

权限判定三件套:usePermission composable + v-permission 指令 + EbAuth 组件。权限来源:ConfigProvider 的 permissions 属性(推荐)或全局 setPermissions()。

EbAuth 组件 ​

fallback 插槽:权限不足

v-permission 指令 ​

无权限默认移除元素;mode: 'disable' 保留占位并禁用,权限热更新时实时恢复。

vue
<eb-button v-permission="'admin:write'">写操作</eb-button>
<eb-button v-permission="{ has: 'admin:write', mode: 'disable' }">禁用形态</eb-button>

usePermission ​

js
import { usePermission } from '@wil-works/evoke-business-ui'

const { has, hasAny, hasAll } = usePermission()
has('admin:write')                    // 精确匹配(注册表含 'admin:*' 时前缀通配)
has(['a:1', 'b:2'])                   // 任一满足
hasAll(['a:1', 'b:2'])                // 全部满足
has((perms) => perms.length > 0)      // 自定义判定

权限来源注入 ​

vue
<eb-config-provider :permissions="userPermissions">
  <router-view />
</eb-config-provider>

或无 ConfigProvider 时:setPermissions(['sys:*', 'report:read'])。