企业内部开发 客户端API JS-SDK 审批 审批控件中的外部选项
审批控件中的外部选项
最后更新:2022/10/09
可联系渠道经理采购或代理智慧硬件接口已支持设备 联系渠道经理
审批控件中的外部选项
最后更新:2022/10/09

概述

如果企业在已有系统中有数据需要用到审批单据的单选框或多选框控件(以下简称选择控件)中作为选项,可以使用该功能实现。
使用方式:在企业微信管理后台,将选择控件的选项来源设置为“关联外部选项”,同时需要设置一个“外部选项页面地址”。完成后,用户在审批应用中,当编辑选择控件时,会自动打开设置的网页让用户选择选项。
在该网页中,通过调用 JS SDK 提供的接口来保存和获取用户选择的选项,在调用前,请先完成 wx.agentConfig 配置

1. 基础信息获取

当用户从审批中打开配置的网页时,审批应用会额外添加两个参数到 URL 上,开发者需要获取这两个参数并做对应处理:

  • selectorType: 表示该选择控件是单选还是多选,单选 - single,多选 - multi。请注意根据此参数限制用户的选择行为:单选时,只能选择1个,选择多个将报错;多选时,最多选择 300 个,超过将报错。
  • key:调用下述接口时需要原值传入。

 

2. 保存选择的选项

当用户在网页中进行选择时,调用该接口保存用户的选择。

请求示例:

wx.invoke('saveApprovalSelectedItems', {
    "key": key, // 字符串,从 URL 中获取到的 key
    "selectedData": // 字符串,选中的选项格式化为 JSON 字符串,格式见下文
}, (res) => {
    if (res.err_msg === 'saveApprovalSelectedItems:ok') {
        // 保存成功
    }
});

参数说明:

参数名必填类型说明
keystring从 URL 中取到的 key,原值传入。
selectedDatastring选中的选项数组,序列化为 JSON 字符串。注意单选时也需要是一个数组。具体格式下下文。

 

3. 获取已选择的选项

当用户打开网页后,应该先调用一次该接口获取用户已经选择的数据作为初始数据。获取到初始数据后,应该恢复已经选择的选项。

请求示例:

wx.invoke('getApprovalSelectedItems', {
    "key": key, // 字符串,从 URL 中获取到的 key
}, (res)=> {
    if (res.err_msg === "getApprovalSelectedItems:ok") {
        // 获取成功,res.selectedData 为获取到的已选中选项的 JSON 字符串,注意可能为空。格式见下文。
    }
});

参数说明:

参数名必填类型说明
keystring从 URL 中取到的 key,原值传入。

 

4. selectedData 数据格式

调用接口时,保存和获取到的 selectedData 都是 JSON 字符串,其内容为一个数组,格式定义如下:

Array<{
  key: string, // 表示选项的唯一识别 id,不可为空
  value: string, // 选项展示给用户的名字,不可为空
}>

示例:

[{
    key: "item-1",
    value: "选项1"
}, {
    key: "item-2",
    value: "选项2"
}]

 

说明

上一篇
应用发起审批
下一篇
分割线