即时通讯状态连接监听器。

如果遇到弱网掉线情况,应用收到 onDisconnected,此时不需要处理重连操作,SDK 在底层自动处理重连。

回调函数 onConnected 和 onDisconnected 无需考虑连接中,断开中一类的中间状态。

interface ConnectionListener {
    onConnected: (() => void);
    onDataSyncFinish?: ((type: DataSyncType, errorCode: number) => void);
    onDataSyncStart?: ((type: DataSyncType) => void);
    onDatabaseOpened?: ((username: string) => void);
    onDisconnected: ((errorCode: number) => void);
    onLogout?: ((errorCode: number, info: LoginExtInfo) => void);
    onOfflineMessageSyncFinish?: (() => void);
    onOfflineMessageSyncStart?: (() => void);
    onTokenExpired?: (() => void);
    onTokenWillExpire?: (() => void);
}

Properties

onConnected: (() => void)

成功连接到 chat 服务器时触发。

onDataSyncFinish?: ((type: DataSyncType, errorCode: number) => void)

登录后指定类型的数据自动同步结束时触发。

Type declaration

    • (type, errorCode): void
    • Parameters

      • type: DataSyncType

        数据同步类型。

      • errorCode: number

        错误码,ChatError#EM_NO_ERROR 表示成功。

      Returns void

onDataSyncStart?: ((type: DataSyncType) => void)

登录后指定类型的数据开始自动同步时触发。

Type declaration

    • (type): void
    • Parameters

      Returns void

onDatabaseOpened?: ((username: string) => void)

指定用户的本地数据库打开成功时触发。

该回调只表示本地数据库接口可以使用,不表示在线登录成功,也不能代替 onConnected。

Type declaration

    • (username): void
    • Parameters

      • username: string

        数据库所属的用户 ID。

      Returns void

onDisconnected: ((errorCode: number) => void)

SDK 与 chat 服务器断开连接时触发。

断开连接时底层不一定会登出。

onLogout?: ((errorCode: number, info: LoginExtInfo) => void)

SDK 退出登录时触发。

onOfflineMessageSyncFinish?: (() => void)

SDK 拉取离线消息结束时触发。

onOfflineMessageSyncStart?: (() => void)

SDK 开始拉取离线消息时触发。

onTokenExpired?: (() => void)

token 已过期时触发。

onTokenWillExpire?: (() => void)

token 即将过期时触发。