探索:动态选项新方案,如何通过智能助手PRO优化简道云表单设计

楼主
简道云应用场景探索者

 

选项类字段在简道云平台整体的表单搭建过程中,是一个既基础又较高频的字段,概括来说,目前,即可自定义赋值,也可以通过关联数据或数据联动的方式来赋值。但在一些特殊场景的应用中,还是会有一些不够便捷,比如:如何让选项的值更为灵活、更为动态。

 

 

之前曾提出过一个需求和建议,希望可以提供一个函数,能够做到动态赋值,公式的原型为:

 

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)

添加时请备注:简道云

 

 

 

分享扩散:
参与人数 +1 F币 +70 理由
苏瑞 + 70 【2024原创内容激励奖励】给你32个赞!

查看全部评分

沙发
发表于 2024-6-18 11:05:30
您好,您此篇文章主要是通过智能助手PRO优化简道云表单设计,文章逻辑清晰,内容规范完整,可读性较强.感谢您的投稿,期待您的下一篇精彩文章~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 4258浏览人数
最后回复于:2024-6-27 16:36

返回顶部 返回列表