Chat 客户端类。

该类是 Chat SDK 的入口,负责登录、登出及管理 SDK 与 chat 服务器之间的连接。

Constructors

Properties

_chatManager: ChatManager
_chatRoomManager: ChatroomManager
_contactManager: ContactManager
_groupManager: GroupManager
_pushManager: PushManager
chatConfigPrivate: ChatConfigPrivate
connectListener: any = ...
connectListeners: ArrayList<ConnectionListener> = ...
mClient: any
mIsLoginWithToken: boolean = false
multiDeviceListeners: ArrayList<MultiDevicesListener> = ...
sdkInited: boolean = false
TAG: string = ChatClient.name
VERSION: string = "1.0.0"

SDK Version.

_instance: ChatClient

Methods

  • Parameters

    • userId: string
    • code: string
    • isToken: boolean
    • isAutoLogin: boolean

    Returns Promise<void>

  • 设置连接状态监听器。 该监听器用于监听 Chat app 与 Chat 服务器之间的连接。

    Parameters

    • listener: ConnectionListener

      要添加的连接状态监听器。

    Returns void

  • 添加多设备监听器。

    Parameters

    • listener: MultiDevicesListener

      要添加的多设备监听器。

    Returns void

  • 更新 App Key。

    • App Key 用于控制对你的 app 的 Chat 服务的访问,只有在未登录状态才能修改 App Key。
    • 修改 App Key 是为了方便你切换到其他 App Key。
    • 你可以在环信控制台上获取 App Key。
    • 也通过 ChatOptions#setAppKey(String) 设置 App Key,同样只有在未登录状态才能修改。

    Parameters

    • appKey: string

      修改后的 App Key,应用的唯一标识,不可为空。

    Returns ChatError

    • 返回更新后的 App Key 结果。
  • 获取聊天管理类。

    该方法需要在 ChatClient 初始化完成后调用,详见 (ChatOptions)

    Returns ChatManager

    • 返回聊天管理类。
  • 获取聊天室管理类。 该方法需要在 ChatClient 初始化完成后调用,详见 (ChatOptions)

    Returns ChatroomManager

    • 返回聊天室管理类。
  • Parameters

    • pushToken: string
    • certName: string

    Returns void

  • 获取联系人管理类。

    * 该方法需要在 ChatClient 初始化完成后调用,详见 (ChatOptions)

    Returns ContactManager

    • 返回联系人管理类。
  • 创建账号。

    该方法不推荐使用,建议调用相应的 RESTful 方法。

    Parameters

    • userId: string

      用户 ID。 该参数必填。用户 ID 不能超过 64 个字符,支持以下类型的字符:

      • 26 个小写英文字母 a-z;
      • 26 个大写英文字母 A-Z;
      • 10 个数字 0-9;
      • "_", "-", "."
      • 如果使用正则表达式,则可以将表达式写为:^[a-zA-Z0-9_-]+$。

      用户 ID 不区分大小写,大写字母会自动转换为小写字母。

      用户的电子邮件地址和 UUID 不能作为用户 ID。

      可通过以下格式的正则表达式设置用户 ID:^[a-zA-Z0-9_-]+$。

    • password: string

      密码,长度不超过 64 个字符,必填。

    Returns Promise<void>

    • 返回创建账号的 promise 结果。
  • 从内存中获取身份认证 token。

    Returns string

    • 返回用户身份认证 token。
  • 获取当前登录用户的用户 ID。

    Returns string

    • 返回当前登录用户 ID 。
  • 获取 SDK 的配置选项。 return { ChatOptions | undefined } - 返回 SDK 的配置项对象。

    Returns ChatOptions

  • 初始化 SDK。

    Parameters

    • chatOptions: ChatOptions

      配置项,必填。详见 ChatOptions。

    Returns void

  • Returns void

  • 判断当前是否是自动登录状态。 需要 ChatOptions#getAutoLogin 为 true ,且登录用户信息不为空。

    Returns Promise<boolean>

    • 返回是否是自动登录状态。
    • true:是;
    • false:否。
  • 检查用户是否登录 Chat 服务。

    Returns boolean

    • 返回用户是否登录 Chat 服务。
    • true:是;
    • false:否。
  • 检查 SDK 是否已初始化完毕。

    Returns boolean

    • 返回 SDK 初始化状态。
    • true:是;
    • false:否。
  • Returns void

  • 使用密码登录服务器。

    Parameters

    • userId: string

      用户 ID,必填。

    • password: string

      用户密码,必填。

    Returns Promise<void>

    • 登录返回的 Promise 结果。
  • 通过 token 登录服务器。

    该方法支持自动登录。

    Parameters

    • userId: string

      用户 ID,必填。

    • token: string

      验证 token,必填。

    Returns Promise<void>

    • 登录返回的 Promise 结果。
  • 登出聊天服务器。

    Returns Promise<void>

    • 返回退出登录的 promise 结果。
  • 通知 SDK 网络发生变化。

    Returns void

  • Parameters

    • errorCode: number

    Returns void

  • 获取推送管理类。 该方法需要在 ChatClient 初始化完成后调用,详见 (ChatOptions)

    Returns PushManager

    • 返回推送管理类。
  • 移除 Chat 服务器连接监听。

    Parameters

    • listener: ConnectionListener

      要移除的 Chat 服务器连接监听。

    Returns void

  • 移除多设备监听器。

    Parameters

    • listener: MultiDevicesListener

      要移除的多设备监听器。

    Returns void

  • 更新 token。

    当用户利用 token 登录的情况下在 ConnectionListener 类中收到 token 即将过期事件的回调通知时,可调用该方法更新 token,避免因 token 失效产生的未知问题。

    Parameters

    • newToken: string

      新 token。

    Returns Promise<void>

    • 返回更新 token 的 promise 结果。
  • Parameters

    • userId: string
    • code: string
    • isToken: boolean

    Returns void

  • Returns void

  • Parameters

    • tokenExpiredTs: number
    • isLoginWithToken: boolean

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • 上传本地日志。

    Returns Promise<void>

    • 返回上传日志的 Promise 结果。