Skip to content

操作指令 ​

操作指令定义了脚本要执行的具体操作。无论是在任务定义(scripts)还是界面扩展(views)中,都使用相同的指令结构。

指令结构 ​

所有操作指令都包含两个必需字段:

json
{
  "command": {
    "action": "操作类型",
    "args": ["参数1", "参数2", ...]
  }
}
字段类型必需说明
actionstring✅操作类型
argsarray✅操作参数数组

支持的操作类型 ​

iClick 支持 5 种操作指令:

指令用途适用场景
$.nodejs.run执行 Node.js 脚本运行 NODE 脚本
$.shell.open执行外部程序启动 exe、打开文件
$.http.getHTTP GET 请求调用接口
$.http.postHTTP POST 请求调用接口
$.webview.open打开 WebView 窗口显示 Web 管理界面

$.nodejs.run ​

执行 Node.js 脚本文件。

语法 ​

json
{
  "action": "$.nodejs.run",
  "args": ["脚本路径", "参数1", "参数2", ...]
}

参数说明 ​

参数类型必需说明
args[0]string✅Node.js 脚本路径
args[1+]string可选脚本参数

路径规则 ​

  • 相对路径:相对于脚本包目录

    json
    "args": ["script.js", "arg1"]
    // 实际路径: %APPDATA%/iClick/Scripts/脚本ID/script.js
  • 绝对路径:完整文件路径

    json
    "args": ["C:\\Users\\Admin\\scripts\\task.js", "arg1"]

$.shell.open ​

执行外部程序或打开文件。

语法 ​

json
{
  "action": "$.shell.open",
  "args": ["程序路径", "参数1", "参数2", ...]
}

参数说明 ​

参数类型必需说明
args[0]string✅程序路径
args[1+]string可选命令行参数

路径规则 ​

  • 相对路径:相对于脚本包目录

    json
    "args": ["Tool.exe", "arg1"]
    // 实际路径: %APPDATA%/iClick/Scripts/脚本ID/Tool.exe
  • 绝对路径:完整文件路径

    json
    "args": ["C:\\Program Files\\MyApp\\app.exe", "arg1"]

$.http.get ​

发送 HTTP GET 请求。

语法 ​

json
{
  "action": "$.http.get",
  "args": ["URL", {查询参数}, {请求头}]
}

参数说明 ​

参数类型必需说明
args[0]string✅请求 URL
args[1]object可选查询参数对象
args[2]object可选请求头对象

$.http.post ​

发送 HTTP POST 请求。

语法 ​

json
{
  "action": "$.http.post",
  "args": ["URL", {请求体}, {请求头}]
}

参数说明 ​

参数类型必需说明
args[0]string✅请求 URL
args[1]object可选请求体对象
args[2]object可选请求头对象

$.webview.open ​

打开内嵌的 WebView 窗口。

语法 ​

json
{
  "action": "$.webview.open",
  "args": ["URL", {窗口选项}]
}

参数说明 ​

参数类型必需说明
args[0]string✅URL 地址
args[1]object可选窗口选项对象

窗口选项 ​

选项类型默认值说明
widthnumber800窗口宽度(像素)
heightnumber600窗口高度(像素)
alwaysOnTopbooleanfalse是否窗口置顶
resizablebooleantrue是否可调整大小
maximizablebooleantrue是否可最大化
minimizablebooleantrue是否可最小化
maxWidthnumber-最大宽度
maxHeightnumber-最大高度

魔法变量 ​

在操作参数中可以使用魔法变量(例如在右键菜单中),它们会在运行时自动替换为实际值。

可用变量 ​

变量说明示例值
$.deviceId当前选中的设备 ID"iPhone-12345"

使用场景 ​

魔法变量特别适用于需要获取当前上下文信息的场景:

商务合作:try.catch@foxmail.com