kd.bos.form

## 接口 IFormView

- 所有已知子接口:
    IBillView, IListView, IMobileBillView, IMobileListView, IMobileView, IReportView
  所有已知实现类:
    AbstractFormView

      public interface IFormView

  表单视图基本接口，提供各种操作界面的方法； 封装这个接口，用于统一管理、调度各种视图相关的功能类及方法；以便操作、插件等，一站式获取和控制表单界面； 就本接口本身的方法来看，与K/3 Cloud相比，方法少了很多；更多的方法，调整到了控件等相关类上去实现，功能进行了拆分；

- - ### 方法概要

    所有方法 实例方法 抽象方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `activate()` 激活表单
    `void` | `addPlugin(IFormPlugin plugin)`
    `void` | `addService(java.lang.Class<?> clazz, java.lang.Object service)`
    `void` | `cacheFormShowParameter()` 将表单显示参数更新到缓存
    `void` | `close()` 关闭表单
    `void` | `closeRobotMessage()` 关闭消息给机器人助手
    `void` | `createControlIndex(java.util.List<Control> items)`
    `IDataModel` | `createFlexModel(IDataModel flexModel, MainEntityType met)`
    `void` | `download(java.lang.String url)`
    `void` | `executeClientCommand(java.lang.String cmdName, java.lang.Object... parameter)` 执行客户端自定义指令
    `void` | `executeClientMethodCallback(java.lang.String method, java.util.Map<java.lang.String,java.lang.Object> args, ClientCallbackListener listner)` 直接调用客户端控件方法，完成后立即回调
    `java.util.List<java.lang.Object>` | `getActionResult()` 获取表单更新前端的指令，主要只能在最后请求返回时调用，调用后表单更新指令集合将清空
    `<T extends Control> T` | `getControl(java.lang.String key)` 获取表单的控件实例
    `java.lang.String` | `getEntityId()`
    `FormShowParameter` | `getFormShowParameter()` 获取表单显示参数
    `IFormView` | `getMainView()`
    `IDataModel` | `getModel()`
    `java.lang.String` | `getPageId()` 获取表单的实例Id
    `IFormView` | `getParentView()`
    `java.lang.Object` | `getReturnData()` 获取表单返回到父表单的返回值
    `Control` | `getRootControl()`
    `<T> T` | `getService(java.lang.Class<?> clazz)`
    `java.lang.String` | `getServiceAppId(java.lang.String pageId)` 获取指定PageId对应视图所在服务节点的AppId
    `IFormView` | `getView(java.lang.String pageId)`
    `IFormView` | `getViewNoPlugin(java.lang.String pageId)`
    `void` | `initialize(FormShowParameter formShowParameter)` 初始化表单
    `OperationResult` | `invokeOperation(java.lang.String operationKey)` 调用表单操作
    `OperationResult` | `invokeOperation(java.lang.String operationKey, kd.bos.dataentity.OperateOption option)` 调用表单操作
    `OperationResult` | `invokeOperation(java.lang.String operationKey, OperateParameter operateParameter)` 已过时。 请使用 invokeOperation(String operationKey, OperateOption option)
    `void` | `openUrl(java.lang.String url)`
    `void` | `previewAttachment(java.util.Map<java.lang.String,java.lang.Object> fileInfo)` 预览附件指令
    `void` | `returnDataToParent(java.lang.Object value)` 设置返回到父表单的返回值
    `void` | `sendFormAction(IFormView view)`
    `void` | `sendWebSocketAction(java.lang.String actionName, java.lang.Object param, java.util.List<java.lang.String> userIds)`
    `void` | `setClientReturnData(java.lang.Object retValue)` 设置返回值到客户端动态表单
    `void` | `setEnable(java.lang.Boolean value, int rowIndex, java.lang.String... ctlKeys)`
    `void` | `setEnable(java.lang.Boolean value, java.lang.String... ctlKeys)`
    `void` | `setReturnData(java.lang.Object value)` 接受子表单返回值
    `void` | `setStatus(OperationStatus value)` 设置表单操作状态
    `void` | `setVisible(java.lang.Boolean value, java.lang.String... ctlKeys)`
    `void` | `showConfirm(java.lang.String tempMsg, java.util.List<MessageBoxLink> msglinks, MessageBoxOptions options, ConfirmTypes confirmTypes, ConfirmCallBackListener callBack)` 单据内悬浮消息框(支持内容设置超链接)
    `void` | `showConfirm(java.lang.String tempMsg, java.util.List<MessageBoxLink> msglinks, MessageBoxOptions options, ConfirmTypes confirmTypes, ConfirmCallBackListener callBack, java.util.Map<java.lang.Integer,java.lang.String> btnNameMaps)` 单据内悬浮消息框(支持内容设置超链接)
    `void` | `showConfirm(java.lang.String msg, MessageBoxOptions options)` 全局弹出消息框方法
    `void` | `showConfirm(java.lang.String msg, MessageBoxOptions options, ConfirmCallBackListener callBack)` 全局弹出消息框方法 如有回调方法，回调ID必填
    `void` | `showConfirm(java.lang.String msg, MessageBoxOptions options, ConfirmTypes confirmTypes, ConfirmCallBackListener callBack)` 全局弹出消息框方法，带上提示类型，让前端显示提示的图片
    `void` | `showConfirm(java.lang.String msg, java.lang.String detail, MessageBoxOptions options, ConfirmTypes confirmTypes, ConfirmCallBackListener callBack)` 全局弹出消息框方法，带上提示类型，让前端显示提示的图片
    `void` | `showConfirm(java.lang.String msg, java.lang.String detail, MessageBoxOptions options, ConfirmTypes confirmTypes, ConfirmCallBackListener callBack, java.util.Map<java.lang.Integer,java.lang.String> btnNameMaps)` 全局弹出消息框方法，带上提示类型，让前端显示提示的图片
    `void` | `showErrMessage(java.lang.String msg, java.lang.String title)`
    `void` | `showErrorNotification(java.lang.String msg)` 单据内失败悬浮消息框 需要手动关闭
    `void` | `showErrorNotification(java.lang.String msg, java.util.List<MessageBoxLink> msgLinks, ConfirmCallBackListener callBackListener)` 单据内失败悬浮消息框 消息文本可以设置超链接 需要手动关闭
    `void` | `showFieldTip(FieldTip tip)` 字段上显示提示信息
    `void` | `showFieldTips(java.util.List<FieldTip> tips)` 字段上显示提示信息（批量）
    `void` | `showForm(FormShowParameter parameter)` 打开一个新的表单
    `void` | `showMessage(java.lang.String msg)` 单据内悬浮消息框，默认没有按钮，自动消失
    `void` | `showMessage(java.lang.String tempMsg, java.util.List<MessageBoxLink> msglinks, MessageTypes type, ConfirmCallBackListener callBack)` 单据内悬浮消息框(支持内容设置超链接)
    `void` | `showMessage(java.lang.String msg, MessageTypes type, ConfirmCallBackListener callBack)` 单据内悬浮消息框 如有回调方法，回调ID必填
    `void` | `showMessage(java.lang.String msg, java.lang.String detail, MessageTypes type)` 单据内悬浮消息框
    `void` | `showMessage(java.lang.String msg, java.lang.String iconfont, MessageTypes type, ConfirmCallBackListener callBack)` 移动端悬浮框
    `void` | `showOperationResult(OperationResult operationResult)`
    `void` | `showOperationResult(OperationResult operationResult, java.lang.String operateName)`
    `void` | `showPictureView(java.lang.String[] urls, int activeIndex)` 显示图片预览窗体
    `void` | `showRobotMessage(java.lang.String msg)` 发送消息给机器人助手
    `void` | `showRobotMessage(java.lang.String msg, int duration)` 发送消息给机器人助手，支持延时关闭
    `void` | `showSuccessNotification(java.lang.String msg)` 单据内成功悬浮消息框 默认2秒自动消失
    `void` | `showSuccessNotification(java.lang.String msg, java.lang.Integer duration)` 单据内成功悬浮消息框 默认2秒自动消失，可以设置延时关闭时间
    `void` | `showSuccessNotification(java.lang.String msg, java.lang.Integer duration, java.util.List<MessageBoxLink> msgLinks, ConfirmCallBackListener callBackListener)` 单据内成功悬浮消息框 消息文本可以设置超链接 默认2秒自动消失，可以设置延时关闭时间
    `void` | `showSuccessNotification(java.lang.String msg, java.util.List<MessageBoxLink> msgLinks, ConfirmCallBackListener callBackListener)` 单据内成功悬浮消息框 消息文本可以设置超链接 默认2秒自动消失
    `void` | `showTipNotification(java.lang.String msg)` 单据内提示类别悬浮消息框 提示类会显示按钮，需要手动关闭
    `void` | `showTipNotification(java.lang.String msg, java.lang.Integer duration)` 单据内提示类别悬浮消息框 最小3秒自动消失，可以设置延时关闭时间
    `void` | `showTipNotification(java.lang.String msg, java.lang.Integer duration, java.util.List<MessageBoxLink> msgLinks, ConfirmCallBackListener callBackListener)` 单据内提示类别悬浮消息框 消息文本可以设置超链接 最小3秒自动消失，可以设置延时关闭时间
    `void` | `showTipNotification(java.lang.String msg, java.util.List<MessageBoxLink> msgLinks, ConfirmCallBackListener callBackListener)` 单据内提示类别悬浮消息框 消息文本可以设置超链接 提示类会显示按钮，需要手动关闭
    `void` | `showUpload(UploadOption option, java.lang.String callbackButtonKey)`
    `void` | `updateControlMetadata(java.lang.String key, java.util.Map<java.lang.String,java.lang.Object> ctl)` 更新客户端指定控件元数据
    `void` | `updateUIMetadatas(java.util.Map<java.lang.String,java.lang.Object> ctls)` 更新客户端UI元数据
    `void` | `updateView()` 重新绑定数据到前端控件
    `void` | `updateView(java.lang.String key)` 重新绑定指定控件的数据到前端
    `void` | `updateView(java.lang.String key, int row)`

- - ### 方法详细资料

    - #### getFormShowParameter

          FormShowParameter getFormShowParameter()

      获取表单显示参数
      返回:

    - #### cacheFormShowParameter

          void cacheFormShowParameter()

      将表单显示参数更新到缓存

    - #### initialize

          void initialize(FormShowParameter formShowParameter)

      初始化表单
      参数:
        `formShowParameter` -

    - #### getPageId

          java.lang.String getPageId()

      获取表单的实例Id
      返回:

    - #### getControl

          <T extends Control> T getControl(java.lang.String key)

      获取表单的控件实例
      参数:
        `key` -
      返回:

    - #### addService

          void addService(java.lang.Class<?> clazz,
                          java.lang.Object service)

    - #### getService

          <T> T getService(java.lang.Class<?> clazz)

    - #### getRootControl

          Control getRootControl()

    - #### addPlugin

          void addPlugin(IFormPlugin plugin)

    - #### getActionResult

          java.util.List<java.lang.Object> getActionResult()

      获取表单更新前端的指令，主要只能在最后请求返回时调用，调用后表单更新指令集合将清空
      返回:
        前端更新指令集合

    - #### setStatus

          void setStatus(OperationStatus value)

      设置表单操作状态
      参数:
        `value` -

    - #### updateUIMetadatas

          void updateUIMetadatas(java.util.Map<java.lang.String,java.lang.Object> ctls)

      更新客户端UI元数据
      参数:
        `ctls` -

    - #### updateControlMetadata

          void updateControlMetadata(java.lang.String key,
                                     java.util.Map<java.lang.String,java.lang.Object> ctl)

      更新客户端指定控件元数据
      参数:
        `ctl` -

    - #### updateView

          void updateView()

      重新绑定数据到前端控件

    - #### updateView

          void updateView(java.lang.String key)

      重新绑定指定控件的数据到前端

    - #### updateView

          void updateView(java.lang.String key,
                          int row)

    - #### createControlIndex

          void createControlIndex(java.util.List<Control> items)

    - #### invokeOperation

          OperationResult invokeOperation(java.lang.String operationKey)

      调用表单操作
      参数:
        `operationKey` - 操作编码

    - #### invokeOperation

          @Deprecated
          OperationResult invokeOperation(java.lang.String operationKey,
                                                       OperateParameter operateParameter)

      已过时。 请使用 invokeOperation(String operationKey, OperateOption option)
      调用表单操作(带参数)
      参数:
        `operationKey` - 操作编码
        `operateParameters` - 操作参数

    - #### invokeOperation

          OperationResult invokeOperation(java.lang.String operationKey,
                                          kd.bos.dataentity.OperateOption option)

      调用表单操作
      参数:
        `operationKey` - 操作编码
        `option` - 自定义参数

    - #### getReturnData

          java.lang.Object getReturnData()

      获取表单返回到父表单的返回值
      返回:

    - #### setReturnData

          void setReturnData(java.lang.Object value)

      接受子表单返回值
      参数:
        `value` -

    - #### setClientReturnData

          void setClientReturnData(java.lang.Object retValue)

      设置返回值到客户端动态表单
      参数:
        `retValue` - 返回的值对象，必须可序列化为JSON串

    - #### returnDataToParent

          void returnDataToParent(java.lang.Object value)

      设置返回到父表单的返回值
      参数:
        `value` -

    - #### activate

          void activate()

      激活表单

    - #### executeClientCommand

          void executeClientCommand(java.lang.String cmdName,
                                    java.lang.Object... parameter)

      执行客户端自定义指令
      参数:
        `cmdName` -
        `parameter` -

    - #### executeClientMethodCallback

          void executeClientMethodCallback(java.lang.String method,
                                           java.util.Map<java.lang.String,java.lang.Object> args,
                                           ClientCallbackListener listner)

      直接调用客户端控件方法，完成后立即回调

    - #### showForm

          void showForm(FormShowParameter parameter)

      打开一个新的表单
      参数:
        `parameter` - 表单打开参数

    - #### showMessage

          void showMessage(java.lang.String msg)

      单据内悬浮消息框，默认没有按钮，自动消失
      参数:
        `msg` - 消息内容

    - #### showErrMessage

          void showErrMessage(java.lang.String msg,
                              java.lang.String title)

    - #### showMessage

          void showMessage(java.lang.String msg,
                           java.lang.String detail,
                           MessageTypes type)

      单据内悬浮消息框
      参数:
        `msg` - 消息内容
        `options` - 按钮选项
        `title` - 消息头

    - #### showMessage

          void showMessage(java.lang.String msg,
                           MessageTypes type,
                           ConfirmCallBackListener callBack)

      单据内悬浮消息框
      如有回调方法，回调ID必填
      参数:
        `msg` - 消息内容
        `options` - 按钮选项
        `title` - 消息头
        `callBackId` - 回调方法ID
        `callBack` - 回调方法

    - #### showMessage

          void showMessage(java.lang.String msg,
                           java.lang.String iconfont,
                           MessageTypes type,
                           ConfirmCallBackListener callBack)

      移动端悬浮框
      参数:
        `msg` - 消息内容
        `options` - 按钮选项
        `title` - 消息头
        `callBackId` - 回调方法ID
        `callBack` - 回调方法

    - #### showMessage

          void showMessage(java.lang.String tempMsg,
                           java.util.List<MessageBoxLink> msglinks,
                           MessageTypes type,
                           ConfirmCallBackListener callBack)

      单据内悬浮消息框(支持内容设置超链接)
      参数:
        `tempMsg` - 消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
        `msglinks` - 模板占位符替换对象
        `type` -
        `callBack` -

    - #### showPictureView

          void showPictureView(java.lang.String[] urls,
                               int activeIndex)

      显示图片预览窗体
      参数:
        `urls` - 图片URL数组

    - #### close

          void close()

      关闭表单

    - #### showOperationResult

          void showOperationResult(OperationResult operationResult)

    - #### showOperationResult

          void showOperationResult(OperationResult operationResult,
                                   java.lang.String operateName)

    - #### showUpload

          void showUpload(UploadOption option,
                          java.lang.String callbackButtonKey)

    - #### getEntityId

          java.lang.String getEntityId()

    - #### getParentView

          IFormView getParentView()

    - #### getView

          IFormView getView(java.lang.String pageId)

      参数:
        `pageId` - 获取指定pageId
      返回:

    - #### getViewNoPlugin

          IFormView getViewNoPlugin(java.lang.String pageId)

      参数:
        `pageId` - 获取指定pageIdView,获取到后不加载插件
      返回:

    - #### getMainView

          IFormView getMainView()

    - #### getModel

          IDataModel getModel()

    - #### sendFormAction

          void sendFormAction(IFormView view)

    - #### openUrl

          void openUrl(java.lang.String url)

    - #### download

          void download(java.lang.String url)

    - #### setEnable

          void setEnable(java.lang.Boolean value,
                         java.lang.String... ctlKeys)

    - #### setEnable

          void setEnable(java.lang.Boolean value,
                         int rowIndex,
                         java.lang.String... ctlKeys)

    - #### setVisible

          void setVisible(java.lang.Boolean value,
                          java.lang.String... ctlKeys)

    - #### showConfirm

          void showConfirm(java.lang.String msg,
                           MessageBoxOptions options)

      全局弹出消息框方法
      参数:
        `msg` - 消息内容
        `options` - 弹出框按钮选项

    - #### showConfirm

          void showConfirm(java.lang.String msg,
                           MessageBoxOptions options,
                           ConfirmCallBackListener callBack)

      全局弹出消息框方法
      如有回调方法，回调ID必填
      参数:
        `msg` - 消息内容
        `options` - 弹出框按钮选项
        `title` - 消息头
        `callBackId` - 回调ID
        `callBackListener` - 回调方法

    - #### showConfirm

          void showConfirm(java.lang.String msg,
                           MessageBoxOptions options,
                           ConfirmTypes confirmTypes,
                           ConfirmCallBackListener callBack)

      全局弹出消息框方法，带上提示类型，让前端显示提示的图片
      参数:
        `msg` - 消息内容
        `options` - 弹出框按钮选项
        `confirmTypes` - 提示的类型
        `callBack` - 回调

    - #### showConfirm

          void showConfirm(java.lang.String msg,
                           java.lang.String detail,
                           MessageBoxOptions options,
                           ConfirmTypes confirmTypes,
                           ConfirmCallBackListener callBack)

      全局弹出消息框方法，带上提示类型，让前端显示提示的图片
      参数:
        `msg` - 消息摘要
        `detail` - 消息详细内容
        `options` - 弹出框按钮选项
        `confirmTypes` - 提示的类型
        `callBack` - 回调

    - #### showConfirm

          void showConfirm(java.lang.String msg,
                           java.lang.String detail,
                           MessageBoxOptions options,
                           ConfirmTypes confirmTypes,
                           ConfirmCallBackListener callBack,
                           java.util.Map<java.lang.Integer,java.lang.String> btnNameMaps)

      全局弹出消息框方法，带上提示类型，让前端显示提示的图片
      参数:
        `msg` - 消息摘要
        `detail` - 消息详细内容
        `options` - 弹出框按钮选项
        `confirmTypes` - 提示的类型
        `callBack` - 回调
        `btnNameMaps` - 按钮名称map

    - #### showConfirm

          void showConfirm(java.lang.String tempMsg,
                           java.util.List<MessageBoxLink> msglinks,
                           MessageBoxOptions options,
                           ConfirmTypes confirmTypes,
                           ConfirmCallBackListener callBack)

      单据内悬浮消息框(支持内容设置超链接)
      参数:
        `tempMsg` - 消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
        `msglinks` - 模板占位符替换对象
        `options` - 弹出框按钮选项
        `confirmTypes` -
        `callBack` -

    - #### showConfirm

          void showConfirm(java.lang.String tempMsg,
                           java.util.List<MessageBoxLink> msglinks,
                           MessageBoxOptions options,
                           ConfirmTypes confirmTypes,
                           ConfirmCallBackListener callBack,
                           java.util.Map<java.lang.Integer,java.lang.String> btnNameMaps)

      单据内悬浮消息框(支持内容设置超链接)
      参数:
        `tempMsg` - 消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
        `msglinks` - 模板占位符替换对象
        `options` - 弹出框按钮选项
        `confirmTypes` -
        `callBack` -
        `btnNameMaps` - 按钮名称map

    - #### showSuccessNotification

          void showSuccessNotification(java.lang.String msg,
                                       java.lang.Integer duration)

      单据内成功悬浮消息框
      默认2秒自动消失，可以设置延时关闭时间
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `duration` - 延时关闭时间（毫秒）

    - #### showSuccessNotification

          void showSuccessNotification(java.lang.String msg,
                                       java.lang.Integer duration,
                                       java.util.List<MessageBoxLink> msgLinks,
                                       ConfirmCallBackListener callBackListener)

      单据内成功悬浮消息框
      消息文本可以设置超链接
      默认2秒自动消失，可以设置延时关闭时间
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `duration` - 延时关闭时间（毫秒）
        `msgLinks` - 占位符数据包
        `callBackListener` - 回调监听，内部链接必须设置，不然不发送请求

    - #### showSuccessNotification

          void showSuccessNotification(java.lang.String msg)

      单据内成功悬浮消息框
      默认2秒自动消失
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替

    - #### showSuccessNotification

          void showSuccessNotification(java.lang.String msg,
                                       java.util.List<MessageBoxLink> msgLinks,
                                       ConfirmCallBackListener callBackListener)

      单据内成功悬浮消息框
      消息文本可以设置超链接
      默认2秒自动消失
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `msgLinks` - 占位符数据包
        `callBackListener` - 回调监听，内部链接必须设置，不然不发送请求

    - #### showErrorNotification

          void showErrorNotification(java.lang.String msg)

      单据内失败悬浮消息框
      需要手动关闭
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替

    - #### showErrorNotification

          void showErrorNotification(java.lang.String msg,
                                     java.util.List<MessageBoxLink> msgLinks,
                                     ConfirmCallBackListener callBackListener)

      单据内失败悬浮消息框
      消息文本可以设置超链接
      需要手动关闭
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `msgLinks` - 占位符数据包
        `callBackListener` - 回调监听，内部链接必须设置，不然不发送请求

    - #### showTipNotification

          void showTipNotification(java.lang.String msg)

      单据内提示类别悬浮消息框
      提示类会显示按钮，需要手动关闭
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替

    - #### showTipNotification

          void showTipNotification(java.lang.String msg,
                                   java.util.List<MessageBoxLink> msgLinks,
                                   ConfirmCallBackListener callBackListener)

      单据内提示类别悬浮消息框
      消息文本可以设置超链接
      提示类会显示按钮，需要手动关闭
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `msgLinks` - 占位符数据包
        `callBackListener` - 回调监听，内部链接必须设置，不然不发送请求

    - #### showTipNotification

          void showTipNotification(java.lang.String msg,
                                   java.lang.Integer duration)

      单据内提示类别悬浮消息框
      最小3秒自动消失，可以设置延时关闭时间
      参数:
        `msg` - 消息内容,不能超过50字,超过部分用三个点代替
        `duration` - 延时关闭时间（毫秒）

    - #### showTipNotification

          void showTipNotification(java.lang.String msg,
                                   java.lang.Integer duration,
                                   java.util.List<MessageBoxLink> msgLinks,
                                   ConfirmCallBackListener callBackListener)

      单据内提示类别悬浮消息框
      消息文本可以设置超链接
      最小3秒自动消失，可以设置延时关闭时间
      参数:
        `msg` - 带链接占位符的消息内容,不能超过50字,超过部分用三个点代替 ，占位符格式： #{0}
        `duration` - 延时关闭时间（毫秒）
        `msgLinks` - 占位符数据包
        `callBackListener` - 回调监听，内部链接必须设置，不然不发送请求

    - #### showRobotMessage

          void showRobotMessage(java.lang.String msg)

      发送消息给机器人助手
      参数:
        `msg` -

    - #### showRobotMessage

          void showRobotMessage(java.lang.String msg,
                                int duration)

      发送消息给机器人助手，支持延时关闭
      参数:
        `msg` - 消失内容
        `duration` - 延时关闭时间，单位 毫秒

    - #### closeRobotMessage

          void closeRobotMessage()

      关闭消息给机器人助手
      参数:
        `msg` -

    - #### showFieldTip

          void showFieldTip(FieldTip tip)

      字段上显示提示信息
      参数:
        `tip` -

    - #### showFieldTips

          void showFieldTips(java.util.List<FieldTip> tips)

      字段上显示提示信息（批量）
      参数:
        `tips` -

    - #### createFlexModel

          IDataModel createFlexModel(IDataModel flexModel,
                                     MainEntityType met)

    - #### getServiceAppId

          java.lang.String getServiceAppId(java.lang.String pageId)

      获取指定PageId对应视图所在服务节点的AppId

    - #### previewAttachment

          void previewAttachment(java.util.Map<java.lang.String,java.lang.Object> fileInfo)

      预览附件指令
      参数:
        `fileInfo` - 预览的文件对象信息 数据格式： {"downloadUrl": "https://ierp.kingdee.com:2024/mainbiz/tempfile/download.do?configKey=redis.serversForCache&id=tempfile-470bc88a-1c0c-4d8d-868b-a10560c5bc86&kdedcba=MWMwOWNiM2EtMmEwNi00ZTQ5LTgzYmQtMmE0NTEyNTYyOGYxfn4xNTUwMjEwNDYxOTg4&v=0.5" fileDownloadUrl: "https://ierp.kingdee.com:2024/mainbiz/tempfile/download.do?configKey=redis.serversForCache&id=tempfile-470bc88a-1c0c-4d8d-868b-a10560c5bc86&kdedcba=MWMwOWNiM2EtMmEwNi00ZTQ5LTgzYmQtMmE0NTEyNTYyOGYxfn4xNTUwMjEwNDYxOTg4&v=0.5" fileExt: "png" fileId: "iRXL8JgxOG2D" fileName: "aaa.png" fileSize: "141695" fileTime: 123235545 status: "success"}

    - #### sendWebSocketAction

          void sendWebSocketAction(java.lang.String actionName,
                                   java.lang.Object param,
                                   java.util.List<java.lang.String> userIds)