引用函数表达式
用户在编辑设计组合应用时,可以通过引用函数表达式的方式快速配置连接器的配置信息,帮助用户便捷高效的设计组合应用。
组合应用中的函数表达式使用方法如图1所示。
函数表达式的分类
组合应用提供数学、字符串、加解密、日期和时间、编解码、进制转换共六种类型的函数表达式。
分类 |
函数表达式 |
说明 |
---|---|---|
数学(2个) |
sum(array arr) |
返回数组中所有数字的和。 |
avg(array arr) |
返回数组中所有数字的平均值。 |
|
字符串(29个) |
uuid() |
生成由字母和数字组成的随机uuid。 |
upper(string str) |
将字符串全部转换为大写字符。 |
|
lower(string str) |
将字符串全部转换为小写字符。 |
|
camelize(string str) |
使用驼峰式大小写转换str中的单词,删除所有空格,并将除第一个单词外的每个单词的首字母转换为大写。 |
|
dasherize(string str) |
使用kebab-case转换str中的单词,将str中的所有字母转换为小写,将所有空格转换为连字符(-)。 |
|
capitalize(string str) |
使用大小写转换str中的单词,将每个单词的第一个字母变为大写,其余字母变为小写。 |
|
charCode(string char) |
将char转换为字符编码。 |
|
fromCharCode(number charCode) |
将字符编码转换为字符串。 |
|
charCodeAt(string str, number index) |
返回str中索引处的字符编码。 |
|
isAlpha(string str) |
返回一个布尔值,确定提供的字符串是否只包含英文字母。 |
|
isAlphanumeric(string str) |
返回一个布尔值,确定提供的字符串是否只包含英文字母或数字。 |
|
isNumeric(string str) |
返回一个布尔值,确定提供的字符串是否只包含数字。 |
|
isLowerCase(string str) |
返回一个布尔值,确定str是否全部为小写。 |
|
isUpperCase(string str) |
返回一个布尔值,确定str是否全大写。 |
|
isWhitespace(string str) |
返回一个布尔值,确定str是否只包含空格。 |
|
leftPad(string str, number offset) |
如果字符串小于偏移长度,则用空格填充str的左侧。 |
|
rightPad(string str, number offset) |
如果字符串小于偏移量长度,则用空格补全str的右侧。 |
|
substringAfter(string str, string separator) |
获取str在第一次出现分隔符之后的子字符串。 |
|
substringAfterLast(string str, string separator) |
获取str中分隔符最后一次出现之后的子字符串。 |
|
substringBefore(string str, string separator) |
获取str中第一次出现分隔符之前的子字符串。 |
|
substringBeforeLast(string str, string separator) |
获取str中分隔符最后出现之前的子字符串。 |
|
unwrap(string str, string wrapper) |
返回没有包装器文本的str。包装器文本是str前面和/或后面的值。 |
|
withMaxSize(string str, number size) |
限制str的大小。 |
|
wrapIfMissing(string str, string wrapper) |
如果str没有被包装,则将包装器添加到str的前面和末尾。如果包装器在开始或结束时已经存在,则只更新缺失端。 |
|
wrapWith(string str, string wrapper) |
将包装器添加到str的前面和后面。 |
|
ordinalize(number num) |
将num转换为有序字符串格式,例如1st, 2nd, 3rd等。 |
|
appendIfMissing(string str, string value) |
如果str不以value结尾,则在str后面加上value。 |
|
prependIfMissing(string str, string value) |
如果str不以value开头,则在str前面加上value。 |
|
repeat(string str, number times) |
重复给定的次数。 |
|
加解密(4个) |
hash(string value, string algorithm) |
使用支持的算法计算value的散列值。算法必须是MD2、MD5、SHA-1、SHA-256、SHA-384、SHA-512中的一种。 |
hmac(string value, string secret, string algorithm) |
使用提供的值、密钥和散列函数算法生成基于散列的消息验证码。必须是HmacSHA1、HmacSHA256或HmacSHA512中的一种。 |
|
encrypt(string value, string secret, string transformation) |
使用指定的JDK和提供的密钥对值进行加密。使用Base64将加密转换为可读的格式。 |
|
decrypt(string value, string secret, string algorithm, string mode, string padding) |
使用指定的JDK和提供的密钥解密Base64值 |
|
日期和时间(20个) |
now() |
返回当前的日期时间。 |
compare(string datetime1, string datetime2) |
如果datetime1 > datetime2返回1,如果datetime1 < datetime2返回-1,如果datetime1 == datetime2返回0。 |
|
atBeginningOfDay(string datetime) |
返回给定时间的午夜时间值。 |
|
atBeginningOfHour(string datetime) |
返回给定的日期时间,分钟数和秒数设置为0。 |
|
atBeginningOfMonth(string datetime) |
返回给定的日期时间,日期设置为月份的第一天,时间设置为午夜。 |
|
atBeginningOfWeek(string datetime) |
返回当前星期第一天的给定的日期时间,并将时间设置为午夜。 |
|
atBeginningOfYear(string datetime) |
返回一年中的第一个给定的日期时间,并将时间设置为午夜。 |
|
changeTimeZone(string datetime, string timezone) |
更改日期时区,这通常会导致本地日期时间的更改。 |
|
daysBetween(string datetime1, string datetime2) |
返回datetime1和datetime2之间的天数。 |
|
format(string datetime, string outputFormat) |
给定一个datetime,将其转换为指定的输出格式。 |
|
isLeapYear(string datetime) |
返回一个布尔值,表示datetime是否为闰年。 |
|
plus(string datetime, string period) |
按照给定的类型为datetime添加日期。 |
|
minus(string datetime, string period) |
按照给定的类型为datetime减去日期。 |
|
parse(string|number datetime, string inputFormat) |
使用输入格式解析datetime,并以默认格式返回值。如果使用epoch或timestamp值作为datetime,则可以使用"epoch"或"timestamp"作为inputFormat。 |
|
toLocalDate(string datetime) |
将日期转换为本地日期。 |
|
toLocalDateTime(string datetime) |
将日期时间转换为本地日期时间。 |
|
toLocalTime(string datetime, string format) |
将时间转换为本地时间。 |
|
today() |
返回当天午夜的时间。 |
|
tomorrow() |
返回第二天午夜的时间。 |
|
yesterday() |
返回前一天午夜的时间。 |
|
编解码(2个) |
encode(string data, string encoding="UTF-8") |
使用提供的编码方案将字符串转换为application/x-www-form-urlencoded格式,以获取不安全的字节。默认编码为UTF-8。 |
decode(string data, string encoding="UTF-8") |
使用特定的编码方案解码application/x-www-form-urlencoded字符串。所提供的编码用于确定以“%xy”形式的任意连续序列表示哪些字符。 |
|
进制转换(9个) |
fromBase64(string value) |
将base64转换为值。 |
toBase64(any value) |
将value转换为base64。当前不支持直接传入数组以及类似${083xxx|param}格式的payload关键字;数组格式需要添加单引号,如下图:
|
|
fromHex(string value) |
将十六进制转换为值。 |
|
toHex(any value) |
将value转换为十六进制。 |
|
fromBinary(number value) |
将值从二进制转换为十进制。 |
|
fromHex(number value) |
将值从十六进制转换为十进制。 |
|
fromRadixNumber(number value, number baseAsBinary) |
将输入值转换通过指定的进制转换为十进制。 |
|
toBinary(number value) |
将值从十进制转换为二进制。 |
|
toRadixNumber(number value, number baseAsDecimal) |
将值转换为指定的进制。 |