选项类字段在简道云平台整体的表单搭建过程中,是一个既基础又较高频的字段,概括来说,目前,即可自定义赋值,也可以通过关联数据或数据联动的方式来赋值。但在一些特殊场景的应用中,还是会有一些不够便捷,比如:如何让选项的值更为灵活、更为动态。
之前曾提出过一个需求和建议,希望可以提供一个函数,能够做到动态赋值,公式的原型为:
jdylist (列表,[默认已选内容])
主要解决的是基于要实现某一特殊场景,迫不得已必须通过大量的辅助性表单或字段来实现。
之前,已有相关文章提出过,间接性的解决方式,这里就不再赘述。
>>> 资料链接
1. 简道云自建插件实现复选框字段可变选项的实践
2. 插件源码:复选类字段动态赋值
近期的更新动态中,有关注到 “ 智能助手Pro新增HTTP触发方式 ”:
智能助手Pro 新增 HTTP 触发方式,可以在指定 URL(由智能助手Pro 生成并提供)接收到外部数据时触发智能助手 Pro,以实现外部数据即时回写至简道云表单,顺利完成业务闭环。
>>> 详情查阅
https://hc.jiandaoyun.com/doc/19774
此之前,“出”数据可以通过插件或webhook等方式较为自动的实现,“进”数据一直没有较为便捷的方式,通过API来实现整体过程又会显的较为复杂,本次“ 智能助手Pro新增HTTP触发方式 ”,视乎为“进数据”提供了一种官方支持的较为便捷的方式。
故而,便有了本次针对“动态选项”场景的一次实践或说优化。
> 效果演示
> 体验链接
1、基于 HTTP触发助手 自建插件;
2、智能助手PRO中未配置白名单;
3、使用选项数量会影响执行时长。
https://tnvew1vqtq.jiandaoyun.com/f/666dadc42892b47c5918ec33
> 实现逻辑
1、建立一个辅助表单;
2、表单中设置“标识”与“信息”两个字段。
> 实现方式
1、在功能表单中触发智能助手PRO
2、通过智能助手PRO的HTTP触发方式,将相关信息新增至辅助表单
3、在功能表单中匹配辅助表单中的相关信息
>> 前端事件
>>> 实现逻辑
1、新建智能助手pro,触发方式选择 “HTTP触发”;
2、在智能助手中获取到“触发地址” 并复制地址链接;
3、在功能表单中添加“前端事件”,执行动作为 post , 并在 URL 中添加 触发地址的链接;
4、设置前端事件的“Header/Body”,在 Body 中添加相关信息;
5、在 “智能助手pro” 中 “点击获取示例数据”;
6、在 “前端事件” 中 进行 “调试”操作;
7、在“智能助手pro” 中 基于获取到的示例信息,进行后续的新增数据;
8、在功能表单中获取到相关状态以触发重新匹配选项数据。
>>> 注意事项
因本场景中是添加选项信息,故而实质上,一次请求需要触发的不是一次智能助手,而是多次触发,具体实现方式是由习惯中的主表单字段触发调整为子表单字段触发,基于当前官方文档中接收请求频率限制的数据:
智能助手Pro 为启用状态且配置了 IP 白名单:20 次/秒;
智能助手Pro 为启用状态但未配置 IP 白名单:1 次/秒;
智能助手Pro 为未启用状态:1 次/秒。
所以需要配置白名单,IP 地址可在 “获取示例数据”时,从相关信息中查阅到,但此 IP 是否为 固定 IP 暂无相关依据。
故而,可能会因白名单中的IP地址或请求频率限制等原因出现失效与信息不完整等情况。
>> 自建插件
自建插件的逻辑与过程和前端事件基本一致,通过自建插件将部分功能进行了整合与优化,使整体的部署的过程相对来说更为简单便捷一些。
>>> 插件概述
HTTP触发助手是专门为简道云智能助手PRO中HTTP触发设计的便捷插件,实现一次请求多次触发,同时兼顾频率限制与请求时长。
>>> 功能特点
更灵活的配置:设置丰富的请求参数,便于自定义各类应用场景。
多次触发能力:允许用户在单次请求中包含多个数据点,自动逐个触发。
失败重试机制:在请求失败时,根据频率限制自动进行重试,提高成功率。
时长限制管理:达到请求时长限制后,如果任务未能完成,返回失败反馈。
>>> 请求参数
推送地址:接收推送的触发地址,必须提供,且为单行文本格式。
请求标识:本次任务的请求标识,非必须,用于用户自定义标识,为单行文本格式。
信息内容:所推送内容,非必须,为单行文本格式。
分隔符号:所推送内容的分隔符号,非必须,默认为逗号(,),为单行文本格式。
响应匹配键:返回字典中验证执行成功的key,必须提供,为单行文本格式。
响应匹配值:返回字典中对应key的value,必须提供,为单行文本格式。
重试延时:发送失败后重试的时间间隔(秒),必须提供,为数字类型。
请求时长:所处执行环境限定的请求时长(秒),建议略低于指定数值,必须提供,为数字类型。
>>> 发送内容
请求标识 ( start_id ):这是一个用户请求时自带的标识,同一批次一致。
信息内容 ( info_content ):这是一个字符串,包含了需要提交的具体信息或数据。
批次标识 ( batch_id ):由系统自动生成用于标识触发所属的批次,同一批次一致。
会话标识 ( session_id ):由系统自动生成用于标识当前本次的触发,唯一性标识。
>>> 返回参数
执行标识:执行本次求,回复时生成的唯一标识。
有效次数:本次请求中共计有效触发推送地址次数。
执行状态:如果全部执行完毕回复“success”,反之为“error”。
>>> 插件源码
点击这里获取插件源码 [非免费]
>>> 注意事项
依然会有“接收请求频率限制”的问题,在本插件中,增加了失败后重试的机制,理论上说在当前请求时长内,只要整体的触发次数不超过限制,便为一直重复尝试,直到成功。
> 本期总结
无论是前端事件,还是自建插件,在本场景中,“接收请求频率限制”均为一个不可忽视的限制,若需使用,需提前评估好触发量以及应用场景是否适合。
接收请求频率限制,可以形象的理解为车道,触发链接即为当前的道路,白名单即为设置一个验证身份信息的关卡,而使用者的请求就像是一个一个的车队。
1、只有一个车队一辆车时,可以随时通行过去;
2、同时,多个车队多辆车时,就像需要按车道,逐个通行过去;
3、每一个车队都会有时长限制,在规定时间内,如果未通行过去,本次请求便为失败。
所有的优化,最终基本是围绕接收请求频率限制与当前场景请求时长这两个限制,在规则之内,更有效的执行。
1、基于前端事件,目前暂无较为适合的容错机制,适用于简单的场景;
2、因自建插件的IP不固定,当前的有效请求频率为 1次/秒;
3、将自建插件功能移至外部服务器,基于固定的IP,添加白名单后可获得 20次/秒;
4、等待官方收编或上架类似插件,基于官方插件的固定IP,添加白名单后可获得 20次/秒;
5、基于新建多条数据 API ,不再经过智能助手,可实现 20 次/秒(100条 / 次 )。
> 更多内容
承接简道云技术咨询与应用定制
承接月度技术支持服务
更多沟通交流可添加微信(zmlnow)
添加时请备注:简道云
|