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]stringNode.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]stringURL 地址
args[1]object可选窗口选项对象

窗口选项

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

魔法变量

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

可用变量

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

使用场景

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

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