Options
All
  • Public
  • Public/Protected
  • All
Menu

Class NIM

Hierarchy

Implements

Index

Constructors

Methods

Constructors

Methods

  • (用户)接受群邀请

    用户接受入群邀请, 那么该群的所有群成员会收到群通知消息,触发 {@link NIMGetInstanceOptions.onAddTeamMembers | onAddTeamMembers}

    Parameters

    Returns void

  • 直接加为好友

    注:直接加某个用户为好友后, 对方不需要确认, 直接成为当前登录用户的好友。 对方会收到一条类型为 类型为 type 为 friendReuqest 的系统通知,attach.type 为 addFriend,, 此类系统通知的 from 字段的值为申请方的帐号, to 字段的值为接收方的账号。

    Parameters

    Returns void

  • 添加超级群的成员

    群主和管理员在邀请成员加入群(通过操作创建群或拉人入群)之后, 被邀请者会收到系统通知,并触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg},其 type 为 'superTeamInvite',

    如果用户接受入群邀请, 那么该群的所有群成员会收到群通知消息,触发 {@link NIMGetInstanceOptions.onAddSuperTeamMembers | onAddSuperTeamMembers}

    如果用户拒绝群邀请后, 邀请者会收到系统通知,并触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg},其 type 为 'rejectSuperTeamInvite'

    Parameters

    Returns void

  • 添加群管理员

    添加群管理员后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onUpdateTeamManagers | onUpdateTeamManagers}。

    Parameters

    Returns void

  • 添加群成员

    普通群:

    1. 拉人入群后, 其他群成员会收到通知并触发 {@link NIMGetInstanceOptions.onAddTeamMembers | onAddTeamMembers}

    2. 但是被邀请的群成员不会收到回调,知道在有人说话收到 {@link NIMGetInstanceOptions.onupdatesessions | onupdatesessions} 事件才能接到消息,感知到有新的群。

    高级群:

    群主和管理员在邀请成员加入群(通过操作创建群或拉人入群)之后, 被邀请者会收到系统通知,并触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg},其 type 为 'teamInvite',

    如果用户接受入群邀请, 那么该群的所有群成员会收到群通知消息,触发 {@link NIMGetInstanceOptions.onAddTeamMembers | onAddTeamMembers}

    如果用户拒绝群邀请后, 邀请者会收到系统通知,并触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg},其 type 为 'rejectTeamInvite'

    Parameters

    Returns void

  • 申请加为好友

    注:申请加某个用户为好友后, 对方会收到一条类型为 type 为 friendReuqest 的系统通知,attach.type 为 applyFriend, 用户在收到好友申请后, 可以选择通过或者拒绝好友申请

    Parameters

    Returns void

  • 申请入超级群

    用户可以主动申请加入高级群, 目标群的群主和管理员会收到系统通知,触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg} type 为 'applySuperTeam',

    Parameters

    Returns void

  • 申请入群

    用户可以主动申请加入高级群, 目标群的群主和管理员会收到系统通知,触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg} type 为 'applyTeam',

    Parameters

    Returns void

  • audioToMp3(_options: { url: string }): string
  • 音频转文字

    注: 入参需要输入 NOS 或者 S3 文件存储对象的原链接,如果你得到的是短链接,使用 API {@link MiscInterface.getNosOriginUrl | getNosOriginUrl} 去转换

    Parameters

    Returns void

  • 创建群

    普通群不可以设置群加入方式

    高级群的群加入方式默认为'needVerify'

    高级群的群被邀请模式默认为'needVerify'

    高级群的群邀请模式默认为'manager'

    高级群的群信息修改权限默认为'manager'

    高级群的群信息自定义字段修改权限默认为'manager'

    创建者将会收到 {@link NIMGetInstanceOptions.onCreateTeam | onCreateTeam}, API 调用成功. 随后所拉的人入群后触发 {@link NIMGetInstanceOptions.onAddTeamMembers | onAddTeamMembers} 回调, 再触发 {@link NIMGetInstanceOptions.onupdatesessions | onupdatesessions} 和 {@link NIMGetInstanceOptions.onmsg | onmsg} 回调, 触发会话更新并且接到通知类消息“某某入群”。

    Parameters

    Returns void

  • 删除好友

    删除好友后, 被删除的人会收到一条类型为 type 为 deleteFriend 的系统通知 此类系统通知的 from 字段的值为删除方的帐号, to 字段的值为被删除方的账号。

    Parameters

    Returns void

  • 删除某一条本地消息。

    注:如果不 {@link support.db|支持数据库}, 执行成功,但不会返回或者操作有效的数据。

    注2: 如果删除的是对应会话的最后一条消息, 那么对应会话的 lastMsg 属性会自动变为变为上一条消息, 同时触发 onupdatesession 回调

    Parameters

    Returns void

  • deleteLocalSession(_options: { done?: NIMDefaultDoneFn<NIMSession>; id: string; isDeleteRoaming?: boolean; isLogic?: boolean }): void
  • deleteLocalSysMsg(_options: { done?: NIMDefaultDoneFn<void>; idServer: string }): void
  • deleteSession(_options: { done?: NIMDefaultDoneFn<void>; scene: "p2p" | "team" | "superTeam"; to: string }): void
  • 销毁实例

    销毁当前 IM 实例,同时会退出登录状态,并断开websocket连接

    移除所有监听事件,销毁部分内部变量,并且此实例再也无法调用 connect 恢复 IM 连接

    Parameters

    Returns void

  • 断开连接。

    退出登录状态,并断开 websocket 连接

    disconnect完成后,实例不会被销毁,可再次 connect 方法登录IM

    Parameters

    Returns void

  • 解散群,群主可操作

    解散群后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onDismissTeam | onDismissTeam} 事件。

    Parameters

    Returns void

  • Return an array listing the events for which the emitter has registered listeners.

    Returns (keyof NIMSignalingEventInterface)[]

  • getNosOriginUrl(_options: { done: NIMDefaultDoneFn<string>; safeShortUrl: string }): void
  • isMsgRemoteRead(_options: { msg: NIMMessage }): void
  • isMyFriend(_options: { account: string; done?: NIMDefaultDoneFn<Boolean> }): void
  • 是否为我的好友

    注:该接口需要数据库支持,若没有开启本地数据库能力,done 回调里只会返回 false

    Parameters

    Returns void

  • 主动退出超级群

    主动退出超级群后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onRemoveSuperTeamMembers | onRemoveSuperTeamMembers}。

    Parameters

    Returns void

  • 主动退群

    主动退群后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onRemoveTeamMembers | onRemoveTeamMembers}。

    Parameters

    Returns void

  • Return the number of listeners listening to a given event.

    Parameters

    Returns number

  • logout(): void
  • ========================== login start =================================

    Returns void

  • packFileDownloadName(_options: { name: string; url: string }): string
  • 撤回消息

    注:撤回消息后,消息接收方会收到一条类型为 'deleteMsg' 的系统通知。若是群消息, 所有群成员都会收到系统通知. 如果同时在多个端登录了同一个账号, 那么其它端也会收到这条系统通知.

    Parameters

    Returns void

  • (用户)拒绝群邀请

    果用户拒绝群邀请后, 邀请者会收到系统通知,并触发 {@link NIMGetInstanceOptions.onsysmsg | onsysmsg},其 type 为 'rejectTeamInvite'

    Parameters

    Returns void

  • Remove all listeners, or those of the specified event.

    Parameters

    Returns NIM

  • resetAllSessionUnread(): void
  • 重置所有会话的未读数

    注:如果是未读数不是 0 的会话,接口生效会收到 onupdatesessions 回调,更新其未读数

    Returns void

  • resetCurrSession(_sessionId: string): void
  • 取消“进入当前会话”

    注:setCurrSession 后 可以 resetCurrSession 取消。

    Parameters

    • _sessionId: string

    Returns void

  • resetSessionUnread(_sessionId: string, _done: ((err: null | Error, failedSessionId: string) => void)): void
  • 重置某个会话的未读数.

    注: 需要传入的是 p2p 会话和 team 会话

    注:如果是未读数不是 0 的会话,接口生效会收到 onupdatesessions 回调,更新其未读数

    Parameters

    • _sessionId: string
    • _done: ((err: null | Error, failedSessionId: string) => void)
        • (err: null | Error, failedSessionId: string): void
        • Parameters

          • err: null | Error
          • failedSessionId: string

          Returns void

    Returns void

  • resetSessionsUnread(_sessionIds: string[], _done: ((err: null | Error) => void)): void
  • 重置某些会话的未读数

    注: 需要传入的是 p2p 会话和 team 会话

    注:如果是未读数不是 0 的会话,接口生效会收到 onupdatesessions 回调,更新其未读数

    Parameters

    • _sessionIds: string[]
    • _done: ((err: null | Error) => void)
        • (err: null | Error): void
        • Parameters

          • err: null | Error

          Returns void

    Returns void

  • resetSuperTeamSessionsUnread(_sessionIds: string[], _done: ((err: null | Error) => void)): void
  • 发送自定义消息

    注:举例一个场景,剪刀石头布游戏

    注2: 该接口直接返回的是 sending 状态的未完成 message,发送完毕的消息体需要传递 options.done 获得。

    Parameters

    Returns NIMMessage

  • 发送文件类型消息。

    注: 参数 type 可以选择:image 图片,video 视频,audio 音频,file 其他文件。

    注2: 自版本 v8.9.102 和 v9.7.0+ 开始,该接口直接返回的是 sending 状态的未完成 message,发送完毕的消息体需要传递 options.done 获得。

    Parameters

    Returns NIMMessage

  • 发送地理位置消息

    注: 该接口直接返回的是 sending 状态的未完成 message,发送完毕的消息体需要传递 options.done 获得。

    Parameters

    Returns NIMMessage

  • setCurrSession(_sessionId: string): void
  • 设置“进入当前会话”

    注:这是 sdk 的一个便于操作的复合接口,做的逻辑有:在内存里记录当前进入的会话,进入会话时调用 resetSessionUnread 清空未读,且后续 onMsg 接收新消息时 resetSessionUnread 清空未读。

    注2:如果不满足开发者的场景,开发者可以组合调用 API,须小心接到新消息而触发的 onupdatesessions 变更时,忽略当前选中的会话的 unread 数变更。

    Parameters

    • _sessionId: string

    Returns void

  • stripImageMeta(_options: { done: NIMDefaultDoneFn<string>; url: string }): string
  • 转让超级群, 群主可操作

    转让后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onTransferSuperTeam | onTransferSuperTeam}

    如果转让群的同时离开群, 那么相当于调用主动退群来离开群, 所有群成员会再收到群通知,并触发 {@link NIMGetInstanceOptions.onRemoveSuperTeamMembers | onRemoveSuperTeamMembers}。

    Parameters

    Returns void

  • 转让群, 群主可操作

    转让群后, 所有群成员会收到群通知,并触发 {@link NIMGetInstanceOptions.onTransferTeam | onTransferTeam}

    如果转让群的同时离开群, 那么相当于调用主动退群来离开群, 所有群成员会再收到群通知,并触发 {@link NIMGetInstanceOptions.onRemoveTeamMembers | onRemoveTeamMembers}。

    Parameters

    Returns void

  • 更新本地消息。仅允许更新 localCustom 本地自定义扩展字段。

    注:如果不 {@link support.db|支持数据库}, 执行成功,但不会返回或者操作有效的数据。

    Parameters

    Returns void

  • 更新群成员禁言状态

    更新群成员禁言状态后, 所有群成员会收到群通知消息,触发 {@link NIMGetInstanceOptions.onUpdateTeamMembersMute | onUpdateTeamMembersMute}

    其 attach 有一个字段 team 值为对应的群对象,account 的值为被禁言的帐号, members 的值为被禁言的群成员列表。

    Parameters

    Returns void

  • 更新超级群成员禁言状态

    更新群成员禁言状态后, 所有群成员会收到群通知消息,触发 {@link NIMGetInstanceOptions.onUpdateSuperTeamMembersMute | onUpdateSuperTeamMembersMute}

    其 attach 有一个字段 team 值为对应的群对象,account 的值为被禁言的帐号, members 的值为被禁言的群成员列表。

    Parameters

    Returns void

  • 更新群

    普通群不可以更新: 群加入方式, 群被邀请模式, 群邀请模式, 群信息修改权限, 群信息自定义字段修改权限

    注: 更新群后, 所有群成员会收到群通知,并触发回调 {@link NIMGetInstanceOptions.onUpdateTeam | onUpdateTeam}。

    Parameters

    Returns void