Options
All
  • Public
  • Public/Protected
  • All
Menu

Contact contains the APIs for contact-related operations.

Index

Functions

  • acceptContactInvite(this: any, to: string): Promise<void>
  • 接受好友申请。

    connection.acceptContactInvite('user1')
    

    Parameters

    • this: any
    • to: string

    Returns Promise<void>

  • addContact(this: any, to: string, message?: string): Promise<void>
  • 添加好友。

    connection.addContact('user1', 'I am Bob')
    

    Parameters

    • this: any
    • to: string
    • Optional message: string

    Returns Promise<void>

  • 标记会话。

    connection.addConversationMark({
    conversations: [{conversationId: 'conversationId', conversationType: 'singleChat'}],
    mark: 0,
    })

    Parameters

    Returns Promise<void>

  • addReaction(this: any, params: { messageId: string; reaction: string }): Promise<void>
  • 添加消息 Reaction。

    connection.addReaction({messageId: 'messageId', reaction: 'reaction'})
    

    Parameters

    • this: any
    • params: { messageId: string; reaction: string }
      • messageId: string

        消息 ID。

      • reaction: string

        在消息上添加的 Reaction,最大长度为 128 字符。

    Returns Promise<void>

  • 添加联系人至黑名单。

    connection.addUsersToBlocklist({name: 'user1'})
    

    Parameters

    • this: any
    • options: { name: string | string[] }
      • name: string | string[]

        用户 ID。可设置特定用户 ID 添加单个用户,也可输入用户 ID 数组批量添加用户,如 ["user1","user2"]。

    Returns Promise<AsyncResult<OperateResult>>

  • declineContactInvite(this: any, to: string): Promise<void>
  • 拒绝好友申请。

    connection.declineContactInvite('user1')
    

    Parameters

    • this: any
    • to: string

    Returns Promise<void>

  • deleteAllMessagesAndConversations(this: Connection): Promise<void>
  • 清除全部会话及其聊天记录。

    connection.deleteAllMessagesAndConversations()
    

    Parameters

    Returns Promise<void>

  • deleteContact(this: any, to: string): Promise<void>
  • 删除指定好友。

    connection.deleteContact('user1')
    

    Parameters

    • this: any
    • to: string

    Returns Promise<void>

  • deleteConversation(this: any, params: { channel: string; chatType: "singleChat" | "groupChat"; deleteRoam: boolean; error?: any; success?: any }): Promise<AsyncResult<DeleteSessionResult>>
  • 删除会话。

    connection.deleteConversation({
    channel: 'targetId',
    chatType: 'singleChat',
    deleteRoam: true
    })

    Parameters

    • this: any
    • params: { channel: string; chatType: "singleChat" | "groupChat"; deleteRoam: boolean; error?: any; success?: any }
      • channel: string

        会话 ID:对方的用户 ID 或群组 ID。

      • chatType: "singleChat" | "groupChat"

        会话类型:

        • singleChat:单聊;
        • groupChat:群聊。
      • deleteRoam: boolean

        删除会话时是否同时删除服务端漫游消息。

        • true:是;
        • false:否。
      • error?:function
      • success?:function

    Returns Promise<AsyncResult<DeleteSessionResult>>

  • deleteReaction(this: any, params: { messageId: string; reaction: string }): Promise<void>
  • 删除消息的 Reaction。

    connection.deleteReaction({messageId: 'messageId', reaction: 'reaction'})
    

    Parameters

    • this: any
    • params: { messageId: string; reaction: string }
      • messageId: string

        消息 ID。

      • reaction: string

        要删除的 Reaction。

    Returns Promise<void>

  • getBlocklist(this: any, params?: { error?: any; success?: any }): Promise<AsyncResult<UserId[]>>
  • 获取黑名单列表。

    connection.getBlocklist()
    

    Parameters

    Returns Promise<AsyncResult<UserId[]>>

  • getContacts(this: any, params?: { error?: any; success?: any }): Promise<AsyncResult<UserId[]>>
  • 分页获取联系人列表。

    connection.getContactsWithCursor({pageSize:50, cursor: ''})
    

    Parameters

    • this: Connection
    • params: { cursor?: string; pageSize?: number }
      • Optional cursor?: string

        开始获取数据的游标位置。

      • Optional pageSize?: number

        每页期望获取的联系人数量。取值范围为 [1,50],默认为 20

    Returns Promise<AsyncResult<CursorContactsResult>>

  • getHistoryMessages(this: any, options: { chatType: "singleChat" | "groupChat" | "chatRoom"; cursor?: null | string | number; pageSize?: number; searchDirection?: "down" | "up"; searchOptions?: { endTime?: number; from?: string; msgTypes?: ("audio" | "img" | "video" | "file" | "combine" | "txt" | "cmd" | "custom" | "loc")[]; startTime?: number }; targetId: string; fail?: any; success?: any }): Promise<HistoryMessages>
  • 获取对话历史消息。

    connection.getHistoryMessages({targetId:'targetId',chatType:'groupChat', pageSize: 20})
    

    Parameters

    • this: any
    • options: { chatType: "singleChat" | "groupChat" | "chatRoom"; cursor?: null | string | number; pageSize?: number; searchDirection?: "down" | "up"; searchOptions?: { endTime?: number; from?: string; msgTypes?: ("audio" | "img" | "video" | "file" | "combine" | "txt" | "cmd" | "custom" | "loc")[]; startTime?: number }; targetId: string; fail?: any; success?: any }
      • chatType: "singleChat" | "groupChat" | "chatRoom"

        会话类型:

        • singleChat:单聊;
        • groupChat:群组聊天;
        • chatRoom:聊天室聊天;
      • Optional cursor?: null | string | number

        起始消息 ID,默认值为 -1,即从最新消息开始。

      • Optional pageSize?: number

        每次获取的消息条数。默认值为 20,最大值是50。

      • Optional searchDirection?: "down" | "up"

        是否选择正向拉取历史消息(从最老向最新拉取)。

        • up:向上搜索;
        • down:向下搜索;
        • (默认)up
      • Optional searchOptions?: { endTime?: number; from?: string; msgTypes?: ("audio" | "img" | "video" | "file" | "combine" | "txt" | "cmd" | "custom" | "loc")[]; startTime?: number }

        查询条件

        • Optional endTime?: number

          查询结束时间戳,单位为毫秒。

        • Optional from?: string

          消息发送方的用户 ID。该参数仅在群聊中使用。

        • Optional msgTypes?: ("audio" | "img" | "video" | "file" | "combine" | "txt" | "cmd" | "custom" | "loc")[]

          要查询的消息类型数组。若不传,则查询所有消息类型。

        • Optional startTime?: number

          查询开始时间戳,单位为毫秒。

      • targetId: string

        对方的用户 ID 或者群组 ID 或者聊天室ID。

      • fail?:function
      • success?:function

    Returns Promise<HistoryMessages>

  • 获取 Reaction 详情。

    getReactionDetail({messageId: 'messageId', reaction: 'reaction', cursor: '', pageSize: 20})
    

    Parameters

    • this: any
    • params: { cursor?: string; messageId: string; pageSize?: number; reaction: string }
      • Optional cursor?: string

        游标。如果数据还有下一页,该方法的返回值会包含此字段,传递此字段可获取下一页的数据,为 null 时获取第一页数据。

      • messageId: string

        消息 ID。

      • Optional pageSize?: number

        每页返回的数量。默认为 20,最大为 100。

      • reaction: string

        要获取的 Reaction。

    Returns Promise<AsyncResult<GetReactionDetailResult>>

  • getReactionlist(this: any, params: { chatType: "singleChat" | "groupChat"; groupId?: string; messageId: string | string[] }): Promise<AsyncResult<GetReactionListResult[]>>
  • 获取消息的 Reaction 列表。

    connection.getReactionlist({chatType: 'chatType', messageId: 'messageId'})
    

    Parameters

    • this: any
    • params: { chatType: "singleChat" | "groupChat"; groupId?: string; messageId: string | string[] }
      • chatType: "singleChat" | "groupChat"

        会话类型:

        • singleChat:单聊;
        • groupChat:群组聊天;
      • Optional groupId?: string

        群组 ID。

      • messageId: string | string[]

        消息 ID。

    Returns Promise<AsyncResult<GetReactionListResult[]>>

  • 从服务器获取当前用户的其他登录设备的登录 ID 列表,这里的 ID 是由 user ID + "/" + resource (设备的识别号)组成。

    connection.getSelfIdsOnOtherPlatform()
    

    Parameters

    Returns Promise<AsyncResult<string[]>>

  • 分页获取服务器会话列表。

    SDK 按照会话活跃时间(会话的最后一条消息的时间戳)倒序返回会话列表。

    若会话中没有消息,则 SDK 按照会话创建时间的倒序返回会话列表。

    connection.getServerConversations({pageSize:50, cursor: ''})
    

    Parameters

    • this: Connection
    • params: { cursor?: string; pageSize?: number }
      • Optional cursor?: string

        开始获取数据的游标位置。若传空字符串(''),SDK从最新活跃的会话开始获取。

      • Optional pageSize?: number

        每页期望获取的会话数量。取值范围为 [1,50],默认为 20

    Returns Promise<AsyncResult<ServerConversations>>

  • 根据会话过滤选项从服务器分页查询会话列表。

    connection.getServerConversationsByFilter({pageSize:10, cursor: '',filter: {mark: 0}})
    

    Parameters

    • this: Connection
    • params: { cursor?: string; filter: { mark: MarkType }; pageSize?: number }
      • Optional cursor?: string

        开始获取数据的游标位置。

      • filter: { mark: MarkType }

        会话过滤选项。

        • mark: MarkType

          要查询的会话标记。

      • Optional pageSize?: number

        每页期望获取的会话数量。取值范围为 [1,10],默认为 10

    Returns Promise<AsyncResult<ServerConversations>>

  • 分页获取服务器端的置顶会话列表。

    SDK 按照会话的置顶时间的倒序返回会话列表。

    connection.getServerPinnedConversations({pageSize:50, cursor: ''})
    

    Parameters

    • this: any
    • params: { cursor?: string; pageSize?: number }
      • Optional cursor?: string

        开始获取数据的游标位置。若传空字符串 (''),SDK 从最新置顶的会话开始查询。。

      • Optional pageSize?: number

        每页期望获取的会话数量。取值范围为 [1,50],默认为 20

    Returns Promise<AsyncResult<ServerConversations>>

  • 分页获取会话中的置顶消息。

    connection.getServerPinnedMessages({
    conversationId: 'conversationId',
    conversationType: 'groupChat',
    pageSize: 20,
    cursor: ''
    })

    Parameters

    • this: Connection
    • params: { conversationId: string; conversationType: ChatType; cursor?: string; pageSize?: number }
      • conversationId: string

        会话 ID.

      • conversationType: ChatType

        会话类型。

      • Optional cursor?: string

        开始获取数据的游标位置。首次获取传空,SDK 按照消息置顶时间倒序返回。

      • Optional pageSize?: number

        每页要获取的置顶消息数量。取值范围为 [1,50],默认为 10

    Returns Promise<AsyncResult<CursorPinnedMessagesResult>>

  • getTokenExpireTimestamp(this: any, token: string): Promise<any>
  • Parameters

    • this: any
    • token: string

    Returns Promise<any>

  • 修改服务端的消息内容。

    调用该方法只能修改单聊和群聊中的文本消息,不能修改聊天室消息。

    多设备和该消息的接收方可通过 onModifiedMessage 回调监听消息是否有变更。


    const textMessage = WebIM.message.create({
    type: "txt",
    msg: "message content",
    to: "username",
    chatType: "singleChat",
    });

    connection.modifyMessage({ messageId: 'messageId', message: textMessage })

    Parameters

    • this: any
    • option: { messageId: string; modifiedMessage: Message.TextMsgBody }
      • messageId: string

        需要修改的消息 ID。

      • modifiedMessage: Message.TextMsgBody

        内容修改后的消息体。

    Returns Promise<ModifyMsgResult>

  • pinConversation(this: any, params: { conversationId: string; conversationType: "singleChat" | "groupChat"; isPinned: boolean }): Promise<AsyncResult<PinConversation>>
  • 设置是否置顶会话。

    connection.pinConversation({conversationId:'conversationId', conversationType: 'singleChat', isPinned: boolean})
    

    Parameters

    • this: any
    • params: { conversationId: string; conversationType: "singleChat" | "groupChat"; isPinned: boolean }
      • conversationId: string

        会话 ID。

      • conversationType: "singleChat" | "groupChat"

        会话类型。

      • isPinned: boolean

        是否置顶会话: -true:置顶会话。

        • false:取消置顶会话。

    Returns Promise<AsyncResult<PinConversation>>

  • pinMessage(this: Connection, params: { conversationId: string; conversationType: ChatType; messageId: string }): Promise<void>
  • 置顶一条消息。

    connection.pinMessage({
    conversationId: 'conversationId',
    conversationType: 'groupChat',
    messageId: 'messageId',
    })

    Parameters

    • this: Connection
    • params: { conversationId: string; conversationType: ChatType; messageId: string }
      • conversationId: string

        会话 ID.

      • conversationType: ChatType

        会话类型。

      • messageId: string

        要置顶的消息 ID。

    Returns Promise<void>

  • recallMessage(this: Connection, option: { chatType?: "singleChat" | "groupChat" | "chatRoom"; ext?: string; isChatThread?: boolean; mid: string; to: string; type?: "chat" | "chatroom" | "groupchat"; fail?: any; success?: any }): Promise<ContactType.SendMsgResult>
  • 撤回消息。

    connection.recallMessage({mid: 'messageId', to: 'user1', type: 'singleChat'})
    

    Parameters

    • this: Connection
    • option: { chatType?: "singleChat" | "groupChat" | "chatRoom"; ext?: string; isChatThread?: boolean; mid: string; to: string; type?: "chat" | "chatroom" | "groupchat"; fail?: any; success?: any }
      • Optional chatType?: "singleChat" | "groupChat" | "chatRoom"

        会话类型:

        • singleChat:单聊;
        • groupChat:群组聊天;
        • chatRoom:聊天室聊天。
      • Optional ext?: string

        自定义扩展字端。

      • Optional isChatThread?: boolean

        是否是子区内的消息。

      • mid: string

        需要撤回的消息 ID。

      • to: string

        消息的接收方。

      • Optional type?: "chat" | "chatroom" | "groupchat"

        会话类型(SDK deprecated):

        • chat:单聊;
        • groupchat:群组聊天;
        • chatroom:聊天室聊天。
      • fail?:function
      • success?:function

    Returns Promise<ContactType.SendMsgResult>

  • 取消标记会话。

    connection.removeConversationMark({
    conversations: [{conversationId: 'conversationId', conversationType: 'singleChat'}],
    mark: 0,
    })

    Parameters

    Returns Promise<void>

  • removeHistoryMessages(this: any, options: { beforeTimeStamp?: number; chatType: ChatType; messageIds?: string[]; targetId: string }): Promise<void>
  • 单向删除漫游消息。

    connection.removeHistoryMessages({targetId: 'userId', chatType: 'singleChat', beforeTimeStamp: Date.now()})

    connection.removeHistoryMessages({targetId: 'userId', chatType: 'singleChat', messageIds: ['messageId']})

    Parameters

    • this: any
    • options: { beforeTimeStamp?: number; chatType: ChatType; messageIds?: string[]; targetId: string }
      • Optional beforeTimeStamp?: number

        要删除的起始时间戳。该时间戳之前的消息会被删除

      • chatType: ChatType

        会话类型:

        • singleChat:单聊;
        • groupChat:群聊。
        • chatRoom:聊天室。
      • Optional messageIds?: string[]

        删除的消息 ID 列表,不能超过 20 个 ID。

      • targetId: string

        对方的用户 ID、群组ID或聊天室ID。

    Returns Promise<void>

  • removeUserFromBlocklist(this: any, options: { name: string | string[] }): Promise<void>
  • 将联系人从黑名单中移除。

    connection.removeUserFromBlocklist({name: 'user1'})
    

    Parameters

    • this: any
    • options: { name: string | string[] }
      • name: string | string[]

        用户 ID。可设置特定用户 ID 移除单个用户,也可输入用户 ID 数组批量移除用户,如 ["user1","user2"]。

    Returns Promise<void>

  • reportMessage(this: any, params: { messageId: string; reportReason: string; reportType: string }): Promise<void>
  • 举报消息。

    reportMessage()
    

    Parameters

    • this: any
    • params: { messageId: string; reportReason: string; reportType: string }
      • messageId: string

        要举报消息的 ID。

      • reportReason: string

        举报原因。你需要自行填写举报原因。

      • reportType: string

        举报类型。

    Returns Promise<void>

  • setContactRemark(this: Connection, params: { remark: string; userId: string }): Promise<void>
  • 设置好友备注。

    setContactRemark({userId: 'userId', remark: 'remark'})
    

    Parameters

    • this: Connection
    • params: { remark: string; userId: string }
      • remark: string

        要设置的备注。

      • userId: string

        要设置备注的好友 ID。

    Returns Promise<void>

  • unpinMessage(this: Connection, params: { conversationId: string; conversationType: ChatType; messageId: string }): Promise<void>
  • 取消置顶一条消息。

    connection.unpinMessage({
    conversationId: 'conversationId',
    conversationType: 'groupChat',
    messageId: 'messageId'
    })

    Parameters

    • this: Connection
    • params: { conversationId: string; conversationType: ChatType; messageId: string }
      • conversationId: string

        会话 ID。

      • conversationType: ChatType

        会话类型。

      • messageId: string

        要取消置顶的消息 ID。

    Returns Promise<void>

  • 修改收到推送消息时显示的昵称。该昵称在用户注册时设置。不属于用户属性。

    connection.updateCurrentUserNick('Tom')
    

    Parameters

    • this: any
    • nick: string

    Returns Promise<AsyncResult<BaseUserInfo[]>>

  • uploadPushToken(this: any, params: { deviceId: string; deviceToken: string; notifierName: string; error?: any; success?: any }): Promise<AsyncResult<UploadTokenResult>>
  • 将 token 上传到服务器。该方法的使用场景是 SDK 用在原生客户端且准备在客户端集成第三方推送功能。

    connection.uploadPushToken({deviceId: 'deviceId', deviceToken: 'deviceToken', notifierName: 'notifierName'})
    

    Parameters

    • this: any
    • params: { deviceId: string; deviceToken: string; notifierName: string; error?: any; success?: any }
      • deviceId: string

        设备 ID,用于标识设备。用户可自定义设备 ID。

      • deviceToken: string

        推送 token,用于标识相同的设备。用户可自定义该推送 token。

      • notifierName: string

        推送服务的 App ID,对于 Firebase Cloud Messaging (FCM) 是 senderId, 对于 VIVO 推送服务是 “appId+#+AppKey”。

      • error?:function
      • success?:function

    Returns Promise<AsyncResult<UploadTokenResult>>

Generated using TypeDoc