Expression 介紹
在 Asgard 工作流程中,設定值支援四種取值方式:Literal(常數)、Expression(表達式)、Template(模板) 和 Template (Advance)(進階模板)。
取值方式
Literal(常數)
固定不變的內容。
語法範例:
歡迎使用我們的服務!
Expression(表達式)
使用 JavaScript 表達式進行動態運算和邏輯處理。
語法範例:
prevMessage;
userName || '訪客';
history(0, -1);
urlEncode(searchKeyword);
Template(模板)
使用 Handlebars 語法進行模板渲染。
語法範例:
Template (Advance)(進階模板)
Handlebars 自由編碼模式,提供更靈活的模板處理能力。
語法範例:
內建資源
內建變數
- 對話相關:
prevMessage
、prevBlobs
、prevPayload
、prevError
- 頻道相關:
customChannelId
、customMessageId
詳細說明請參考 Expression 變數。
內建函數
提供 8 個專用內建函數:
- 對話歷史:
history()
、historySize()
- 資料處理:
urlEncode()
、vecToStr()
、xpathExtract()
- 日期時間:
isoNow()
、isoToday()
詳細說明請參考 Expression 內建函數。
範例
Expression 模式
// 基本變數使用
prevMessage || '無訊息';
// 邏輯判斷
prevError ? `錯誤:${prevError}` : '處理正常';
// 函數調用
`對話記錄:${historySize()} 則`;