行为流
Zion 平台的行为流为用户提供了流程化操作编排和多种触发方式的工具,最终产出为自定义“行为”,类似于市面上的工作流编辑、自动化流程产品。
免费版用户仅支持配置 1 个行为流,高级版及以上用户可配置无限个行为流。
适用场景
适用于需要执行复杂数据处理和业务逻辑的自动化场景。
- 商城应用:如用户购买金额超 1 万元时自动升级为金卡会员。
- 定时任务:如每日检查所有未支付订单并发送通知。
- 支付回调:如收到支付成功信息后自动执行后续业务逻辑。
行为流的组成
行为流属性
- ID:每个行为流有唯一 ID,可在日志功能中查询。
- 版本:每次变更并保存行为流都会生成新版本。更新后端后,版本才会在后端生效;更新预览后,才会在前端生效。
- 执行方式:支持同步和异步两种执行方式(指行为流本身,不是节点)。
- 同步:按顺序执行,需等待前一个完成。
- 异步:可并行处理,适合高并发或耗时操作。
同步 | 异步 | |
---|---|---|
执行顺序 | 按顺序 | 无法确定 |
是否阻塞其他行为流 | 是 | 否 |
超时时长 | 整个行为流 15 秒(付费项目无限制) | 每个节点 15 秒(付费项目无限制) |
超时/出错处理 | 所有数据修改会回滚 | 数据修改不会回滚 |
适用场景 | 顺序要求严格、操作时长较短 | 高并发、AI 会话等 |
- 通过回调方式触发异步行为流时,可用
fz_listen_action_flow_result
订阅接口监听结果:
subscription listenResult {
fz_listen_action_flow_result(taskId: "_____") {
output
status
}
}
行为流变量
定义后可被行为流内所有节点引用,也可用“赋值行为流变量”节点赋值。
节点
目前已支持数据库操作、执行 AI、权限修改、API 调用、执行代码块等多类型节点。
触发方式
- 页面点击事件触发
- 数据库变更触发
- 定时触发
- 回调触发
使用教程
整体流程为:创建并配置行为流节点内容、配置触发器、配置权限、前端调用/自动化执行行为流。
配置行为流
- 点击行为流上的创建按钮,即可新增一个行为流。
- 配置行为流指的是按照业务逻辑行为节点操作的编排,除几大类型节点外,还支持配置分支,用以处理逻辑分叉。
- 每一个行为流也可以通过设置入参来接受外部的数据,配置出参来向外部输出该行为流执行结果。
- 行为流执行方式:有同步和异步两种方式,想要执行zai,必须使用异步的执行方式。
- 行为流变量:指的是在行为流中声明一个变量,通常在条件分支里用以接受不同分支的过程结果。
操作节点
-
入参 可以配置行为流执行时需要传入的数据,该入参可以被行为流所有节点使用
-
行为节点(点击“+”号新增节点)
- 数据库操作:可以选择一张表进行数据的查询、插入、修改和删除
- 第三方API:可以选择执行一个已经在API功能上配置的api,可以将api的返回结果绑定在出参上,即可在行为流上输出该api的执行结果
- AI:可以选择执行一个已经在ZAI中配置的zai
- 赋值行为流变量:可以对已经声明的行为流变量进行赋值(在行为流基本信息中声明)
- 权限:可以执行对某些进行角色的赋予与移除
- 条件:用以增加逻辑判断的分支流程,执行顺序为从左到右依次判断。配合行为流变量可以输出整个分支最后的结果
- 执行代码块:可以执行一个自定义的代码块,具体教程见子文档。
- 出参
可以配置该行为流对外输出的结果
配置触发器
Zion目前支持三种触发器,分别为定时触发、数据库表变更触发、回调触发,同时也可以在某按钮上配置执行行为流的事件来进行某行为流的触发。一个行为流支持配置多个触发器,但官方建议一个行为流使用一个触发器,以防混淆。
- 定时触发
可以设定该行为流在某些周期性的时刻自动触发,如想设定复杂的周期,可以使用Cron表达式。
可以设定该行为流在某些表的某些内容发生变化时来自动触发,该触发器可以实现非常多的业务逻辑。
- 回调触发
等于使用webhook来进行触发,需要配置回调请求的body格式。该触发方式适用于有代码基础和编程能力的用户。
- 前端触发
在组件或者页面右边栏上,添加”请求-行为流-“ 行为即可通过前端页面组件点击事件触发该行为流。
注意事项
- 自动化执行次数需要付费购买,Zion会给不同版本的项目赠送不同的自动化执行次数,当次数用完后需要重新购买,购买方式:个人中心-项目-管理-自动化执行次数。
- 节点配置完成并保存、发布后,才可以配置触发器。
配置权限
每一条行为流都可以在设置-权限中设置哪些角色可以使用
查看日志
可以在项目详情页-运行日志中查看行为流的运行日志,可以通过上文的行为流进行精确搜索。
注意事项
- 行为流中没有使用强类型校验,因此可以把类型为【文字】的变量赋值给类型为【整数】的变量
- 删除的节点的时候,要先删除后面使用到该节点的出参
- 行为流有版本的概念:行为流编辑是不会自动化保存的,必须点击右上角的保存后进行后端部署才会更新线上应用使用的版本,回调和定时触发器执行的是最新部署后端的最新版本
- 行为流支持的公式较少,具体内容见产品内部
Last updated on