API v1
Documentation/后台 API

context.states

向清单中声明的状态来源发布当前值。

Plugin API v1

Documentation content is currently available in Simplified Chinese.

状态来源先在 stateSources 中声明。发布后,流程表达式和超级块可以读取这个值。完整示例见发布状态。

#publish()

更新本插件的一个状态来源。

ts
context.states.publish(sourceId: string, value: unknown,
  target?: { deviceId: string; screenId?: string; blockId?: string }): Promise<{ published: boolean }>

#参数

名称 类型 说明
sourceId string 清单中的状态来源 ID。
value unknown 符合来源 Schema 的 JSON 值。false、0 和空字符串都是可用值;暂时没有值时,等数据就绪后再发布。
target object 全局来源省略。设备来源传 deviceId;屏幕来源再传 screenId;实例来源再传 blockId。

#返回值

Promise 解析为 { published: boolean }。飞块按来源的类型、作用域和大小检查数据,失败时 Promise 拒绝。

#示例

js
await context.states.publish("playback", "playing");

await context.states.publish("count", 3, {
  deviceId: request.deviceId,
  screenId: request.screenId,
  blockId: request.blockId
});