Dify搭建表单信息提交系统
工作流github地址:hello-zahn/dify-common-dsl
一、关键节点
- 会话变量
- 模板转换
- 变量赋值
二、节点说明
2.1 会话变量
参考:Dify文档:会话变量
当前对话窗口的全局变量
支持的数据类型
- String 字符串
- Number 数值
- Object 对象
- Array[string] 字符串数组
- Array[number] 数值数组
- Array[object] 对象数组
注意:需要使用变量赋值节点
2.2 模板转换
参考:Dify文档:模板转换
允许借助 Jinja2 的 Python 模板语言,实现数据转换、文本处理等
这里主要用于生成 HTML 的表单
支持的 HTML 的表单
<form data-format="json"> // Default to text
<label for="username">Username:</label>
<input type="text" name="username" />
<label for="password">Password:</label>
<input type="password" name="password" />
<label for="content">Content:</label>
<textarea name="content"></textarea>
<label for="date">Date:</label>
<input type="date" name="date" />
<label for="time">Time:</label>
<input type="time" name="time" />
<label for="datetime">Datetime:</label>
<input type="datetime" name="datetime" />
<label for="select">Select:</label>
<input type="select" name="select" data-options='["hello","world"]'/>
<input type="checkbox" name="check" data-tip="By checking this means you agreed"/>
<button data-size="small" data-variant="primary">Login</button>
</form>
2.3 变量赋值
参考:Dify文档:变量赋值
通过变量赋值节点,可将工作流内的变量赋值到会话变量中用于临时存储
三、工作流逻辑
会话变量设置一个判断是否完成了提交信息的整型变量,未完成走表单分支,完成走提交信息后的分支

参考:Dify官方文档