房间状态

更新时间: 2022/09/16 09:39:03

房间管理

初始化白板前,使用joinRoom创建并加入白板房间。示例代码如下:

jswhiteboardSDK.joinRoom({
    channel: string
}, joinRoomCallbacks)

监听房间状态变化

joinRoom第二个参数为房间状态变化时的回调函数。您需要监听以下回调函数:

  • onconnected:在房间处于 connected 时触发。SDK 只有处于connected时,才能够进行编辑。当 SDK 由其他状态变为connected时, SDK 会自动同步在断开连接期间, 其他用户在房间内的编辑数据。
  • ondisconnected:在房间处于 disconnected 时触发。请重点关注ondisconnected事件,并处理ondisconnected事件抛出的错误提示。
  • onwillreconnect:在房间处于 willreconnect 时触发。
  • onSyncStartonSyncFinish:判断白板是否处于同步状态中。例如在加载白板后跳页、脚本绘制涂鸦等场景中,您需要关注白板是否同步成功。只有同步成功后,白板才能够正常编辑。
jswhiteboardSDK.joinRoom(joinRoomParams, {
    ondisconnected: (err) => {}
    onwillreconnect: Function
    onconnected: Function
    onSyncStart: Function
    onSyncFinish: Function
})

主动离开房间

如果不使用白板了,请调用下面的接口离开房间。

jswhiteboardSDK.destroy()

异常状态

在加入房间时,应该考虑加入失败的情况。在加入失败时, SDK 会抛出错误,提示用户加入失败的原因。

jswhiteboardSDK
    .joinRoom(joinRoomParams, joinRoomCallbacks)
    .then(function(drawPlugin) {

    })
    .catch(function(err) {
        /**
         *  err:
         *    type: LoginError | CreateRoomError | JoinRoomError
         *    code: number | string
         *     msg: string
         */
    })

错误:登录失败

err.typeLoginError。可能为appkey, accounttoken不匹配。注意token需要通过md5加密。如果遇到该问题可以向云信销售人员联系。

错误:创建房间失败

err.typeCreateRoomError。请根据具体的错误提示信息排查问题。

错误:创建房间失败

err.typeJoinRoomError。请根据具体的错误提示信息排查问题。

此文档是否对你有帮助?
有帮助
去反馈
  • 房间管理
  • 监听房间状态变化
  • 主动离开房间
  • 异常状态
  • 错误:登录失败
  • 错误:创建房间失败
  • 错误:创建房间失败