37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
|
|
---
|
|||
|
|
name: jjb-button-permission-best-practices
|
|||
|
|
description: 定义 JJB 按钮权限控制最佳实践。在使用 permission 方法、权限码命名、批量权限控制时查阅。
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 按钮权限控制规范
|
|||
|
|
|
|||
|
|
## 按钮权限控制最佳实践
|
|||
|
|
|
|||
|
|
- **按钮权限控制**:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 使用 Permission + permission 方法
|
|||
|
|
{permission('reslib-app-resource-add') && <Button>新增</Button>}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- **批量按钮权限控制**:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 多个按钮权限中任意一个有按钮权限即显示
|
|||
|
|
{permission(['reslib-app-resource-add', 'reslib-app-resource-edit', 'reslib-app-resource-delete']) && <Button>批量操作</Button>}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- **按钮权限码命名规范**:
|
|||
|
|
|
|||
|
|
- 权限码格式:`appId-页面-操作语义`(全小写),如 `reslib-app-resource-add`
|
|||
|
|
|
|||
|
|
- 前端 `permission(xxx)` 参数与平台注册的按钮 `perms` 字段一致
|
|||
|
|
|
|||
|
|
- 注册按钮见 [[jjb-button-permission-registration]]
|
|||
|
|
|
|||
|
|
- **注意事项**:
|
|||
|
|
|
|||
|
|
- 按钮权限加载期间会显示 Loading 状态,确保用户体验
|
|||
|
|
|
|||
|
|
- 如需新增按钮权限码,必须在平台注册后才可在前端使用 `permission()` 检查
|