【对接方案】活字格对接钉钉流程之表单数据组装
本帖最后由 Joseph.Wang 于 2024-9-30 16:37 编辑在之前的 【对接方案】活字格对接钉钉流程 帖子中,和格友们分享了和钉钉流程对接的思路,其中一个比较重要的环节就是按照钉钉的接口文档组装请求数据,之前的帖子中是以一个简单的表单举例的,本次就来分享一下,如果表单中涉及到了表格,该如何组装数据。
假如我们此次钉钉的表单如下所示,有个商品明细的表格,其中有两列,分别是商品名称和数量
通过钉钉接口文档可以看出来,数据组装的关键是formComponentValues这个参数,这个参数是一个数组的形式,其中重点就是name和value这两个属性
name表示的是钉钉表单中控件的名称,即设计表单时的标题,点击每个控件右上方会显示;value表示的是要给这个控件传的值
以本次表单举例,如果原因字段的内容是"家里有事",备注字段的内容是"可能需要请假两天",那么formComponentValues的格式应该是以下这样
{"formComponentValues":[{"name":"原因","value":"家里有事"},{"name":"备注","value":"可能需要请假两天"}]}
对于"商品明细"这种表格而言,也是类似的思路,只是会稍微复杂一点
假如商品明细数据内容如上图所示,那么通过活字格的"设置变量命令"查询出来其实是这样的结构
[{"商品名称":"A","数量":10},{"商品名称":"B","数量":15}]
此时查出来的是多行数据,因此需要使用"循环命令",再加上"数组操作"和"对象操作"的插件,最终组装成这样
[[{"name":"商品名称","value":"A"},{"name":"数量","value":"10"}],[{"name":"商品名称","value":"B"},{"name":"数量","value":"15"}]]
可以看到,由于是多条数据,因此整体是数组格式,而其中每一行仍然是name、value的数组形式。如果再加上之前的原因和备注字段,那么整体应该是如下格式
{"formComponentValues":[{"name":"原因","value":"家里有事"},{"name":"备注","value":"可能需要请假两天"},{"name":"商品明细","value":[[{"name":"商品名称","value":"A"},{"name":"数量","value":"10"}],[{"name":"商品名称","value":"B"},{"name":"数量","value":"15"}]]}]}
以上是组装数据的思路,附件是对应的Demo,大家可以参考,然后和之前的帖子结合着使用,欢迎大家多多交流。
页:
[1]