行为流配置基础

行为流概念

行为流可以理解为在 Zion 中封装了一个函数或者说定一个一个处理某些事情的一个方法,这个函数可以接收入参,然后通过自定义配置其中的业务逻辑对入参进行处理之后,最终给出一个出参(结果) 比如:

  • 输入身份证号后,自动获取出生日期;
  • 从题库中随机选取一题当前用户没有做过的题目;
  • 每隔1分钟,判断数据库中有没有处于“待支付”状态超过15分钟的订单,有则将其状态改为“交易过期”;
  • 将操作数据库的命令,封装为 API 供外界调用,比如支付后要如何操作数据库。# 注意事项

  • 行为流中没有使用强类型校验,因此可以把类型为【文字】的变量赋值给类型为【整数】的变量

  • 删除的节点的时候,要先删除后面使用到该节点的出参# 行为流版本的概念

    Tips:

    • 行为流编辑是不会自动化保存的,必须点击右上角的保存,不然不会执行最新的行为流
    • 每次保存后,版本号+1
    • 回调和定时触发器执行的是最新部署后端的最新版本

例:

  • 在小程序中触发的行为流执行版本1
  • 通过回调或定时触发器执行的是版本2# 行为流配置入口 点击编辑器左上角的【行为流】按钮即可进入行为流创建页面

创建行为流

点击行为流创建页面右上角的【创建】按钮即可创建一个行为流

行为流基本信息与触发器

创建行为流之后,点击行为流空白部分可以查看以及配置行为流基本信息和配置触发器 基本信息: 修改行为流名称、添加行为流变量以及设定行为流的执行方式,其中执行方式分为【同步】和【异步】。【同步】指各行为流按顺序执行,前一个完成后,才可运行下一个,执行期间出错时,所有数据修改会被撤销。而【异步】执行允许各行为流并行处理,出错时不撤销数据修改。 触发器: 配置【回调】、【定时任务】

配置行为流

一个完整的行为流配置包括了:配置入参、行为流操作/分支、配置出参这三个部分

配置入参

如果你的行为流是对用户输入的数据或者时前端页面逻辑产生的数据进行进一步的处理时,需要点击行为流最上方的【入参】按钮,来添加入参。所添加的参数为了方便使用,建议重新命名以及选择合适的数据类型。 如图所示,添加了一个名为“question”,类型为“文本”的入参,在后续的操作中,都可以使用这个参数。

节点、操作与分支的概念

节点

在行为流中的每一个【+】号,都代表着一个【节点】,在每个节点中可以使用上级节点产生的结果数据 例如:上一个操作名为“profile”,作用为获取 profile 表中数据当前用户的数据,下一个操作为更新 profile 表中的同一条数据,在更新操作的过滤条件中可以直接引用「行为流数据 - profile」中的 ID 作为过滤条件来实现更新同一条数据的作用。

操作

在行为流中要执行的获取数据、更新数据、代码块、调用 API 等行为,操作的执行顺序是从上往下的

分支

在不同的条件下执行不同的操作时,可以添加分支来设置判断条件,条件的判断顺序为从左往右,添加分支时至少有两个分支。当只有两个分支时,删除任意一个即可删除整个条件分支。

添加操作

为了实现各类业务需求,行为流中可以配置如下八种操作

获取数据

添加该操作后,在运行行为流时,可以通过配置过滤条件、去重、排序,直接读取数据表中的一条或者多条数据,获取到的数据,可以在后续的行为流的其它操作或者分支中使用

删除数据

添加该操作后,在运行行为流时,会执行删除某张表中符合过滤条件的数据的行为

更新数据

添加该操作后,在运行行为流时,会执行更新某张表中符合过滤条件的数据的行为

添加数据

添加该操作后,在运行行为流时,会执行向某张表中添加一条数据,打开批量操作后,则可以添加多条。批量修改的配置方法参考:【批量添加】

赋值行为流变量

作用:将行为流某个节点中的结果赋值给到行为流变量,而后拿到下方行为流中或者作为出参使用

  • 点击行为流空白处,点击行为流基本信息,添加行为流变量

  • 一般在条件分支下,添加赋值行为流变量的行为,将符合条件的结果赋值给改变量,而后拿到下方行为流中或作为行为流出参使用

代码块

可以在行为流中编辑 JS 代码,来实现更多复杂逻辑,详情见【行为流中编写代码块】

第三方 API

可以在行为流中调用 API 获取/修改外部数据,详情见【行为流中调用 API】

配置出参

如果需要将行为流处理的结果拿去前端页面使用(展示在页面或作为页面中条件行为的判断条件等),那么要在行为流的【结束】中配置出参, ⚠️ 注意:出参的名字要以英文命名,否则在预发布/发布时执行行为流时会不生效

行为流中的代码块、API

详见【代码块基础】【代码块高阶】【行为流中调用 API】

触发行为流

通过「行为流」行为触发

详见【行为流】

通过「定时任务/回调」触发

详见【定时任务/回调】

Copyright © FunctorZ 2024 all right reserved修订时间: 2024-10-16 06:02:13

results matching ""

    No results matching ""