### 最低基线：10.0.2502.01

### 使用说明

引用时需要保证基线版本高于上文中最低基线版本，针对任务详情卡片操作按钮，提供权限扩展的能力，结合任务模块设置中相关权限控制功能共同控制操作权限，二者其一存在操作权限时，按钮即展示

### 钩子名称：

task\_action

### 参数：

List\<Map\<String,Object\>\>  args

#### 参数说明

二开口子默认参数以List传递，该口子只需取第一个元素即可

参数明细

| 字段名 | 类型 | 说明 |
| --- | --- | --- |
| taskId | Long | 任务id |
| userId | Long | 当前人员id |
| actionId | String | 操作按钮 |

### 返回值：

返回 true/false ,代表对该操作项是否有权限

### 注意事项:

操作按钮会逐个鉴权，二开时，需要根据actionId针对需要操作的按钮进行权限处理，且尽量简化逻辑，以免影响卡片加载性能

### 示例

```java
@RegHook(module = "task", event = "task_action")
public class TaskActionHookEvent extends AbstractRegHookEvent {

    @Override
    public Object handle(Object[] args) {
        Map<String, Object> params = JSONUtil.convertBeanToMap(args[0]);
        String actionId = MapUtils.getString(params, "actionId");
        Long taskId = MapUtils.getLong(params, "taskId");
        Long userId = MapUtils.getLong(params, "userId");

        // 逻辑处理
        boolean auth = false;
        if("action_watch".equals(actionId)) {
          // auth = xxxxx
        }
        return auth ;
    }
}
```
