---
order: 54
navTitle: 调用程序流
---
# SuperPage交互-调用程序流

SuperPage的交互动作除了在页面上设置使用外，还可以通过**调用程序流**的方式完成，更多说明可以查看[程序流](../../../actionflow/README.md)文档。本文介绍如何在SuperPage中使用一个已经配置好的程序流，如在SuperPage中通过**调用程序流**完成点赞的数据写入：

![调用程序流交互动作](./images/2021_09_27_10_05_10_956.gif)

示例地址：[排序数据](https://demo.succbi.com/v5/demo-spg/%E6%8E%92%E5%BA%8F%E6%95%B0%E6%8D%AE)

## 使用调用程序流{#use}

使用**调用程序流**交互动作之前，需要在应用下先创建好[程序流](../../../actionflow/design.md)。设置调用程序流交互动作时，选择需要调用的程序流，交互动作在执行时会调用选择的程序流，程序流执行完毕后会更新当前SuperPage的数据。具体操作步骤如下：

![使用调用程序流](./images/2021_09_27_17_23_31_449.gif)

1. **选择程序流**：在**程序流**属性中选择对应的**程序流**，该属性会列出当前项目下所有的程序流，按需选择
2. **设置参数**：在**参数**属性中传递两条值到程序流中，更多说明可参考[传递参数](#trans-param)
   1. 参数名称为`dz`，值为`IF([点赞表].[类型]=1,0,1)`
   2. 参数名称为`qyid`，值为`[企业基本信息].[企业内部序号]`

## 传递参数{#set-param}

在**调用程序流**交互动作中，可以向[程序流](../../../actionflow/README.md)中传递参数的值，主要有以下几点：

1. 提前在相应的程序流中添加[全局参数](../../../../data-viz/dash/design/data/param.md)
2. 在**调用程序流**的**参数**属性中，点击**编辑参数**按钮，并在**参数**对话框中设置参数与值的对应关系

通过以上两个步骤，即可在调用该**程序流**时，为**程序流**中的**全局参数**赋值。

![传递参数](./images/2021-09-27-17-35-21.png)

## 回传参数{#get-param}

当**调用程序流**执行结束后，需要获取**程序流**返回的内容显示在SuperPage界面上，可以通过**回传参数**将**程序流**中的数据回传到SuperPage页面中来，如调用**程序流**中配置好的算法服务，将值返回给前端页面进行展示。设置如下：

1. 勾选**回传参数**选项，该选项默认勾选
2. 点击**编辑参数**按钮，在参数对话框中设置当前页面的参数与程序流的参数之间的对应关系

若勾选后没有设置对应关系，参数则不会回传。

![回传参数](./images/2021-09-29-10-00-43.png)

- **参数名称**：当前SuperPage中定义的全局参数，用来接收回传的参数值
- **参数值**：**程序流**中定义的全局参数，在**程序流**中通过更新全局参数的值来回传给SuperPage中指定的参数

:::tip

可以把**传递参数**和**回传参数**理解为在调用方法时，给方法传递参数，以及获取方法调用后的返回值。

:::
