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
参考: SceneEventDetail
参数
callback
: 事件回调data
: 场景事件event
option
:socket
监听配置参数
返回值
- 移除监听事件回调
示例
...获取场景实例
sceneInstance.addListener((data)=>{
console.log(data)
})
removeListener()
移除场景SDK实例的所有推送监听事件
removeListener(): void
- 示例
...获取场景实例
sceneInstance.removeListener()