---
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/f1fc8876-2a61-4338-b4a7-71d8a9ea00fd"
publicId: "f1fc8876-2a61-4338-b4a7-71d8a9ea00fd"
---

# 文件预览编辑服务二开埋点

### 1. 修改永中FCS（DCS）服务接口调用参数

**最低基线支持：2510.01**

> **code**: YO\_ZO\_FCS\_HOOK\_001

**1.1 功能说明：**

修改永中FCS（DCS）服务接口调用参数

**1.2 参数说明：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| params | MultiValueMap | 标准调用永中服务接口的参数 |
| option | String | 操作类型，有CONVERT，CLEAN，WATERMARK，PREVIEW |

**1.3 响应说明：**

返回传递的参数params，**修改参数前一定要判断params中是否已经有该参数，有的话先删除再添加**

**1.4 示例代码：**

```java
package com.weaver.file.online.hook;

import cn.hutool.core.date.DateUtil;
import com.weaver.loom.context.annotation.WeaHookReg;
import com.weaver.loom.context.domain.AppInfo;
import com.weaver.loom.context.domain.WeaHookRequest;
import com.weaver.loom.context.domain.WeaHookResponse;
import com.weaver.loom.context.register.RegHookEvent;
import org.springframework.util.MultiValueMap;

import java.util.Map;

/**
 * @Description: 调用永中fcs服务添加请求参数二开拦截demo
 * @Author: 张坤鹏
 * @Date: 2025/10/11 13:59
 */
@WeaHookReg(code = "YO_ZO_FCS_HOOK_001")
public class YoZoFcsRequestParamHookDemo extends RegHookEvent {

    @Override
    public WeaHookResponse handle(WeaHookRequest request, WeaHookResponse response, AppInfo appInfo) {
        //获取标准传过来的参数
        Map<String, Object> params = request.getParams();
        //前面同一埋点多个二开，前面链路节点二开代码执行的结果
        Object result = response.getResult();
        if (result != null) {
            // 如果这个方法拦截二开过 获取上一个二开的结果 如果需要处理 也可以继续再处理
            response.setResult(result);
        } else {
            // 当前操作
            String option = (String) params.get("option");
            // 标准请求永中服务的参数
            MultiValueMap<String, Object> parameter = (MultiValueMap<String, Object>) params.get("params");
            // 二开逻辑 例如预览页面不显示工具栏  TODO 添加参数前一定要判断原参数中是否已经有该参数，有的话先删除再添加
            if ("PREVIEW".equals(option)) {
                if (parameter.containsKey("isHeaderBar")) {
                    parameter.remove("isHeaderBar");
                }
                parameter.add("isHeaderBar", 0);
            }
            response.setResult(parameter);
        }
        //返回结果
        return response;
    }

    @Override
    public void rollBack(WeaHookRequest request, WeaHookResponse response, AppInfo appInfo) {
        //自定义二开代码异常回滚逻辑
        log.info("执行事件回滚机制 => {}, {}", DateUtil.now(), appInfo.getAppName());
    }

}
```
