Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • IMClient

Index

Properties

_context: default
_token: string = ''
Conversation: ConversationModule
ChatRoom: ChatroomModule
logger: ILogger

Constructors

  • new IMClient(apiContext: default, logger: ILogger): IMClient
  • Parameters

    • apiContext: default
    • logger: ILogger

    Returns IMClient

Methods

  • install<T, O>(plugin: IPluginGenerator<T, O>, options: O): null | T
  • 装载 plugin 插件,并返回相应的插件实例,需在调用 connect 方法之前使用

    Type Parameters

    • T

    • O

    Parameters

    • plugin: IPluginGenerator<T, O>
    • options: O

    Returns null | T

  • _listenerFn(event: ((params: any) => void), params?: any): void
  • 降低功能认知复杂度,将业务层方法调用抽离出来

    Parameters

    • event: ((params: any) => void)
        • (params: any): void
        • Parameters

          • params: any

          Returns void

    • Optional params: any

    Returns void

  • 添加全局事件监听,同一类型事件会覆盖添加,以避免多次监听引起的复杂问题

    Parameters

    Returns void

  • unwatch(): void
  • Returns void

  • connect(options: { token: string }): Promise<{ id: string }>
  • 建立 IM 连接

    Parameters

    • options: { token: string }
      • token: string

        用户 token

    Returns Promise<{ id: string }>

  • reconnect(): Promise<{ id: string }>
  • 使用上一次的链接 token 重新建立连接,该方法只需在主动调用 disconnect 方法之后有重连需求时调用

    Returns Promise<{ id: string }>

  • disconnect(): Promise<void>
  • 断开当前用户的连接

    description

    调用后将不再接收消息,不可发送消息,不可获取历史消息,不可获取会话列表

    Returns Promise<void>

  • 获取当前 IM 环境信息

    Returns IReceivedAppInfo

  • getConnectedTime(): number
  • 获取 IM 连接时间

    Returns number

  • getServerTime(): number
  • 获取服务器时间

    Returns number

  • 获取 IM 连接状态

    Returns RCConnectionStatus

  • getConnectionUserId(): string
  • 获取 IM 连接用户的 id

    Returns string

  • getFileToken(fileType: FileType, fileName?: string, httpMethod?: "PUT" | "POST", queryString?: string): Promise<IUploadAuth & { bos: string; qiniu: string }>
  • 获取文件 token

    description

    上传文件时,获取文件 token

    Parameters

    • fileType: FileType

      上传类型, 通过 RongIMLib.FILE_TYPE 获取

    • Optional fileName: string

      上传文件名,Server 通过文件名生成百度上传认证, 若不传 engine 自动生成

    • Optional httpMethod: "PUT" | "POST"

      STC 分段上传时的必填参数,有效值为 PUT | POST

    • Optional queryString: string

      STC 分段上传时的查询字符串 httpMethodqueryString 为 STC S3 分段上传时的专属参数,STC 分段上传包含三个过程:

      1. 开始分段前调用,此时 httpMethod 值应为 POSTqueryString 值为 uploads,filename为空
      2. 上传请求前调用,此时 httpMethod 值应为 PUTqueryString 值为 partNumber={partamNumer}&uploadId={uploadId}, filename为第一个步骤生成的filename
      3. 上传结束前调用,此时 httpMethod 值应为 POSTqueryString 值为 uploadId={uploadId},filename为第一个步骤生成的filename

    Returns Promise<IUploadAuth & { bos: string; qiniu: string }>

  • getFileUrl(fileType: FileType, filename?: string, saveName?: string, uploadRes?: { isBosRes: boolean; downloadUrl: string }, serverType?: UploadMethod): Promise<{ downloadUrl: string }>
  • 获取文件的下载地址

    Parameters

    • fileType: FileType

      文件类型

    • Optional filename: string
    • Optional saveName: string

      下载后的存储文件名

    • Optional uploadRes: { isBosRes: boolean; downloadUrl: string }

      上传成功返回的数据,百度 bos 上传地址即为下载地址,IM Server 不会返回百度 bos 下载地址,通过用户层传入再返回

      • isBosRes: boolean
      • downloadUrl: string
    • Optional serverType: UploadMethod

      使用的存储服务标识

    Returns Promise<{ downloadUrl: string }>

  • changeUser(options: { token: string }): Promise<{ id: string }>
  • 切换用户,作用等同于断开当前用户连接,以新的 token 重新建立连接

    deprecated

    Parameters

    • options: { token: string }
      • token: string

        用户 token

    Returns Promise<{ id: string }>

  • registerMessageType(messageType: string, isPersited: boolean, isCounted: boolean, prototypes?: string[]): void
  • 注册自定义消息

    Parameters

    • messageType: string

      消息类型

    • isPersited: boolean

      是否存储

    • isCounted: boolean

      是否计数

    • Optional prototypes: string[]

      消息属性名称

    Returns void