跳至主要内容

節點 - 程式碼區塊


節點功能

這個「程式碼區塊」節點讓您可以在工作流中嵌入一小段程式碼 (支援 JavaScript 或 Python),用來對流程中的資料進行客製化的處理、計算或轉換。處理完畢後,節點會輸出新的資料內容,供後續的節點接續使用。

簡單來說,它就像一個小型計算機或處理器,讓您可以執行標準節點無法完成的特定邏輯。

一、可以接收的資料類型

  1. 數值、文字、時間、單選選項、人員等基本類型。
  2. 陣列 (Array) 類型:接收到陣列後,會先將其視為字串來處理。

處理限制:如果是從「獲取多筆資料」節點傳來的資料,此程式碼區塊節點最多只會處理前 100 筆紀錄。

二、可輸出的資料類型

  1. 文字 (Text/String)
  2. 陣列 (Array)

三、程式碼腳本的運行時環境

需要其他模組? 如果您在開發過程中發現需要其他常用的 JS 或 Python 模組,歡迎向我們提出建議與回饋。

四、Javascript使用範例

  • 目標效果:假設身分證字號格式為「城市代碼(1碼英文) + 性別碼(1碼數字) + ...」,根據輸入的身分證字號,自動取得性別 (male/female) 和城市代碼資訊。

  • 新增與設定節點

  • 範例程式碼 (可直接複製測試,請確保參數設定如上圖):
var idcard = input.IDCard;
var cityCode = idcard.substr(0, 1); // 取出第一個字母作為城市代碼
var sexCode = idcard.substr(1, 1); // 取出第二個數字作為性別碼

var sex = 'female';
if (sexCode == '1') {
sex = 'male';
}

output = {Gender: sex, CityCode: cityCode };

五、程式碼說明

1. 如何定義輸入參數

  • 在節點設定介面 (如下圖) 定義您要傳入程式碼的參數名稱 (例如 IDCard)。

  • 設定該參數的值來源 (可以是固定值,或來自流程中先前節點的動態值)。可點擊【+鍵/值】新增多個輸入參數。

2. 程式碼區塊如何接收參數

  • 使用 input.參數名稱 的格式來取得傳入的值。

  • 例如:var idcard = input.IDCard; (如下圖) 就是將傳入的 IDCard 參數值,存到程式碼內部的 idcard 變數中。

3. 程式碼區塊如何輸出參數

  • 程式碼處理完畢後,需要將結果輸出。

  • 使用 output = { 參數名1: 參數值1, 參數名2: 參數值2 }; 的格式。

  • 可以輸出多個參數,用逗號分隔。

  • 例如:output = {Gender: sex, CityCode: cityCode }; (如下圖) 輸出了計算出的性別和城市代碼。

  • 重要提示: 輸出的參數名稱強烈建議使用【英文】,以避免後續節點或系統發生不相容的錯誤。

4. 測試程式碼

  • 寫好程式碼後,點擊【測試】按鈕。

  • 如果輸入參數設定為動態值,測試時需要手動輸入一個測試用的值 (如下圖)。

  • 如果執行成功,會顯示輸出的結果 (如下圖)。這表示您的程式碼邏輯大致正確。

5. 輸出參數如何被後續節點使用

  • 必須先成功測試程式碼區塊(即有輸出結果顯示)並儲存該節點後,後續的節點才能在選擇參數時,看到並選用此程式碼區塊輸出的參數(例如 Gender, CityCode)。