跳轉到內容

IF Else(條件判斷)

屬性值
節點英文名IF Else
節點中文名稱條件判斷
版本v1.0
支援場景Chatflow Agent ✓, Workflow Agent ✓
測試執行支援-

快速參考 ​

運算子功能示例
包含檢查字串包含子字串"hello world" 包含 "world"
不包含檢查字串不包含子字串"hello" 不包含 "world"
是檢查值相等狀態 是 "完成"
不是檢查值不相等型別 不是 "管理員"
為空檢查值為空郵箱 為空
不為空檢查值不為空使用者名稱 不為空

功能說明 ​

IF Else 節點提供強大的條件判斷能力:

  • 條件分支: 支援 IF、ELIF、ELSE 多重條件判斷
  • 運算子豐富: 支援字串、比較、空值等多種運算子
  • 邏輯組合: 支援 AND、OR 邏輯關係組合
  • 流程控制: 根據條件控制工作流執行路徑

節點展示內容 ​

條件分支節點在畫布上的展示:Case 1(IF)、Case 2/Case 3(ELIF) 與 ELSE 各自獨立的輸出連線點,多條件間顯示 OR 關係

1. 基本資訊展示 ​

  • 圖示: 節點專用圖示
  • 名稱: 節點名稱
  • 條件邏輯: 顯示配置的條件邏輯(詳細見右側的圖中說明)
  • 註釋: 使用者新增的說明文字

2. 操作按鈕 ​

  • 更多按鈕: 點選後展示右鍵選單內容

節點編輯區域 ​

條件分支編輯面板:IF/ELIF 條件配置 (引用變數 + 運算子 + 比較值,AND/OR 切換)、+ELIF 新增分支、ELSE 兜底說明,以及「下一步」中各分支的跳轉目標節點

1. IF 條件分支 ​

  • 子條件: 支援選擇變數,點選後彈出選擇變數視窗
  • 比較值: 支援輸入值
  • 運算子: 變數和比較值之間的運算子包括:
    • 包含: 檢查變數是否包含指定值
    • 不包含: 檢查變數是否不包含指定值
    • 開始是: 檢查變數是否以指定值開始
    • 結束是: 檢查變數是否以指定值結束
    • 是: 檢查變數是否等於指定值
    • 不是: 檢查變數是否不等於指定值
    • 為空: 檢查變數是否為空
    • 不為空: 檢查變數是否不為空
  • 邏輯關係: 子條件之間關係,支援 And 或者 OR

2. ELIF(Else IF 條件分支) ​

  • 配置方式: 同 IF 條件分支,可以新增和移除
  • 條件判斷: 支援多個 ELIF 條件
  • 優先順序: 按順序進行條件判斷

3. ELSE ​

  • 預設分支: 當所有條件都不滿足時執行
  • 必需分支: 建議總是包含 ELSE 分支

4. 下一步配置 ​

  • 分支數量: 有多少分支,則自動展示分支的下一步
  • 分支連線: 每個分支可以連線不同的下一個節點

執行邏輯 ​

IF Else 節點的執行邏輯由後端實現,確保條件判斷的正確性。

右鍵操作 ​

右鍵選單包含以下選項:

  1. 更改節點: 修改節點型別
  2. 複製: 複製節點
  3. 複製: 複製節點內容
  4. 刪除: 刪除節點
  5. 幫助連結: 跳轉到幫助文件

測試執行 ​

  • 支援狀態: 不支援測試執行
  • 更改節點: 支援更改節點型別
  • 複製功能: 支援複製、剪貼、刪除操作

條件運算子詳解 ​

1. 字串運算子 ​

  • 包含: 檢查字串是否包含子字串
  • 不包含: 檢查字串是否不包含子字串
  • 開始是: 檢查字串是否以指定字首開始
  • 結束是: 檢查字串是否以指定字尾結束

2. 比較運算子 ​

  • 是: 檢查值是否相等
  • 不是: 檢查值是否不相等

3. 空值運算子 ​

  • 為空: 檢查值是否為空(變數不存在、null 或空字串)
  • 不為空: 檢查值是否不為空

使用場景 ​

1. 業務邏輯分支 ​

  • 使用者型別判斷: 根據使用者型別執行不同邏輯
  • 許可權控制: 根據使用者許可權執行不同操作
  • 狀態處理: 根據物件狀態執行不同處理
  • 流程控制: 根據條件控制流程走向

2. 資料處理 ​

  • 資料驗證: 根據資料格式執行不同處理
  • 型別判斷: 根據資料型別執行不同操作
  • 格式轉換: 根據資料格式執行不同轉換

3. 條件路由 ​

  • 訊息路由: 根據訊息型別路由到不同處理
  • 請求分發: 根據請求引數分發到不同服務
  • 任務分配: 根據任務型別分配到不同處理器
  • 資源選擇: 根據條件選擇不同資源

4. 異常處理 ​

  • 錯誤分類: 根據錯誤型別執行不同處理
  • 重試邏輯: 根據錯誤型別決定是否重試
  • 降級處理: 根據系統狀態執行降級處理
  • 告警處理: 根據告警級別執行不同處理

最佳實踐 ​

1. 條件設計 ​

  • 邏輯清晰: 設計清晰的條件邏輯
  • 覆蓋完整: 確保覆蓋所有可能的情況
  • 優先順序合理: 設定合理的條件優先順序
  • 易於維護: 保持條件易於維護

2. 運算子選擇 ​

  • 型別匹配: 選擇適合資料型別的運算子
  • 效能考慮: 考慮運算子的效能影響
  • 可讀性: 選擇易於理解的運算子
  • 準確性: 確保運算子的準確性

3. 分支管理 ​

  • 數量控制: 合理控制分支數量
  • 結構清晰: 保持分支結構清晰
  • 命名規範: 使用清晰的分支命名
  • 文件說明: 新增必要的文件說明

4. 錯誤處理 ​

  • 異常情況: 考慮處理異常情況
  • 預設分支: 總是提供預設分支
  • 錯誤提示: 提供友好的錯誤提示
  • 日誌記錄: 記錄條件判斷過程

配置步驟 ​

1. 基礎配置 ​

  1. 配置 IF 條件分支
  2. 設定比較運算子
  3. 配置比較值

2. 條件擴充套件 ​

  1. 新增 ELIF 條件(可選)
  2. 配置 ELSE 分支
  3. 設定邏輯關係

3. 分支連線 ​

  1. 為每個分支配置下一步
  2. 連線相應的節點
  3. 驗證分支邏輯

4. 測試驗證 ​

  1. 檢查條件配置
  2. 驗證分支邏輯
  3. 測試各種情況

常見問題 ​

Q: 如何新增多個條件? ​

A: 可以使用 ELIF 新增多個條件,或者使用 AND/OR 組合多個子條件。

Q: 運算子如何選擇? ​

A: 根據資料型別和比較需求選擇合適的運算子。

Q: 可以有多少個分支? ​

A: 理論上沒有限制,但建議保持合理的分支數量。

Q: 如何確保條件覆蓋完整? ​

A: 使用 ELSE 分支作為預設情況,確保所有情況都有對應的處理。

Q: 條件判斷的效能如何? ​

A: 條件判斷效能很好,但建議避免過於複雜的條件邏輯。

注意事項 ​

  1. 條件完整性: 確保條件覆蓋所有可能的情況
  2. 運算子匹配: 確保運算子與資料型別匹配
  3. 邏輯正確性: 驗證條件邏輯的正確性
  4. 效能考慮: 避免過於複雜的條件判斷
  5. 錯誤處理: 新增適當的錯誤處理機制