Space Plugin SDKSpace Plugin SDK
首页
概述
  • 中文简体
  • English
首页
概述
  • 中文简体
  • English
  • 插件SDK

    • 概述
    • 开始
    • 术语
    • 基础
    • 清单
    • 国际化
    • 接收的事件
    • 发送的事件
    • 注册程序
    • 属性检查器
    • 风格指南
    • 更新日志
  • 示例

    • 计数器
    • 计时器
    • 数字展示
    • 时间
  • 支持

    • 帮助和错误报告

发送的事件

插件可以发送到 Stream Dock 应用程序的事件

插件和 PropertyInspector(属性检查器) 都可以发送的事件:

Event描述
setSettings持久保存操作实例的数据
getSettings请求操作实例的持久性数据
setGlobalSettings全局保存插件的数据
getGlobalSettings请求全局持久性数据
openUrl在默认浏览器中打开 URL
logMessage将调试日志写入日志文件

插件可以发送的额外事件:

Event描述
setTitle动态更改操作实例的标题
setImage动态更改操作实例的图片
showAlert在操作实例显示的图像上临时显示警报图标
showOk在操作实例显示的图像上临时显示“确定”复选标记图标
setState更改支持多种状态的操作实例的状态
sendToPropertyInspector发送数据到 PropertyInspector(属性检查器)

PropertyInspector(属性检查器)可以发送的额外事件:

Event描述
sendToPlugin向插件发送数据

setSettings

插件和属性检查器可以使用该事件为操作实例永久保存数据

{
    "event": "setSettings",
    "context": uniqueValue,
    "payload": {<json data>}
}
成员描述
eventsetSettings
context如果是插件调用该值为插件action的context,如果是属性检查器调用该值为属性检查器的inPropertyInspectorUUID
payload插件或属性检查器发送的数据

TIP

请注意,当插件使用此 API 时,属性检查器将自动收到一个didReceiveSettings使用新settings进行回调。同样,当属性检查器使用此 API 时,插件将自动收到一个didReceiveSettings使用新settings进行回调

getSettings

插件和属性检查器可以使用该事件请求操作实例存储的持久性数据

{
    "event": "getSettings",
    "context": uniqueValue
}
成员描述
eventgetSettings
context如果是插件调用该值为插件的inPluginUUID,如果是属性检查器调用该值为属性检查器的inPropertyInspectorUUID

插件或属性检查器将异步接收事件didReceiveSettings包含此操作的settings

{
  "action": "com.mirabox.demo.action1", 
  "event": "didReceiveSettings", 
  "context": uniqueValue, 
  "device": uniqueValue, 
  "payload": {
   "settings": {<json data>},
    "coordinates": {
      "column": 3, 
      "row": 1
    }, 
    "isInMultiAction": false
  }
}

setGlobalSettings

插件和属性检查器可以全局保存持久数据。此 API 可用于保存插件中每个操作都应可用的token

{
    "event": "setGlobalSettings",
    "context": uniqueValue,
    "payload": {<json data>}
}
成员描述
eventsetGlobalSettings
context如果是插件调用该值为插件的inPluginUUID,如果是属性检查器调用该值为属性检查器的inPropertyInspectorUUID
payload需要保存的数据

TIP

请注意,当插件使用此 API 时,Property Inspector 将自动收到带有新settings的 didReceiveGlobalSettings 回调。同样,当 Property Inspector 使用此 API 插件将自动收到带有新settings的 didReceiveGlobalSettings 回调

getGlobalSettings

插件和属性检查器可以使用该事件请求全局存储的持久性数据

{
    "event": "getGlobalSettings",
    "context": uniqueValue
}
成员描述
eventgetGlobalSettings
context如果是插件调用该值为插件的inPluginUUID,如果是属性检查器调用该值为属性检查器的inPropertyInspectorUUID

插件或属性检查器将异步接收事件didReceiveGlobalSettings包含 global settings

{
  "event": "didReceiveGlobalSettings", 
  "payload": {
     "settings": {<json data>}
   }
}

openUrl

插件或属性检查器可以使用该事件在默认浏览器中打开 URL

{
    "event": "openUrl",
    "payload": {
        "url": "https://www.example.com"
    }
}
成员描述
eventopenUrl
payloadjson对象

payload 对象包含以下成员:

payload描述
url要打开的url

logMessage

插件或属性检查器可以使用该事件将调试日志打印到调试窗口中,在设置中双击软件版本号可打开调试窗口(只作为临时调试使用不会记录到日志文件中,如需永久记录信息需要自行实现写入本地,例如在插件中生成一个log.txt记录信息)

{
 "event": "logMessage",
 "payload": {
  "message": "Hello World!"
 }
}
成员描述
eventlogMessage
payloadjson对象

payload 对象包含以下成员:

payload描述
message要写入日志文件的消息

setTitle

插件可以使用该事件动态更改操作实例的标题

{
    "event": "setTitle",
    "context": uniqueValue,
    "payload": {
        "title": "MyTitle",
        "target": software, hardware or both,
        "state": 0-based integer
    }
}
成员描述
eventsetTitle
context标识实例操作的值
payloadjson对象

payload 对象包含以下成员:

payload描述
title要设置的标题
target指定是要在硬件和软件 上显示标题 (0),仅在硬件上显示(1),仅在软件上显示(2),默认为0
state一个从 0 开始的整数值,表示具有多个状态的操作的状态。如果未指定,则标题将设置为所有状态

setImage

插件可以使用该事件动态更改操作实例的图片

{
    "event": "setImage",
    "context": uniqueValue,
    "payload": {
        "image": <base64 encoded image>,
        "target": software, hardware or both,
        "state": 0-based integer
    }
}
成员描述
eventsetImage
context标识实例操作的值
payloadjson对象

payload 对象包含以下成员:

payload描述
image要设置的图片的 base64 编码
target指定是要在硬件和软件上显示图片 (0),仅在硬件上显示(1),仅在软件上显示(2),默认为0
state一个从 0 开始的整数值,表示具有多个状态的操作的状态。如果未指定,则标题将设置为所有状态

base64 编码图像示例:

"data:image/png;base64,avFOdwp0Ksgoe..."
"data:image/jpg;base64,avFOdwp0Ksgoe..."
"data:image/gif;base64,avFOdwp0Ksgoe..."

此 API 接受还 svg 图像,下面是一个带有 svg 图像的示例

{
    "event": "setImage",
    "context": context,
    "payload": {
        "image": "data:image/svg+xml;charset=utf8,<svg></svg>",
        "target": 0
    }
}

showAlert

插件可以使用该事件在操作上显示一个临时的警告图标

{
    "event": "showAlert",
    "context": uniqueValue
}
成员描述
eventshowAlert
context标识实例操作的值

showOk

插件可以使用该事件在操作上显示一个临时的 OK 复选标记图标

{
    "event": "showOk",
    "context": uniqueValue
}
成员描述
eventshowOk
context标识实例操作的值

setState

插件可以使用该事件动态更改操作实例的状态

{
    "event": "setState",
    "context": uniqueValue,
    "payload": {
        state
    }
}
成员描述
eventsetState
context标识实例操作的值
payloadjson对象

payload 对象包含以下成员:

payload描述
state一个从 0 开始的整数值,表示具有多个状态的操作的状态

sendToPropertyInspector

插件可以使用该事件向属性检查器发送数据

{
    "action": "com.mirabox.demo.action1",
    "event": "sendToPropertyInspector",
    "context": uniqueValue,
    "payload": {<json data>}
}
成员描述
action操作的唯一标识符
eventsendToPropertyInspector
context标识实例操作的值
payloadjson对象

属性检查器将异步接收事件sendToPropertyInspector

{
  "action": "com.mirabox.demo.action1", 
  "event": "sendToPropertyInspector", 
  "context": uniqueValue, 
  "payload": {<json data>}
}

sendToPlugin

属性检查器可以使用该事件向插件发送数据

{
    "action": "com.mirabox.demo.action1",
    "event": "sendToPlugin",
    "context": uniqueValue,
    "payload": {<json data>}
}
成员描述
action操作的唯一标识符
eventsendToPlugin
context该值为属性检查器的inPropertyInspectorUUID
payloadjson对象

插件将异步接收事件sendToPlugin

{
  "action": "com.mirabox.demo.action1", 
  "event": "sendToPlugin", 
  "context": uniqueValue, 
  "payload": {<json data>}
}
Last Updated:
Contributors: Heart
Prev
接收的事件
Next
注册程序