Skip to Content
行为配置行为流行为流

行为流

Zion 平台的行为流为用户提供了流程化操作编排和多种触发方式的工具,最终产出为自定义“行为”,类似于市面上的工作流编辑、自动化流程产品。

免费版用户仅支持配置 1 个行为流,高级版及以上用户可配置无限个行为流。

适用场景

适用于需要执行复杂数据处理和业务逻辑的自动化场景。

  • 商城应用:如用户购买金额超 1 万元时自动升级为金卡会员。
  • 定时任务:如每日检查所有未支付订单并发送通知。
  • 支付回调:如收到支付成功信息后自动执行后续业务逻辑。

行为流的组成

基础属性

  • ID:每个行为流有唯一 ID,可在日志功能中查询。详见 日志服务
  • 版本:每次变更并保存行为流都会生成新版本。
    • 更新预览:前端和后端同时更新到最新的版本
    • 同步变更:仅将后端变更同步到最新版本
    ⚠️

    如果只同步后端,而前端仍在调用旧版本的行为流,会导致不符合预期的情况。

  • 执行方式:支持同步和异步两种执行方式(指行为流本身,不是节点)。
    • 同步:调用后会等待执行结果。同步行为流具备 ACID 特性:
      • 原子性:整个行为流被视为一个不可分割的最小单元,对数据库数据的修改要么全部成功,要么全部失败。不会出现只修改了部分数据的情况。大大增加了数据的可靠性。
      • 一致性:保证数据库数据始终处于合法的状态,不会出现脏数据。
      • 隔离性:行为流之间不会互相干扰,避免因数据争抢导致的混乱和错误,让结果更加可控和可预测。
      • 持久性:一旦行为流执行完成,对数据库的修改就会永久生效,保证数据安全。
    • 异步:先调用,后监听结果。 如果通过回调方式触发异步行为流,需用 fz_listen_action_flow_result 订阅接口监听结果:
      subscription listenResult { fz_listen_action_flow_result(taskId: "_____") { output status } }
    • 同步和异步的详细对比
      同步异步
      超时时长整个行为流 15 秒(付费项目无限制)每个节点 15 秒(付费项目无限制)
      超时/出错处理所有数据库的数据修改都会被回滚错误节点上的数据库的数据更改会被回滚

行为流变量

定义后可被行为流内所有节点引用,也可用“赋值行为流变量”节点赋值。

节点

目前已支持数据库操作、执行 AI、权限修改、API 调用、执行代码块等多类型节点。

触发方式

  • 页面点击事件触发
  • 数据库变更触发
  • 定时触发
  • 回调触发

行为流首页示意图

使用教程

整体流程为:创建并配置行为流节点内容、配置触发器、配置权限、前端调用/自动化执行行为流。

配置行为流

  • 点击行为流上的创建按钮,即可新增一个行为流。
  • 配置行为流指的是按照业务逻辑行为节点操作的编排,除几大类型节点外,还支持配置分支,用以处理逻辑分叉。
  • 每一个行为流也可以通过设置入参来接受外部的数据,配置出参来向外部输出该行为流执行结果。
  • 行为流执行方式:有同步和异步两种方式,想要执行zai,必须使用异步的执行方式。
  • 行为流变量:指的是在行为流中声明一个变量,通常在条件分支里用以接受不同分支的过程结果。

操作节点

  1. 入参 可以配置行为流执行时需要传入的数据,该入参可以被行为流所有节点使用

  2. 行为节点(点击“+”号新增节点)

  • 数据库操作:可以选择一张表进行数据的查询、插入、修改和删除
  • 第三方API:可以选择执行一个已经在API功能上配置的api,可以将api的返回结果绑定在出参上,即可在行为流上输出该api的执行结果
  • AI:可以选择执行一个已经在ZAI中配置的zai
  • 赋值行为流变量:可以对已经声明的行为流变量进行赋值(在行为流基本信息中声明)
  • 权限:可以执行对某些进行角色的赋予与移除
  • 条件:用以增加逻辑判断的分支流程,执行顺序为从左到右依次判断。配合行为流变量可以输出整个分支最后的结果
  • 执行代码块:可以执行一个自定义的代码块,具体教程见子文档。
  1. 出参 可以配置该行为流对外输出的结果

配置触发器

Zion目前支持三种触发器,分别为定时触发、数据库表变更触发、回调触发,同时也可以在某按钮上配置执行行为流的事件来进行某行为流的触发。一个行为流支持配置多个触发器,但官方建议一个行为流使用一个触发器,以防混淆。

  1. 定时触发

可以设定该行为流在某些周期性的时刻自动触发,如想设定复杂的周期,可以使用Cron表达式。

  1. 数据库内容变更触发

可以设定该行为流在某些表的某些内容发生变化时来自动触发,该触发器可以实现非常多的业务逻辑。

  1. 回调触发

等于使用webhook来进行触发,需要配置回调请求的body格式。该触发方式适用于有代码基础和编程能力的用户。

  1. 前端触发

在组件或者页面右边栏上,添加”请求-行为流-“ 行为即可通过前端页面组件点击事件触发该行为流。

💡
  1. 自动化执行次数需要付费购买,Zion会给不同版本的项目赠送不同的自动化执行次数。当次数用完后需要重新购买,购买方式:个人中心-项目-管理-自动化执行次数。
  2. 节点配置完成并保存、发布后,才可以配置触发器。

配置权限

每一条行为流都可以在设置-权限中设置哪些角色可以使用

行为流权限设置示意图

查看日志

可以在项目详情页-运行日志中查看行为流的运行日志,可以通过上文的行为流进行精确搜索。

注意事项

  1. API 在行为流中被调用,请求超过60s会被直接终止。
  2. 行为流有版本的概念:行为流编辑是不会自动化保存的,必须点击右上角的保存后进行后端部署才会更新线上应用使用的版本,回调和定时触发器执行的是最新部署后端的最新版本
  3. 行为流支持的公式较少,具体内容见产品内部
Last updated on