Scene

场景SDK类,提供对场景的相关操作

  • 获取场景实例
import Tacos, {Root, SceneSDK, SceneEventType} from "@tslfe/tacos-sdk"

Tacos.connect({
    // 连接参数
    ...
}).then(async core => {
    let root = core.createInstance(Root)
    root.addListener("*", (event) => {
        event.messageType && this.emit(event.messageType, event)
        let {data=[]} = event
        data.forEach((item)=>{
            if(item.event.eventCode === SceneEventType.SCENE_START){
                let scene = core.createInstance(SceneSDK, {source: item.source})
                let sceneInstance = this.active(scene)
            }
        })
    })
})

方法

pushSceneEvent()

执行当前节点事件

pushSceneEvent(code: string, params: Record<string, any>): Promise<any>
  • 参数

    • code: 当前节点 id

    • params: 节点交互对象

  • 返回类型

    • Promise<any>
  • 示例

...获取场景实例
sceneInstance.pushSceneEvent('id', params)

next()

运行下一个节点

next(code: string): Promise<any>
  • 参数

    • code: 当前节点 id
  • 返回类型

    • Promise<any>
  • 示例

...获取场景实例
sceneInstance.next('id')

addListener()

场景推送监听事件

addListener(
    callback: (data: SceneEventDetail) => void,
    option?: Partial<SocketConfig> = {}
): () => void

参考: SceneEventDetailopen in new window

  • 参数

    • callback: 事件回调

      • data: 场景事件 event
    • option: socket 监听配置参数

  • 返回值

    • 移除监听事件回调
  • 示例

...获取场景实例
sceneInstance.addListener((data)=>{
    console.log(data)
})

removeListener()

移除场景SDK实例的所有推送监听事件

removeListener(): void
  • 示例
...获取场景实例
sceneInstance.removeListener()
上次更新:
贡献者: zhengqian, jiang.tao