JXA 指令
JXA(JavaScript for Automation)是 macOS 上的一种脚本语言,允许用户使用 JavaScript 来自动化和控制 Mac 应用程序。JXA 是 AppleScript 的现代替代品,提供了更强大的功能和更广泛的应用支持。具体功能请参考 JXA Apple Developer Forums。
运行 JXA 指令
在扩展的 package.json
中添加一个新的指令,并在指令的 main
字段中,指定一个入口文件,该文件以 js
为后缀,就可以将该文件当作 JXA 文件运行。
在入口文件加载完成后,Doggy 会调用该文件中的 globalThis.run
函数,该函数为指令的入口函数。
globalThis.run
一个 JXA 指令的入口函数
globalThis.run(Doggy doggy)
参数
- doggy: 所有与当前指令的上下文信息都存储在其中
Doggy 的属性说明
属性 | 类型 | 说明 |
---|---|---|
DoggyCmdName | String | 当前运行指令的 identifier |
DoggyInputs | Array | 输入参数,即用户在唤醒 Doggy 之前,选中的内容 |
DoggyConfigs | String | 当前扩展的配置信息,是一个 JSON 字符串 |
返回值
返回一个 CmdExecutorResult 对象
- CmdExecutorResult: 当前指令运行的结果
CmdExecutorResult 的属性说明
属性 | 类型 | 说明 |
---|---|---|
state | number | 0: 运行成功 1: 运行失败 |
result | String | 处理结果 |
示例
globalThis.run = function(doggy) { let input = doggy.DoggyInputs[0] return { state: 0, result: "1 + 1 = 2" }}