Biểu thức

Tính năng này cho phép bạn đặt giá trị động cho node dựa trên dữ liệu từ:

TênMiêu tảTruy cập đối tượng con

table

Lấy dữ liệu từ Bảng

table.columnName

variables

Lấy dữ liệu từ Biến

variables.variableName

loopData

Lấy dữ liệu trong vòng lặp của node Lặp dữ liệu

loopData.loopId

globalData

Lấy dữ liệu chung của kịch bản

globalData

prevBlockData

Lấy giá trị của khối trước đó

prevBlockData

googleSheets

Lấy dữ liệu từ Google Sheets

googleSheets.referenceKey

spreadSheets

Lấy dữ liệu từ Bảng tính

spreadSheets.referenceKey

Automation sử dụng dấu {{}} và mở rộng nó bằng dữ liệu tương ứng với mỗi loại dữ liệu ở phía trên

Viết Biểu Thức

Để viết một biểu thức, bạn phải tuân theo định dạng {{keyword}} và thay thế keyword bằng một trong các nguồn dữ liệu ở trên. Nó cho phép Automation phân biệt giữa dữ liệu tĩnh và dữ liệu động.

Giả sử bạn có một biến listname trong quy trình và giá trị của nó là một mảng đối tượng. Bạn muốn gửi biến này tới API bằng cách sử dụng HTTP Request.

[
  { "name": "Telegram", "url": "https://telegram.org/" },
  { "name": "X", "url": "https://twitter.com/" },
  { "name": "Etsy", "url": "https://www.etsy.com/" }
]

Bạn có thể sử dụng biểu thức sau bên trong phần Nội dung của node HTTP Request :

{{variables.listname}}

Nhưng điều gì sẽ xảy ra nếu bạn muốn sử dụng thuộc tính url trên phần tử đầu tiên của mảng làm giá trị bên trong node Mở Liên Kết. Để làm được điều đó, hãy sử dụng biểu thức sau:

{{variables.listname.0.url}}

0 trên biểu thức đó có nghĩa là phần tử đầu tiên của mảng. Và nếu bạn muốn lấy phần tử thứ hai của mảng thì hãy thay thế bằng 1, là 2 khi muốn lấy phần tử thứ ba, 3 cho phần tử thứ tư, v.v.

Truy Cập Dữ Liệu Khác Bên Trong Biểu Thức

Để truy cập dữ liệu khác bên trong biểu thức, bạn phải gói biểu thức để truy cập dữ liệu bằng dấu ngoặc ([]).

Ví dụ: khi bạn muốn nhân giá trị biến salary với số 12 bằng hàm $multiply

{{$multiply([variables.salary],12)}}

hoặc khi bạn muốn biết độ dài của bảng bang1 bằng hàm $getLength

{{$getLength[bang1]}}

Hàm

Tất cả các hàm dựng sẵn luôn bắt đầu bằng tiền tố $; ví dụ: $funcName(param). Và đây là danh sách tham khảo các hàm có sẵn trong Automation.

$date(date, dateFormat?)

Nhận hoặc định dạng một ngày. Hàm này có hai tham số, tham số thứ hai là tùy chọn.

Nếu muốn định dạng ngày hiện tại, bạn có thể trực tiếp chuyển dateFormat làm tham số đầu tiên, chẳng hạn như {{ $date('dd-MMMM-yyyy') }}, và kết quả sẽ là 14-September-2023. Xem tất cả các định dạng ngày có sẵn trên trang này.

Và đối với tham số ngày, hãy xem định dạng ngày hợp lệ trên MDN page.

Ví dụ

{{$date("dd/MM/yyyy-hh:mm aaaa") }} // 01/10/2023-05:00 p.m
{{$date("dd/MM/yyyy-hh:mm aaaa") }} // 01/10/2023-11:00 a.m
{{$date("dd/MM/yyyy-hh:mm aaaa OOOO") }} // 01/10/2023-11:00 a.m
{{$date("timestamp")}} // 132424534

$rand(min?, max?)

Hàm sẽ tạo một số(cả số nguyên hoặc số thập phân) ngẫu nhiên hoặc 1 số trong phạm vi của 2 tham số minmax.

Ví dụ

{{$rand()}} // 23
{{$rand()}} // 13.333333
{{$rand(0, 10)}} // 6
{{$rand(0, 10.4)}} // 2.24234234

$randint(min?, max?)

Tạo một số nguyên ngẫu nhiên hoặc số trong phạm vi của hai tham số minmax.

Ví dụ

{{$randint()}} // 23
{{$randint()}} // 13

{{$randint(0, 10)}} // 6
{{$randint(0, 10)}} // 2

$getLength(str)

Lấy độ dài của một chuỗi hoặc mảng.

Ví dụ

// Lấy độ dài của một chuỗi
{{$getLength("testing")}} // 12

// Lấy độ dài của một bảng
{{$getLength([table]) }}// 4

// Lấy độ dài của cột "văn bản" ở hàng thứ hai
{{$getLength([table.1.text])}} // 99

$getOTP(secret)

Hàm này sẽ nhận một tham số dưới dạng chuỗi và sau đó tạo ra một mã OTP dựa trên chuỗi đó. Thông thường hàm này sẽ dùng khi các bạn muốn lấy ra đoạn mã theo 2fa nhập vào

Ví dụ

{{$getOTP("qwjke234ewrh3249wei")}} // 123456

//Lấy mã otp từ một biến chứa 2fa
//a=qwjke234ewrh3249wei
{{$getOTP([variables.a])}} //123456j

$randData(text)

Là hàm tạo dữ liệu ngẫu nhiên, bạn chỉ cần truyền một biểu thức cho tham số của nó, ví dụ $randData("?l") sẽ tạo ra một chữ cái viết thường ngẫu nhiên như a. Biểu thức được hỗ trợ:

  • ?l: chữ thường

  • ?u: chữ hoa

  • ?d: chữ số

  • ?f: chữ thường + chữ hoa

  • ?s: biểu tượng

  • ?m: chữ hoa + chữ số

  • ?n: chữ thường + chữ số

  • ?a: bất kì

Bạn cũng có thể kết hợp các biểu thức này như $randData("?u?l?l?l?l?d?d@gmail.com") sẽ tạo ra mail kiểu abc@gmail.com.

Ví dụ

{{$randData("?d?d")}} // 11

{{$randData("?l?l?l?d?d@gmail.com")}} // abc@gmail.com

{{$randData("?d?u?s?l?l?s?a?m") }}// qe7Q@do*?sds

$randDate(minDate?, maxDate?, dateFormat?)

Hàm sẽ tạo một thông số thời gian ngẫu nhiên trong phạm vi của 2 tham số minDatemaxDate dưới dạng 1 dạng hiển thị bất kỳ của dateFormat

Ví dụ

{{$date("2023-10-01", "2023-10-05", "DD MMMM YYYY")}} // 3 October 2023
{{$date("2022-10-01", "2023-10-01", "DD MMMM YYYY")}} // 13 December 2022

$randPick(data)

Hàm sẽ lấy ngẫu nhiên 1 phần tử trong mảng dữ liệu của biến data. Hàm này thường được sử dụng khi bạn nhập một mảng vào trong hàm.

Ví dụ

data =["a","b", "c"]
{{$randPick([variables.data])}} // b

Các biến được lưu trữ dưới dạng một đối tượng với tên biến là khóa đối tượng.

{
  "url": "https://google.com",
  "numbers": [100, 500, 300, 200, 400]
}
  • Lấy giá trị của biến url. biểu thức: {{ variables.url }} đầu ra: https://google.com

  • Lấy giá trị của biến numbers. biểu thức: {{ variables.numbers }} đầu ra: [100, 500, 300, 200, 400]

  • Lấy giá trị đầu tiên của biến numbers. biểu thức: {{ variables.numbers.0 }} đầu ra: 100

Biểu Thức JavaScript

Automation cũng hỗ trợ javascript trong biểu thức, nhưng để viết javascript, bạn phải thêm !! ký tự làm giá trị đầu tiên trên trường văn bản của một node.

Ví dụ: từ Số đó là: {{variables.number}} thành !! Số đó là: {{variables.number}}.

Và bạn có thể sử dụng hàm có sẵn giống như hàm javascript.

Ví dụ

  • Dùng hàm có sẵn

{{$getLength(table)}} //11

{{$randData("?d?d")}} // 99
  • Lấy hàng cuối cùng của bảng

{{table[table.length - 1].columnName}}
  • Lấy dấu thời gian hiện tại

{{Date.now()}} //1666237704022
  • Truy cập dữ liệu vòng lặp và chỉ mục

// lặp theo dữ liệu vòng lặp
{{loopData.loopId.data}}

// lặp theo chỉ mục
{{loopData.loopId.$index}}

Last updated