---
title: .afl 程序流元数据
description: .afl 程序流文件阅读入口，指向节点、执行设置、输入输出、控制关系和动作组件类型的 DTS 说明
navTitle: .afl
---
# .afl 程序流元数据

程序流把一次业务动作拆成可编排的节点、分支、循环、子流程、变量和返回结果，常用于后端服务、页面事件、接口动作、自动化任务、数据处理和系统集成。

afl 是低代码应用的动作逻辑层。它既可以像服务端 Action 一样被 HTTP、脚本或调度调用，也可以作为页面内嵌流程响应按钮点击、表单提交、数据刷新和组件联动；复杂逻辑由节点图表达，节点类型由动作组件 DTS 继续定义。

当业务需要跨多个模型读写数据、调用外部接口、生成文件、发送消息、封装可复用动作，或把页面事件升级成可维护的流程图时，应优先考虑程序流。如果目标是审批、任务流转和人工办理路径，通常使用工作流（wfl）。

## 节点类型{#node-types}

程序流节点的 `type` 对应动作组件扩展点，具体字段见动作节点 DTS。`actionType` 描述节点动作类别，用于区分入口、子流程、循环、流程控制、业务动作和 UI 动作等执行语义，取值见 `succ.meta.afl.NodeActionType`。

## 示例文件{#examples}

- [程序流.afl](https://demo.succbi.com/v5/DEMO/app/whats-new.app/API/程序流.afl) - 应用 API 程序流示例
- [HTTP请求\_GET.afl](https://demo.succbi.com/v5/DEMO/app/afl.app/节点/HTTP请求/HTTP请求_GET.afl) - HTTP 请求节点示例
- [IF\_基础.afl](https://demo.succbi.com/v5/DEMO/app/afl.app/节点/if/IF_基础.afl) - 分支控制示例

## DTS 入口{#types}

- 程序流根结构：[`types/meta/file-types/afl.d.ts`](../../../../../dev-types/types/meta/file-types/afl.d.ts)
- 动作节点类型：[`types/meta/actionComponent/index.d.ts`](../../../../../dev-types/types/meta/actionComponent/index.d.ts)
- 入口节点示例：[`types/meta/actionComponent/entry.d.ts`](../../../../../dev-types/types/meta/actionComponent/entry.d.ts)
- 调用程序流节点：[`types/meta/actionComponent/executeActionFlow.d.ts`](../../../../../dev-types/types/meta/actionComponent/executeActionFlow.d.ts)
- 执行 SQL 节点：[`types/meta/actionComponent/executeSql.d.ts`](../../../../../dev-types/types/meta/actionComponent/executeSql.d.ts)
