You need to enable JavaScript to run this app.
导航

API 详情

最近更新时间2024.02.28 18:03:32

首次发布时间2023.04.24 11:11:45

BytedIM

类型: class

IM 类,所有 API 交互都通过该类的实例来操作,实例化支持的参数参见 IMOption

  • API
方法描述
init初始化 SDK。
初始化时会完成与服务端的消息游标同步和历史信息同步。
createCustomMessage创建自定义消息。
createTextMessage创建文本消息。
sendMessage发送消息。
deleteMessage删除消息。(直播群不适用)
recallMessage撤回消息。(直播群不适用)
modifyMessage更新消息内容 (content) 或 ext 或 at 用户列表(支持同时更新)(直播群不适用)
getMessageByServerId根据指定会话中的消息服务端 ID 获取对应消息 (直播群不适用)
getMessageReferenceList获取引用消息链。(直播群不适用)
若消息 B 引用了消息 A,消息 C 引用了消息 B,那么 A -> B -> C 就是一条引用消息链。通过 A、B、C 任意一条消息都可以获取这条消息链。
modifyMessageProperty设置消息属性,常见使用场景:给某条消息点赞、加急等。(直播群不适用)
getConversation获取指定单个本地会话。(直播群不适用)
getConversationOnline请求服务端更新本地会话后,获取指定单个会话。
getConversationList获取本地会话列表。
getConversationListOnline请求服务端更新本地会话后,获取会话列表。直播群列表请使用 getLiveConversationListOnline
getMessagesByConversation从服务器获取会话内区间的消息,默认情况下从本地最早的消息开始拉取 (cursor = conversation.firstMessageIndex) 。拉取直播群区间消息请使用 getLiveGroupHistoryMessageListOnline。
getUserConversationList请求服务器获取用户的会话列表。
createConversation创建群聊。
leaveConversation离开群组。
deleteConversation删除会话。(直播群不适用)
dissolveConversation解散群聊。
setConversationSettingInfo设置会话附加信息,如置顶、免打扰、收藏等。(直播群不适用)
setConversationWeakMuteConfig配置会话低打扰模式。(直播群不适用)
upsertConversationSettingExtInfo更新 Setting ext 拓展信息。(直播群不适用)
setConversationCoreInfo设置群聊信息。
upsertConversationCoreExtInfo更新 Core ext 拓展信息。
getConversationListByTop获取顶置会话。(直播群不适用)
getConversationListByFavorite获取收藏会话。(直播群不适用)
markConversationRead标记会话已读。(直播群不适用)
addParticipants添加群成员。(直播群不适用,如需加入直播群请在用户端加入直播群 joinLiveGroup)
removeParticipants移除普通群成员/移除直播群内其它成员,v1.1.0 新增直播群功能。
注:如需自己退出直播群,请使用 leaveLiveGroup
updateParticipant更新群成员信息。
getParticipants获取 SDK 本地维护的群成员列表。(直播群不适用)
getParticipantsOnline从服务端获取群成员列表。
setConversationMute设置群禁言(会话维度)。
setParticipantMuteTime设置群禁言(成员维度)。
dispose手动卸载 SDK。

init

初始化 SDK。
初始化时会完成与服务端的消息游标同步和历史信息同步。

  • 类型

    (params?: { convLimit?: number; msgLimit?: number; convTotal?: number;}) => Promise<InitResult>
    
  • 注意

    可设置 IMOption disableInitPull 关闭历史信息同步。

  • 参数

    • params

      类型: { convLimit?: number | undefined; msgLimit?: number | undefined; convTotal?: number | undefined; } | undefined

      • 成员

        名称类型描述
        convLimitnumber | undefined每次调用初始化拉取接口时,会话数量限制。
        msgLimitnumber | undefined每次调用初始化拉取接口时,每个对话返回的消息数量限制。
        convTotalnumber | undefined初始化拉取的会话总数量限制。该值非 0 时,当本地会话数量大于等于该值时停止拉取。
  • 返回值

    类型: Promise<InitResult>

    初始化结果。

createCustomMessage

创建自定义消息。

  • 类型

    (params: { conversation: Conversation; content: string; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; content: string; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation当前发送消息的会话。
        contentstring消息体。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

createTextMessage

创建文本消息。

  • 类型

    (params: { conversation: Conversation; content: string; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; content: string; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation当前发送消息的会话。
        contentstring消息体。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

sendMessage

发送消息。

  • 类型

    (params: { message: Message; priority?: im_proto.MessagePriority;}) => Promise<SendMessageResult>
    
  • 参数

    • params

      类型: { message: Message; priority?: im_proto.MessagePriority | undefined; }

      • 成员

        名称类型描述
        messageMessage要发送的消息,由 createXxxMessage 接口创建。
        priorityim_proto.MessagePriority | undefined消息的优先级(适用于直播群消息)
  • 返回值

    发送消息结果。

deleteMessage

删除消息。(直播群不适用)

  • 类型

    (params: { message: Message; localOnly?: boolean;}) => Promise<void>
    
  • 参数

    • params

      类型: { message: Message; localOnly?: boolean | undefined; }

      • 成员

        名称类型描述
        messageMessage待删除的消息。
        localOnlyboolean | undefined是否仅删除本地,不同步到服务端。

recallMessage

撤回消息。(直播群不适用)

  • 类型

    (params: { message: Message;}) => Promise<void>
    
  • 参数

    • params

      类型: { message: Message; }

      • 成员

        名称类型描述
        messageMessage待撤回的消息。

modifyMessage

更新消息内容 (content) 或 ext 或 at 用户列表(支持同时更新)(直播群不适用)

  • 类型

    (params: { message: Message; ext?: { [k: string]: string; } | undefined; content?: string | undefined; mentionedUsers?: string[] | undefined; }) => Promise<{ message: Message; }>
    
  • 参数

    • params

      类型: { message: Message; ext?: { [k: string]: string; } | undefined; content?: string | undefined; mentionedUsers?: string[] | undefined; }

      消息

      • 成员

        名称类型描述
        messageMessage
        ext{ [k: string]: string; } | undefined
        contentstring | undefined
        mentionedUsersstring[] | undefined

getMessageByServerId

根据指定会话中的消息服务端 ID 获取对应消息 (直播群不适用)

  • 类型

    (params: { conversation: Conversation; serverMessageId: string; online?: boolean;}) => Promise<Message | null>
    
  • 参数

    • params

      类型: { conversation: Conversation; serverMessageId: string; online?: boolean | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        serverMessageIdstring消息的 serverId。
        onlineboolean | undefined是否必须从服务端获取,默认会先从本地返回
  • 返回值

    参看 Message

getMessageReferenceList

获取引用消息链。(直播群不适用)
若消息 B 引用了消息 A,消息 C 引用了消息 B,那么 A -> B -> C 就是一条引用消息链。通过 A、B、C 任意一条消息都可以获取这条消息链。

  • 类型

    (params: { message: Message;}) => Promise<Message[]>
    
  • 参数

    • params

      类型: { message: Message; }

      • 成员

        名称类型描述
        messageMessage消息体。
  • 返回值

    类型: Promise<Message[]>

    引用消息链。

modifyMessageProperty

设置消息属性,常见使用场景:给某条消息点赞、加急等。(直播群不适用)

  • 类型

    (params: { message: Message; modifyContent: Array<{ key: string; operation?: im_proto.OPERATION_TYPE; value?: string; idempotentId?: string; }>;}) => Promise<ModifyMessagePropertyResult>
    
  • 注意

    消息加急本质上是修改消息属性,在中台侧仅为一个状态变更。加急之后的附加操作(如全局提醒、短信电话提醒等)需要业务方自行处理。

  • 参数

    • params

      类型: { message: Message; modifyContent: Array<{ key: string; operation?: im_proto.OPERATION_TYPE; value?: string; idempotentId?: string;}>; }

      • 成员

        名称类型描述
        messageMessage消息体。
        modifyContent{ key: string; operation?: im_proto.OPERATION_TYPE | undefined; value?: string | undefined; idempotentId?: string | undefined; }[]消息属性。
        modifyContent.keystring表情回应消息,例如 OK/点赞/done 等。
        modifyContent.operationim_proto.OPERATION_TYPE | undefined操作类型。
        modifyContent.valuestring | undefined对应 content。也可以什么都不存,只代表有这个 key。
        modifyContent.idempotentIdstring | undefined幂等 ID。通常为 user ID,防止对单个点赞动作重复操作。
  • 返回值

    类型: Promise<ModifyMessagePropertyResult>

    设置消息属性结果。

getConversation

获取指定单个本地会话。(直播群不适用)

  • 类型

    (params: { conversationId: string;}) => Conversation
    
  • 参数

    • params

      类型: { conversationId: string; }

      • 成员

        名称类型描述
        conversationIdstring会话 ID。
  • 返回值

    参看 Conversation

getConversationOnline

请求服务端更新本地会话后,获取指定单个会话。

  • 类型

    (params: { conversationId: string; shortId: string; type: im_proto.ConversationType;}) => Promise<Conversation>
    
  • 参数

    • params

      类型: { conversationId: string; shortId: string; type: im_proto.ConversationType; }

      • 成员

        名称类型描述
        conversationIdstring会话 ID。
        shortIdstringshortId。
        typeim_proto.ConversationType会话类型。
  • 返回值

    参看 Conversation

getConversationList

获取本地会话列表。

  • 类型

    (params?: { filter?: ((c: Conversation) => boolean) | undefined; }) => Conversation[]
    
  • 参数

    • params

      类型: { filter?: ((c: Conversation) => boolean) | undefined; }

      默认值: ' {}'

      • 成员

        名称类型描述
        filter((c: Conversation) => boolean) | undefined过滤条件,默认过滤陌生人会话和空会话。

getConversationListOnline

请求服务端更新本地会话后,获取会话列表。直播群列表请使用 getLiveConversationListOnline

  • 类型

    (params?: { filter?: ((c: Conversation) => boolean) | undefined; }) => Promise<Conversation[]>
    
  • 参数

    • params

      类型: { filter?: ((c: Conversation) => boolean) | undefined; }

      默认值: ' {}'

      • 成员

        名称类型描述
        filter((c: Conversation) => boolean) | undefined过滤条件,默认过滤陌生人会话和空会话。

getMessagesByConversation

从服务器获取会话内区间的消息,默认情况下从本地最早的消息开始拉取 (cursor = conversation.firstMessageIndex) 。拉取直播群区间消息请使用 getLiveGroupHistoryMessageListOnline。

  • 类型

    (params: { conversation: Conversation; cursor?: string | Long | Message; direction?: number; limit?: number; limitIndex?: Long;}) => Promise<{ messages: Message[]; hasMore: boolean; cursor: Long; }>
    
  • 注意

    如果需要获得某个会话本地已有的消息,需调用 conversation.getMessageList()

  • 参数

    • params

      类型: { conversation: Conversation; cursor?: string | Long | Message | undefined; direction?: number | undefined; limit?: number | undefined; limitIndex?: Long | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        cursorstring | Long | Message | undefined拉取消息位置游标。
        directionnumber | undefined拉取消息方向。
        limitnumber | undefined拉取消息数量。
        limitIndexLong | undefined保留参数,无意义。
  • 返回值

    会话内的消息列表,其中消息结构参看 Message

getUserConversationList

请求服务器获取用户的会话列表。

  • 类型

    (params: { type: im_proto.ConversationType; inboxType?: number; cursor?: Long | string; limit?: number; sortType?: im_proto.SortType; includeRole?: number; excludeRole?: number; withCold?: boolean;}) => Promise<{ conversation: Conversation[]; hasMore: boolean; cursor: Long; }>
    
  • 参数

    • params

      类型: { type: im_proto.ConversationType; inboxType?: number | undefined; cursor?: string | Long | undefined; limit?: number | undefined; sortType?: im_proto.SortType | undefined; includeRole?: number | undefined; excludeRole?: number | undefined; withCold?: boolean | undefined; }

      • 成员

        名称类型描述
        typeim_proto.ConversationType会话类型。
        inboxTypenumber | undefined信箱类型。
        cursorstring | Long | undefined拉取消息位置游标。
        limitnumber | undefined单次拉取消息数量。
        sortTypeim_proto.SortType | undefined排序类型。
        includeRolenumber | undefined查询群聊类型时,包含的群聊角色,参看 GroupRole
        excludeRolenumber | undefined查询群聊类型时,排除的群聊角色,参看 GroupRole
        withColdboolean | undefined保留参数,无意义。
  • 返回值

    用户会话列表和分页消息,其中会话结构参看 Conversation

createConversation

创建群聊。

  • 类型

    (params: { participants: string[] | string; bizExt?: { [k: string]: string; } | undefined; inboxType?: number | undefined; type?: im_proto.ConversationType | undefined; persistent?: boolean | undefined; idempotentId?: string | undefined; name?: string | undefined; avatarUrl?: string | undefined; desc?: string | undefined; }) => Promise<CreateConversationResult>
    
  • 参数

    • params

      类型: { participants: string[] | string; bizExt?: { [k: string]: string; } | undefined; inboxType?: number | undefined; type?: im_proto.ConversationType | undefined; persistent?: boolean | undefined; idempotentId?: string | undefined; name?: string | undefined; avatarUrl?: string | undefined; desc?: string | undefined; }

      • 成员

        名称类型描述
        participantsstring | string[]会话内的用户 ID。
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
        inboxTypenumber | undefined信箱类型。
        typeim_proto.ConversationType | undefined会话类型。
        persistentboolean | undefined持久化幂等,默认为 true,不建议修改。
        idempotentIdstring | undefined幂等 ID。由业务方自己生成,以同样的幂等 ID 创建群聊会话时,会返回之前已经创建好的群聊会话。
        namestring | undefined群名称。
        avatarUrlstring | undefined群头像的 url 链接。
        descstring | undefined群描述。
  • 返回值

    类型: Promise<CreateConversationResult>

    创建结果。

leaveConversation

离开群组。

  • 类型

    (params: { conversation: Conversation;}) => Promise<void>
    
  • 参数

    • params

      类型: { conversation: Conversation; }

      • 成员

        名称类型描述
        conversationConversation会话信息。

deleteConversation

删除会话。(直播群不适用)

  • 类型

    (params: { conversation: Conversation; localOnly?: boolean;}) => Promise<void>
    
  • 参数

    • params

      类型: { conversation: Conversation; localOnly?: boolean | undefined; }

      • 成员

        名称类型描述
        conversationConversation待删除的会话。
        localOnlyboolean | undefined是否仅在本地删除,不同步到服务端。
        默认值为 false,即本地和服务端均删除。

dissolveConversation

解散群聊。

  • 类型

    (params: { conversation: Conversation;}) => Promise<void>
    
  • 参数

    • params

      类型: { conversation: Conversation; }

      • 成员

        名称类型描述
        conversationConversation会话信息。

setConversationSettingInfo

设置会话附加信息,如置顶、免打扰、收藏等。(直播群不适用)

  • 类型

    (params: { conversation: Conversation; stickOnTop?: boolean; mute?: boolean; favorite?: boolean; pushStatus?: PushStatus;}) => Promise<SetConversationSettingInfoResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; stickOnTop?: boolean | undefined; mute?: boolean | undefined; favorite?: boolean | undefined; pushStatus?: PushStatus | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        stickOnTopboolean | undefined是否置顶。
        muteboolean | undefined是否免打扰。
        favoriteboolean | undefined是否收藏。
        pushStatusPushStatus | undefined消息推送模式。
  • 返回值

    类型: Promise<SetConversationSettingInfoResult>

    设置结果。

setConversationWeakMuteConfig

配置会话低打扰模式。(直播群不适用)

  • 类型

    (params: { conversation: Conversation; config: ConversationSettingWeakMuteInfo;}) => Promise<{ success: boolean; payload: Conversation; checkCode: Long; checkMsg: string; statusCode: number; statusMsg: string; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; config: ConversationSettingWeakMuteInfo; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        configConversationSettingWeakMuteInfo会话低打扰模式配置。

upsertConversationSettingExtInfo

更新 Setting ext 拓展信息。(直播群不适用)

  • 类型

    (params: { conversation: Conversation; ext?: { [k: string]: string; } | undefined; }) => Promise<{ success: boolean; payload: Conversation; checkCode: Long; checkMsg: string; statusCode: number; statusMsg: string; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; ext?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        ext{ [k: string]: string; } | undefined拓展信息。

setConversationCoreInfo

设置群聊信息。

  • 类型

    (params: { conversation: Conversation; name?: string | undefined; desc?: string | undefined; icon?: string | undefined; notice?: string | undefined; isNameSet?: boolean | undefined; isDescSet?: boolean | undefined; isIconSet?: boolean | undefined; isNoticeSet?: boolean | undefined; ext?: { [k: string]: string; } | undefined; bizExt?: { [k: string]: string; } | undefined;})=> Promise<SetConversationSettingInfoResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; name?: string | undefined; desc?: string | undefined; icon?: string | undefined; notice?: string | undefined; isNameSet?: boolean | undefined; isDescSet?: boolean | undefined; isIconSet?: boolean | undefined; isNoticeSet?: boolean | undefined; ext?: { [k: string]: string; } | undefined; bizExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        namestring | undefined群名称。
        descstring | undefined群描述。
        iconstring | undefined群头像的 url 链接。
        noticestring | undefined群公告。
        isNameSetboolean | undefined是否设置群名称。
        isDescSetboolean | undefined是否设置群描述。
        isIconSetboolean | undefined是否设置群头像。
        isNoticeSetboolean | undefined是否设置群公告。
        ext{ [k: string]: string; } | undefined拓展信息。
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
  • 返回值

    类型: Promise<SetConversationSettingInfoResult>

    群聊信息设置结果。

upsertConversationCoreExtInfo

更新 Core ext 拓展信息。

  • 类型

    (params: { conversation: Conversation; ext?: { [k: string]: string; } | undefined; }) => Promise<{ success: boolean; payload: Conversation; checkCode: Long; checkMsg: string; statusCode: number; statusMsg: string; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; ext?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        ext{ [k: string]: string; } | undefined拓展信息。
  • 返回值

    更新结果。

getConversationListByTop

获取顶置会话。(直播群不适用)

  • 类型

    (params?: { cursor?: string | Long; limit?: number; inboxType?: number;}) => Promise<{ conversation: Conversation[]; hasMore: boolean; cursor: Long; }>
    
  • 参数

    • params

      类型: { cursor?: string | Long | undefined; limit?: number | undefined; inboxType?: number | undefined; }

      默认值: ' {}'

      • 成员

        名称类型描述
        cursorstring | Long | undefined拉取消息位置游标,默认值为 0。
        limitnumber | undefined拉取消息数量。
        inboxTypenumber | undefined信箱类型。
  • 返回值

    获取到的会话,其中会话结构参看 Conversation

getConversationListByFavorite

获取收藏会话。(直播群不适用)

  • 类型

    (params?: { cursor?: string | Long; limit?: number; inboxType?: number;}) => Promise<{ conversation: Conversation[]; hasMore: boolean; cursor: Long; }>
    
  • 参数

    • params

      类型: { cursor?: string | Long | undefined; limit?: number | undefined; inboxType?: number | undefined; }

      默认值: ' {}'

      • 成员

        名称类型描述
        cursorstring | Long | undefined拉取消息位置游标,默认值为 0。
        limitnumber | undefined拉取消息数量。
        inboxTypenumber | undefined信箱类型。
  • 返回值

    获取到的会话,其中会话结构参看 Conversation

markConversationRead

标记会话已读。(直播群不适用)

  • 类型

    (params: { conversation: Conversation; readIndex?: string | Long | Message; convUnreadCount?: number; totalUnreadCount?: number;}) => Promise<void>
    
  • 参数

    • params

      类型: { conversation: Conversation; readIndex?: string | Long | Message | undefined; convUnreadCount?: number | undefined; totalUnreadCount?: number | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        readIndexstring | Long | Message | undefined消息的 indexInConversation。默认为会话的 lastMessageIndex(最后一条消息的 index)。
        convUnreadCountnumber | undefined会话中未读消息数。
        totalUnreadCountnumber | undefined总未读消息数。

addParticipants

添加群成员。(直播群不适用,如需加入直播群请在用户端加入直播群 joinLiveGroup)

  • 类型

    (params: { conversation: Conversation; participant: Participant | Participant[] | string[] | string; bizExt?: { [k: string]: string; } | undefined; isDropReconnect?: boolean | undefined; _participantInfos?: { user_id?: Long | null | undefined; alias?: string | null | undefined; ext?: { [k: string]: string; } | null | undefined; avatar_url?: string | null | undefined; }[] | undefined; }) => Promise<AddParticipantResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; participant: Participant | Participant[] | string[] | string; bizExt?: { [k: string]: string; } | undefined; isDropReconnect?: boolean | undefined; _participantInfos?: { user_id?: Long | null | undefined; alias?: string | null | undefined; ext?: { [k: string]: string; } | null | undefined; avatar_url?: string | null | undefined; }[] | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        participantstring | string[] | Participant | Participant[]待添加的群成员 ID 列表。
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
        isDropReconnectboolean | undefined是否是掉线重连。若用户因网络波动等原因掉线,SDK 会在网络恢复后自动重连。
  • 返回值

    类型: Promise<AddParticipantResult>

    添加成员结果。

removeParticipants

移除普通群成员/移除直播群内其它成员,v1.1.0 新增直播群功能。
注:如需自己退出直播群,请使用 leaveLiveGroup

  • 类型

    (params: { conversation: Conversation; participant: Participant | Participant[] | string | string[]; bizExt?: { [k: string]: string; } | undefined; }) => Promise<RemoveParticipantResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; participant: Participant | Participant[] | string | string[]; bizExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        participantstring | string[] | Participant | Participant[]待移除的群成员 ID 列表。
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
  • 返回值

    类型: Promise<RemoveParticipantResult>

    移除成员结果。

updateParticipant

更新群成员信息。

  • 类型

    (params: { conversation: Conversation; userId: string; role?: number | undefined; alias?: string | undefined; avatarUrl?: string | undefined; bizExt?: { [k: string]: string; } | undefined; }) => Promise<UpdateParticipantResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; userId: string; role?: number | undefined; alias?: string | undefined; avatarUrl?: string | undefined; bizExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        userIdstring成员的用户 ID。
        rolenumber | undefined成员角色。
        0 为普通成员,1 为群主。
        aliasstring | undefined成员群昵称。
        avatarUrlstring | undefined成员头像(直播群适用)
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
  • 返回值

    类型: Promise<UpdateParticipantResult>

    更新结果。

getParticipants

获取 SDK 本地维护的群成员列表。(直播群不适用)

  • 类型

    (params: { conversation: Conversation;}) => Participant[]
    
  • 参数

    • params

      类型: { conversation: Conversation; }

      • 成员

        名称类型描述
        conversationConversation会话信息。

getParticipantsOnline

从服务端获取群成员列表。

  • 类型

    (params: { conversation: Conversation; limit?: number; cursor?: Long;}) => Promise<{ participants: Participant[]; hasMore: boolean; cursor: Long; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; limit?: number | undefined; cursor?: Long | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        limitnumber | undefined单页拉取消息数量。
        cursorLong | undefined下一页拉取消息位置游标。
  • 返回值

    群成员列表与分页信息,其中成员结构参看 Participant

setConversationMute

设置群禁言(会话维度)。

  • 类型

    (params: { conversation: Conversation; block: boolean; normalOnly?: boolean;}) => Promise<Conversation>
    
  • 参数

    • params

      类型: { conversation: Conversation; block: boolean; normalOnly?: boolean | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        blockboolean是否禁言。
        normalOnlyboolean | undefined是否只禁言普通群成员。
  • 返回值

    参看 Conversation

setParticipantMuteTime

设置群禁言(成员维度)。

  • 类型

    (params: { conversation: Conversation; block: boolean; blockDuration: { [k: string]: string | number | Long; }; bizExt?: { [k: string]: string; } | undefined; }) => Promise<Conversation>
    
  • 参数

    • params

      类型: { conversation: Conversation; block: boolean; blockDuration: { [k: string]: string | number | Long; }; bizExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        blockboolean是否禁言。
        blockDuration{ [k: string]: string | number | Long; }禁言用户和时间。key 是用户 ID;value 是禁言时间,单位为秒。{111: 1000} 表示把用户 111 禁言 1000 秒。
        bizExt{ [k: string]: string; } | undefined业务拓展信息。
  • 返回值

    参看 Conversation

dispose

手动卸载 SDK。

  • 类型

    () => void
    

MultimediaPlugin

类型: class

多媒体消息插件,在 IM 实例化时传入后,IM 实例增加发送媒体消息的方法。新创建的应用默认未开启发送多媒体消息,如需使用请联系技术支持进行配置。

  • API
方法描述
createImageMessage创建图片消息。
createAudioMessage创建音频消息。
createVideoMessage创建视频消息。
createFileMessage创建文件消息。
refreshFileUrl根据消息内容刷新文件 URL。
validateFileUrl校验文件 URL 是否在有效期。
getImageResizeUrls获取图片 URL(缩放、转码)。

createImageMessage

创建图片消息。

  • 类型

    (params: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        fileInfoFileInfo文件信息。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

createAudioMessage

创建音频消息。

  • 类型

    (params: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        fileInfoFileInfo文件信息。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

createVideoMessage

创建视频消息。

  • 类型

    (params: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        fileInfoFileInfo文件信息。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

createFileMessage

创建文件消息。

  • 类型

    (params: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }) => Promise<Message>
    
  • 参数

    • params

      类型: { conversation: Conversation; fileInfo: FileInfo; clientId?: string | undefined; ext?: { [k: string]: string; } | undefined; mentionedUsers?: string[] | undefined; insert?: boolean | undefined; referenceMessage?: Message | undefined; referenceHint?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        fileInfoFileInfo文件信息。
        clientIdstring | undefined客户端 ID。
        ext{ [k: string]: string; } | undefined消息拓展属性。
        mentionedUsersstring[] | undefined需要 @ 的用户列表。
        insertboolean | undefined消息创建后是否 process 处理(新消息处理流程)。
        referenceMessageMessage | undefined引用的消息。
        referenceHintstring | undefined业务透传的引用信息,传入自定义引用线索。
  • 返回值

    创建的消息,参看 Message

refreshFileUrl

根据消息内容刷新文件 URL。

  • 类型

    (params: { message: Message; ignoreCache?: boolean;}) => Promise<Message>
    
  • 参数

    • params

      类型: { message: Message; ignoreCache?: boolean | undefined; }

      • 成员

        名称类型描述
        messageMessage消息内容。
        ignoreCacheboolean | undefined是否忽略缓存。
  • 返回值

    参看 Message

validateFileUrl

校验文件 URL 是否在有效期。

  • 类型

    (params: { message: Message; delta?: number;}) => boolean
    
  • 参数

    • params

      类型: { message: Message; delta?: number | undefined; }

      • 成员

        名称类型描述
        messageMessage消息内容
        deltanumber | undefined有效期偏移量,单位秒,默认提前30s认定过期
  • 返回值

    类型: boolean

getImageResizeUrls

获取图片 URL(缩放、转码)。

  • 类型

    (params: { uri: string; format?: string; width: number; height: number;}) => Promise<string[]>
    
  • 参数

    • params

      类型: { uri: string; format?: string | undefined; width: number; height: number; }

      • 成员

        名称类型描述
        uristring图片 URI。
        formatstring | undefined图片格式,目前支持 jpeg, png, webp, gif。
        widthnumber图片宽度。
        heightnumber图片高度。
  • 返回值

    类型: Promise<string[]>

    图片 URL。

LivePlugin

类型: class

直播群插件,在 IM 实例化时传入后,IM 实例增加直播群相关的方法。v1.1.0 新增。

  • API
方法描述
joinLiveGroup加入直播群,加入成功时会启动直播 ping 和断线恢复重进(接口基于 addParticipants)
leaveLiveGroup离开直播群,并且会停止直播 ping(接口基于 removeParticipants)
setParticipantBlockTime拉黑直播群成员。
getMuteParticipantsOnline获取直播群禁言成员列表。
getBlockParticipantsOnline获取直播群被拉黑成员列表。
getLiveParticipantMuteWhiteListOnline获取直播群禁言白名单。
addLiveParticipantMuteWhiteList添加指定成员到直播群禁言白名单。
removeLiveParticipantMuteWhiteList从直播群禁言白名单移除指定成员。
getLiveConversationListOnline获取直播群列表。
getLiveParticipantsOnline获取直播群在线成员列表。
getLiveParticipantCountOnline获取直播群在线人数
getLiveParticipantInfoOnline获取直播群指定成员状态信息(例如是否在线、最后活跃时间),v1.1.2 新增。
getLiveParticipantDetailOnline获取直播群指定成员资料(例如成员在群中的昵称、头像),v1.5.0 新增。
getLiveGroupHistoryMessageListOnline获取直播群历史消息
updateLiveConversationMarks更新直播群内的标记类型
getLiveConversationMarksOnline获取直播群内的标记类型
updateLiveParticipantsMarks更新直播群内指定成员的标记,需要先在群中创建好对应标记类型

joinLiveGroup

加入直播群,加入成功时会启动直播 ping 和断线恢复重进(接口基于 addParticipants)

  • 类型

    (params: { conversation: Conversation; bizExt?: { [key: string]: string; } | undefined; avatarUrl?: string | undefined; alias?: string | undefined; participantExt?: { [k: string]: string; } | undefined; }) => Promise<...>
    
  • 参数

    • params

      类型: { conversation: Conversation; bizExt?: { [key: string]: string; } | undefined; avatarUrl?: string | undefined; alias?: string | undefined; participantExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群
        bizExt{ [key: string]: string; } | undefined业务拓展信息
        avatarUrlstring | undefined进群后自己的群头像
        aliasstring | undefined进群后自己的群昵称
        participantExt{ [k: string]: string; } | undefined进群后自己的成员信息扩展字段
  • 返回值

    添加成员结果。

leaveLiveGroup

离开直播群,并且会停止直播 ping(接口基于 removeParticipants)

  • 类型

    (params: { conversation: Conversation; bizExt?: { [key: string]: string; } | undefined; }) => Promise<RemoveParticipantResult>
    
  • 参数

    • params

      类型: { conversation: Conversation; bizExt?: { [key: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群
        bizExt{ [key: string]: string; } | undefined业务拓展信息
  • 返回值

    移除成员结果。

setParticipantBlockTime

拉黑直播群成员。

  • 类型

    (params: { conversation: Conversation; block: boolean; blockDuration: { [k: string]: string | number | Long; }; bizExt?: { [k: string]: string; } | undefined; }) => Promise<im_proto.IBlockMembersResponseBody | null | undefined>
    
  • 参数

    • params

      类型: { conversation: Conversation; block: boolean; blockDuration: { [k: string]: string | number | Long; }; bizExt?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        conversationConversation会话信息。
        blockboolean是否拉黑。
        blockDuration{ [k: string]: string | number | Long; }用户ID/拉黑时长。
        bizExt{ [k: string]: string; } | undefined
  • 返回值

    拉黑的消息。

getMuteParticipantsOnline

获取直播群禁言成员列表。

  • 类型

    (params: { conversation: Conversation; limit?: number; cursor?: Long;}) => Promise<{ participants: any; hasMore: any; cursor: any; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; limit?: number | undefined; cursor?: Long | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群信息。
        limitnumber | undefined每页多少条,默认20条。
        cursorLong | undefined游标。
  • 返回值

    成员列表信息。

getBlockParticipantsOnline

获取直播群被拉黑成员列表。

  • 类型

    (params: { conversation: Conversation; limit?: number; cursor?: Long;}) => Promise<{ participants: any; hasMore: any; cursor: any; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; limit?: number | undefined; cursor?: Long | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群信息。
        limitnumber | undefined每页多少条,默认20条。
        cursorLong | undefined游标。
  • 返回值

    成员列表信息。

getLiveParticipantMuteWhiteListOnline

获取直播群禁言白名单。

  • 类型

    (params: { conversation: Conversation; cursor?: Long; limit?: number;}) => Promise<{ participants: any; hasMore: any; cursor: any; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; cursor?: Long | undefined; limit?: number | undefined; }

      • 成员

        名称类型描述
        conversationConversation需要获取的直播群
        cursorLong | undefined游标。
        limitnumber | undefined每页多少条,默认20条。
  • 返回值

    直播群禁言白名单。

addLiveParticipantMuteWhiteList

添加指定成员到直播群禁言白名单。

  • 类型

    (params: { conversation: Conversation; participantIds: string[];}) => Promise<{ failedParticipantIds: string[]; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; participantIds: string[]; }

      • 成员

        名称类型描述
        conversationConversation直播群
        participantIdsstring[]成员 ID
  • 返回值

    添加失败的成员 ID。

removeLiveParticipantMuteWhiteList

从直播群禁言白名单移除指定成员。

  • 类型

    (params: { conversation: Conversation; participantIds: string[];}) => Promise<{ failedParticipantIds: string[]; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; participantIds: string[]; }

      • 成员

        名称类型描述
        conversationConversation直播群
        participantIdsstring[]成员 ID
  • 返回值

    移除失败的成员 ID。

getLiveConversationListOnline

获取直播群列表。

  • 类型

    (params: { cursor?: Long; policy?: number; limit?: number;}) => Promise<{ conversation: any; hasMore: any; cursor: any; }>
    
  • 参数

    • params

      类型: { cursor?: Long | undefined; policy?: number | undefined; limit?: number | undefined; }

      • 成员

        名称类型描述
        cursorLong | undefined游标。
        policynumber | undefined过滤条件 1: 所有的群 3: 自己是群主的群。默认返回所有群。
        limitnumber | undefined每页多少条,默认20条。
  • 返回值

    直播群列表信息。

getLiveParticipantsOnline

获取直播群在线成员列表。

  • 类型

    (params: { conversation: Conversation; limit?: number; cursor?: Long; markType?: string;}) => Promise<{ participants: any; hasMore: any; cursor: any; }>
    
  • 注意

    • 使用国内环境时,支持拉取最新加群的 10,000 个在线成员。
    • 使用海外环境时,支持拉取最新加群的 3,000 个在线成员。
  • 参数

    • params

      类型: { conversation: Conversation; limit?: number | undefined; cursor?: Long | undefined; markType?: string | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群信息。
        limitnumber | undefined每页多少条,默认20条。
        cursorLong | undefined游标。
        markTypestring | undefined成员标记
  • 返回值

    在线成员列表信息。

getLiveParticipantCountOnline

获取直播群在线人数

  • 类型

    (params: { conversation: Conversation;}) => Promise<{ count: number; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; }

      • 成员

        名称类型描述
        conversationConversation直播群信息。
  • 返回值

    在线人数

getLiveParticipantInfoOnline

获取直播群指定成员状态信息(例如是否在线、最后活跃时间),v1.1.2 新增。

  • 类型

    (params: { conversation: Conversation; participantIds: string[];}) => Promise<Record<string, im_proto.IMemberInfo | undefined>>
    
  • 参数

    • params

      类型: { conversation: Conversation; participantIds: string[]; }

      • 成员

        名称类型描述
        conversationConversation直播群
        participantIdsstring[]要查询的用户 ID
  • 返回值

    类型: Promise<Record<string, im_proto.IMemberInfo | undefined>>

    直播群指定成员状态信息。

getLiveParticipantDetailOnline

获取直播群指定成员资料(例如成员在群中的昵称、头像),v1.5.0 新增。

  • 类型

    ({ conversation, participantIds }: { conversation: Conversation; participantIds: string[];}) => Promise<Participant[]>
    
  • 参数

    • {conversation, participantIds}

      类型: { conversation: Conversation; participantIds: string[]; }

      • 成员

        名称类型描述
        conversationConversation直播群
        participantIdsstring[]要查询的用户 ID
  • 返回值

    类型: Promise<Participant[]>

    直播群指定成员资料。

getLiveGroupHistoryMessageListOnline

获取直播群历史消息

  • 类型

    (params: { conversation: Conversation; limit?: number; fromIndex?: Long; direction?: im_proto.MessageDirection;}) => Promise<{ messages: Message[]; hasMore: boolean; nextIndex: Long; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; limit?: number | undefined; fromIndex?: Long | undefined; direction?: im_proto.MessageDirection | undefined; }

      • 成员

        名称类型描述
        conversationConversation直播群信息。
        limitnumber | undefined每页多少条,默认 20 条。
        fromIndexLong | undefined查询起始下标,默认为 Long.MAX_VALUE(配合查询方向)
  • 返回值

    对应区间消息列表和下一页起始下标

updateLiveConversationMarks

更新直播群内的标记类型

  • 类型

    (params: { markAction?: im_proto.MarkAction; conversation: Conversation; markTypes: string[];}) => Promise<{}>
    
  • 参数

    • params

      类型: { markAction?: im_proto.MarkAction | undefined; conversation: Conversation; markTypes: string[]; }

      • 成员

        名称类型描述
        markActionim_proto.MarkAction | undefined标记操作(添加或删除)
        conversationConversation直播群
        markTypesstring[]标记类型
  • 返回值

    (无数据返回)

getLiveConversationMarksOnline

获取直播群内的标记类型

  • 类型

    (params: { conversation: Conversation;}) => Promise<{ markTypes: string[] | null | undefined; }>
    
  • 参数

    • params

      类型: { conversation: Conversation; }

      • 成员

        名称类型描述
        conversationConversation直播群
  • 返回值

    群里已有的标记类型

updateLiveParticipantsMarks

更新直播群内指定成员的标记,需要先在群中创建好对应标记类型

  • 类型

    (params: { markAction?: im_proto.MarkAction; conversation: Conversation; participantIds: string[]; markTypes: string[];}) => Promise<{ checkCode: Long; checkMsg: string; failedParticipant: string[]; rawResp: im_proto.IBatchUpdateConversationParticipantResponseBody | null | undefined; }>
    
  • 参数

    • params

      类型: { markAction?: im_proto.MarkAction | undefined; conversation: Conversation; participantIds: string[]; markTypes: string[]; }

      • 成员

        名称类型描述
        markActionim_proto.MarkAction | undefined标记操作(添加或删除)
        conversationConversation直播群
        participantIdsstring[]成员 ID
        markTypesstring[]标记类型
  • 返回值

    操作结果(例如失败的成员)

ContactPlugin

类型: class

联系人插件,提供好友关系等能力;在 IM 实例化时传入后,IM 实例增加联系人相关的方法。v1.2.0 新增。

  • API
方法描述
getFriendReceiveApplyListOnline获取好友申请列表。
getFriendListOnline获取好友列表。
applyFriend申请添加好友。
deleteFriend删除好友。
replyFriendApply回应好友申请。
markFriendReceiveApplyAsRead标记好友申请已读。(用于同步申请未读数等场景)
addUserToBlack将指定用户加入黑名单
removeUserFromBlack将指定用户从黑名单移除
userIsInMyBlack检查用户是否在黑名单中
updateBlackUserState更新指定用户黑名单条目(例如更新 ext)
getBlacklistOnline获取用户黑名单
updateFriend更新好友信息
getUserProfilesOnline获取用户资料
setUserProfile设置用户资料

getFriendReceiveApplyListOnline

获取好友申请列表。

  • 类型

    (params: { cursor?: Long; limit?: number; direction?: im_proto.MessageDirection;}) => Promise<{ list: FriendApply[]; totalCount: number; cursor: Long | null | undefined; hasMore: boolean | null | undefined; unreadCount: number; }>
    
  • 参数

    • params

      类型: { cursor?: Long | undefined; limit?: number | undefined; direction?: im_proto.MessageDirection | undefined; }

      • 成员

        名称类型描述
        cursorLong | undefined分页游标,首页拉取可使用 0。
        limitnumber | undefined查询条数,默认 20 条。
        directionim_proto.MessageDirection | undefined拉取方向,默认从新到旧。
  • 返回值

    好友申请列表与分页信息,其中好友申请列表参看 FriendApply

getFriendListOnline

获取好友列表。

  • 类型

    (params: { cursor?: Long; limit?: number;}) => Promise<{ list: Friend[]; totalCount: number; cursor: Long | null | undefined; hasMore: boolean | null | undefined; }>
    
  • 参数

    • params

      类型: { cursor?: Long | undefined; limit?: number | undefined; }

      • 成员

        名称类型描述
        cursorLong | undefined分页游标,首页拉取可使用 0。
        limitnumber | undefined查询条数,默认 20 条。
  • 返回值

    好友列表与分页信息,其中好友信息参看 Friend

applyFriend

申请添加好友。

  • 类型

    ({ userId, ext }: { userId: string; ext?: { [key: string]: string; } | undefined; }) => Promise<{ status: number | null | undefined; checkCode: Long | null | undefined; checkMessage: string | null | undefined; index: Long | null | undefined; applyId: string | null | undefined; }>
    
  • 参数

    • { userId, ext }

      类型: { userId: string; ext?: { [key: string]: string; } | undefined; }

      • 成员

        名称类型描述
        userIdstring接收方用户 ID。
        ext{ [key: string]: string; } | undefined业务扩展字段。
  • 返回值

    申请添加好友结果。

deleteFriend

删除好友。

  • 类型

    ({ userIds }: { userIds: string[];}) => Promise<{ failedInfos: { failedReason: string; failedCode: im_proto.StatusCode; failedUserId: string; }[]; }>
    
  • 参数

    • {userIds}

      类型: { userIds: string[]; }

      • 成员

        名称类型描述
        userIdsstring[]需要删除的用户 ID。
  • 返回值

    删除失败列表。

replyFriendApply

回应好友申请。

  • 类型

    (params: { userId: string; attitude: ReplyFriendAttitude; ext?: { [key: string]: string; } | undefined; }) => Promise<{ failedInfos: { failedReason: string; failedCode: im_proto.StatusCode; failedUserId: string; }[]; }>
    
  • 参数

    • params

      类型: { userId: string; attitude: ReplyFriendAttitude; ext?: { [key: string]: string; } | undefined; }

      • 成员

        名称类型描述
        userIdstring回复的申请用户 ID。
        attitudeReplyFriendAttitude好友申请回应状态。
        ext{ [key: string]: string; } | undefined业务扩展字段。
  • 返回值

    回复失败列表。

markFriendReceiveApplyAsRead

标记好友申请已读。(用于同步申请未读数等场景)

  • 类型

    ({ readIndex }: { readIndex: Long;}) => Promise<void>
    
  • 参数

    • {readIndex}

      类型: { readIndex: Long; }

      • 成员

        名称类型描述
        readIndexLong已读取的申请下标。

addUserToBlack

将指定用户加入黑名单

  • 类型

    ({ userIds, ext }: { userIds: string[]; ext?: { [key: string]: string; } | undefined; }) => Promise<{ failedInfos: { failedReason: string; failedCode: im_proto.StatusCode; failedUserId: string; }[]; }>
    
  • 参数

    • {userIds, ext}

      类型: { userIds: string[]; ext?: { [key: string]: string; } | undefined; }

      • 成员

        名称类型描述
        userIdsstring[]用户 ID
        ext{ [key: string]: string; } | undefined业务扩展字段。
  • 返回值

    请求失败的列表

removeUserFromBlack

将指定用户从黑名单移除

  • 类型

    ({ userIds, }: { userIds: string[];}) => Promise<{ failedInfos: { failedReason: string; failedCode: im_proto.StatusCode; failedUserId: string; }[]; }>
    
  • 参数

    • { userIds, }

      类型: { userIds: string[]; }

      • 成员

        名称类型描述
        userIdsstring[]用户 ID
  • 返回值

    请求失败的列表

userIsInMyBlack

检查用户是否在黑名单中

  • 类型

    ({ userIds, }: { userIds: string[];}) => Promise<{ [k: string]: boolean; }>
    
  • 参数

    • { userIds, }

      类型: { userIds: string[]; }

      • 成员

        名称类型描述
        userIdsstring[]用户 ID
  • 返回值

    字典对象,key 为用户 ID,value 为是否在黑名单中

updateBlackUserState

更新指定用户黑名单条目(例如更新 ext)

  • 类型

    ({ userIds, ext }: { userIds: string[]; ext?: { [key: string]: string; } | undefined; }) => Promise<{ failedInfos: { failedReason: string; failedCode: im_proto.StatusCode; failedUserId: string; }[]; }>
    
  • 参数

    • {userIds, ext}

      类型: { userIds: string[]; ext?: { [key: string]: string; } | undefined; }

      • 成员

        名称类型描述
        userIdsstring[]用户 ID
        ext{ [key: string]: string; } | undefined业务扩展字段。
  • 返回值

    请求失败的列表

getBlacklistOnline

获取用户黑名单

  • 类型

    (params: { cursor?: Long; limit?: number; direction?: im_proto.MessageDirection;}) => Promise<{ list: BlackUserInfo[]; totalCount: number; cursor: Long | null | undefined; hasMore: boolean | null | undefined; }>
    
  • 参数

    • params

      类型: { cursor?: Long | undefined; limit?: number | undefined; direction?: im_proto.MessageDirection | undefined; }

      • 成员

        名称类型描述
        cursorLong | undefined分页游标,首页拉取可使用 0。
        limitnumber | undefined查询条数,默认 20 条。
        directionim_proto.MessageDirection | undefined拉取方向,默认从新到旧。
  • 返回值

    黑名单列表与分页信息

updateFriend

更新好友信息

  • 类型

    ({ userId, ext, alias }: { userId: string; ext?: { [key: string]: string; } | undefined; alias?: string | undefined; }) => Promise<void>
    
  • 参数

    • {userId, ext, alias}

      类型: { userId: string; ext?: { [key: string]: string; } | undefined; alias?: string | undefined; }

      • 成员

        名称类型描述
        userIdstring要修改的好友用户 ID
        ext{ [key: string]: string; } | undefined好友信息扩展字段
        aliasstring | undefined好友备注
  • 返回值

    (无数据返回)

getUserProfilesOnline

获取用户资料

  • 类型

    ({ userIds }: { userIds: string[];}) => Promise<{ list: UserProfile[]; failedUids: string[]; }>
    
  • 参数

    • {userIds}

      类型: { userIds: string[]; }

      • 成员

        名称类型描述
        userIdsstring[]用户 ID

setUserProfile

设置用户资料

  • 类型

    (profile: { nickname?: string | undefined; portrait?: string | undefined; ext?: { [k: string]: string; } | undefined; }) => Promise<{ profile: UserProfile | null; }>
    
  • 参数

    • profile

      类型: { nickname?: string | undefined; portrait?: string | undefined; ext?: { [k: string]: string; } | undefined; }

      • 成员

        名称类型描述
        nicknamestring | undefined昵称
        portraitstring | undefined头像
        ext{ [k: string]: string; } | undefined业务自定义扩展字段

EventBus

类型: class

  • API
方法描述
subscribe创建一个事件订阅
unsubscribe取消一个事件订阅

subscribe

创建一个事件订阅

  • 类型

    <T extends keyof IMEventTypeMap>(event: T, func: EventHandler<IMEventTypeMap[T]>) => Subscription<IMEventTypeMap[T]>
    
  • 参数

  • 返回值

    类型: Subscription<IMEventTypeMap[T]>

    回调函数 Index

unsubscribe

取消一个事件订阅

  • 类型

    (event: IMEvent, handler: Subscription<any>) => void
    
  • 参数