跳至主要内容

工作流節點--代碼塊節點


節點功能: 在節點內輸入一段代碼(JavaScript/ Python),對流程中的記錄數據進行個性化處理計算,得到新的數據內容並輸齣,後麵的節點可以使用輸齣的數據內容。

可接收的數據類型

1、數值、文本、時間、單選、成員等。

2、數組類型 (接收數組後會當做字符串處理)

如果是“獲取多條數據”節點傳給代碼塊的數據,最多接收處理100行。

可輸齣的數據類型

1、文本

2、數組

代碼腳本運行環境

若通過代碼塊調用API,請求支持WebService SOAP協議,參數格式支持:XML/JSON/Form-Data,請求方式支持:GET/POST/PUT/DELETE。

注:僅專業版和旗艦版可用此功能。如有額外需要引入使用的模塊,可反饋給我們增加。

一、Javascript語言的使用示例

實現效果:根據身份證號獲取性彆和齣生日期信息

添加並配置代碼塊節點

您可以將下麵的代碼直接復製進去您的代碼塊節點中進行測試,但配置和上圖請保持一緻。

var idcard = input.IDCard
var birthday = idcard.substr(6, 4) + '-' + idcard.substr(10, 2) + '-' + idcard.substr(12, 2);
var sex = '女';
if (idcard.substr(16, 1) % 2 == 1) {
sex = '男';
}
output = { 生日: birthday, 性彆: sex };

代碼解釋

1、如何定義傳遞參數

A處定義傳入參數的名稱。

B處設置傳入的參數值,支持多個參數的傳入,點擊+Key/Value Pair 即可添加參數。

2、代碼塊如何接收參數

在代碼塊中處理數據時,需要接收傳入的參數值,

格式為:input.參數名

如C處,錶示將傳入參數IDCard的值賦值給代碼塊中的idcard,便於代碼內部處理數據。

3、代碼塊如何輸齣參數

代碼塊處理後,必然要輸齣結果,輸齣的結果也是有一定格式。

格式為:output = { 參數名1:參數值1,參數名2: 參數值2}

支持多個參數的輸齣,不同參數之間用英文逗號隔開即可。例如D處,輸齣瞭生日和性彆兩個參數。

提示

為瞭凸現參數名和參數值,易於初學者理解,這裏輸齣參數名使用瞭中文,但是您在實際使用時,必須用英文命名,避免使用方不兼容齣錯。例如 生日: birthday, 寫為 bday:birthday ,或者用拼音,容易辨認即可。

4、測試代碼塊

代碼塊編寫好後,點擊測試按鈕,如果參數值選擇的是動態值,需要填寫一個測試值

如果正確執行,則如下圖有輸齣內容。

到此,說明代碼寫的沒問題。後續節點即可使用代碼塊的輸齣參數。

5、後續節點如何使用代碼塊輸齣參數

隻有代碼塊節點測試後有瞭輸齣內容並保存節點後,後續節點纔能使用代碼塊節點的輸齣參數。

二、Python語言的使用示例

實現效果:根據身份證號獲取齣生日期信息

添加並配置代碼塊節點

您可以將下麵的代碼直接復製進您的代碼塊節點中進行測試,相關設置和上圖保持一緻。

idcard=input["IDcard"]
birthday=idcard[6:10]+'-'+idcard[10:12]+'-'+idcard[12:14]
output = {'生日': birthday}

代碼解釋

1、如何定義傳入參數

A處定義傳入參數的名稱。

B處設置傳入的參數值,支持多個參數的傳入,點擊+Key/Value Pair 即可添加參數。參數值可以固定值,也可以是從節點中選擇的動態值。

2、代碼塊如何接收參數

在代碼塊中處理數據時,需要接收傳入的參數值,

格式為:input["參數名"]

如C處,錶示將傳入參數IDCard的值賦值給代碼塊中的idcard,便於代碼內部處理數據。

3、代碼塊如何輸齣參數

代碼塊處理後,必然要輸齣結果,輸齣的結果也是有一定格式。

格式為:output = {'參數名1':canshu1,'參數名2': canshu2}

支持多個參數的輸齣,參數名要用英文單引號,參數名和參數值之間用英文冒號連接,不同參數之間用英文逗號隔開即可。

提示

為瞭凸現參數名和參數值,易於初學者理解,這裏輸齣參數名使用瞭中文,但是您在實際使用時,必須用英文命名,避免使用方不兼容齣錯。例如 生日: birthday, 寫為 bday:birthday ,或者用拼音,容易辨認即可。

4、測試代碼塊

代碼塊編寫好後,點擊測試按鈕,如果參數值選擇的是動態值,需要填寫一個測試值

如果正常,則會顯示輸齣結果。

到此,說明代碼寫的沒問題。

5、後續節點使用代碼塊的輸齣值

隻有代碼塊節點測試後有瞭輸齣內容並保存節點後,後續節點纔能使用代碼塊節點的輸齣參數。

失敗時自動重試

當網絡通信異常、服務波動或內存占用過高等情況導緻代碼塊執行失敗,會自動重試1次。可以取消勾選自動重試功能, 在第一次失敗時整個流程直接失敗中止。

代碼片段庫

片段庫中提供瞭一些常用的代碼,用戶不僅可以直接在代碼塊使用係統預設的代碼片段,也可以按組織和個人維度將常用的代碼塊片段保存起來,方便下次使用。

A 保存到代碼片段庫: 代碼塊中編寫好代碼後,點擊此處,即可存入片段庫,供同事或自己下次直接使用。

B 代碼片段庫: 點擊可以從片段庫中選擇需要的代碼,直接插入到代碼塊中(可選擇是否清空原有代碼)

AI生成代碼

通過集成AI能力,可以根據您輸入的功能需求描述自動生成一段代碼(JS和Python都支持),生成的代碼符閤代碼塊規範要求,可以直接可用。

入口

輸入功能需求

使用代碼

生成代碼後,可以直接點擊使用,將代碼插入到代碼塊中,使用到的輸入參數也會自動自定義好。

如果勾選瞭"使用時清空現有input參數與代碼塊",會清空代碼塊中的已有內容和已有參數,然後插入生成的代碼和參數

插入代碼後,可以按常規流程進行測試。

更多示例和幫助

HAP不提供代碼編寫服務,建議大傢學習下JavaScript或Python語言。


文檔問題反饋

文檔中是否有錯彆字、內容過期、難以理解等問題? 點此給我們反饋吧