行为流专讲

1.基本概念

概念

我们常形容,Zion是一个“通过搭乐高的形式”写程序的平台。但是,即使是颗粒度再细的乐高,也无法搭出一个光滑的球体,总有一些功能需求,是光靠zion现有可以可视化配置的组件、行为无法搭建出来的。

比如:

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

这些功能,就需要依赖Zion的行为流来完成。我们可以将Zion的行为流理解为一个函数或api,给输入,然后执行相应行为,最后返回一个输出。而具体执行的逻辑,则由我们自由编写。

基本操作

行为流创建

从主界面进入行为流配置,点击右上角的“创建”可创建行为流。
-设置入参

在入参处输入行为流的输入参数及其类型

-添加与编辑中间节点
点击入参与出参之间的加号,按需添加中间的操作节点
双击节点,可以修改节点名称

在所有操作节点中,只有“代码块”需要手动指定出参类型,其他所有节点均会自动生成自身节点的结果数据/出参。

-节点的入参数据
每一个节点,可以在入参处,引用所有上级节点的结果

如上图,“获取学生信息”节点的上级节点仅有入参节点,因此只能引用入参的事件流数据;第三个节点的上级节点有入参节点与“获取学生信息”,因此2处的事件流数据均可引用。

-设置出参节点
最后,在出参节点处,设置行为流的输出参数的类型,并进行相应的绑定。

行为流调用

首先在页面上需要有一个文字输入框来填写身份证号,然后用一个按钮来调用getBirthday这个函数。入参参数设置为输入框内的身份证号,成功时显示结果数据。

高级功能

定时触发

如果你需要重复的执行某个行为流,可以在行为流界面中,点击右上角的触发器icon,可配置需要定时触发的行为流,以及相应的执行周期。

回调(高阶)

在需要第三方服务器推送的场景下,比如支付、服务号推送新关注用户、明道云workflow推送等场景,可能会遇到需要我们提供一个webhook/callback地址,供对方来调用。
对于有api基础的同学,可以理解为,我们将我们的一个行为流封装成了一个api,供外界来调用。

具体配置:

  1. 点击+添加,添加一条callback,其中回调链接是自动生成的
  2. 如果行为流有入参,则点击配置参数,进行配置:

根据行为流入参的需求,配置相应的callback-request-body的参数。
注意这里只有7种类型的数据,从上到下依次是:文本、浮点数、整数、布尔值、对象、数组、图片
日期/时间戳类型的字段,需要通过TEXT类型传入,格式分别为“1999-09-02”,“1999-09-02T00:00:00+08:00”。

  1. 绑定行为流,在入参参数中配置相应的传参配置,需要外接传参的就配置为callback-request-body中的参数:
  1. 在postman等api工具上,进行调试,看是否执行结果是否符合期待
    url处输入callback地址,在body处以上图格式输入与回调配置参数一致的json结构。

其他

现在自定义行为无法直接输出数组,需要通过json类型包一层,然后在调用时通过算式数组-从json中获取数据取出来。

2022-10-27
0 0