Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TeamInterface

群服务 API 定义

Hierarchy

  • TeamInterface

Implemented by

Index

Methods

  • acceptTeamInvite(options: { from: string; idServer: string; teamId: string; done?: any }): void
  • 同意入群邀请 TeamInterface.addTeamMembers

    群主和管理员邀请成员加入群(addTeamMembers), 被邀请的人收到类型为teamInvite的系统通知

    此系统通知的 from 字段的值为邀请方的帐号, to 字段的值为对应的 群ID, 此类系统通知的 attach 有一个字段 team 的值为被邀请进入的群, 被邀请的人可以选择接受邀请或者拒绝邀请

    • 若接受入群邀请, 该群所有成员收到类型为 acceptTeamInvite 的群通知消息, 通知消息具体内容见下文
    • 若拒绝入群邀请, 邀请你的人会收到类型为 rejectTeamInvite 的系统通知, 此系统通知的 from 字段的值为拒绝入群邀请的人的帐号, to 字段的值为对应的 群ID

    用户接受入群邀请后:

    1. 所有群成员, 收到群通知消息 onmsg:
      • msg.type: 'notification'
      • msg.from: 邀请人账号
      • msg.to: 群id
      • msg.attach.type: 'acceptTeamInvite'
      • msg.attach.team: 群信息
      • msg.attach.members: 接收入群邀请的群成员列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onAddTeamMembers
    4. 函数调用者触发 onupdatesysmsg

    关联函数

    Parameters

    • options: { from: string; idServer: string; teamId: string; done?: any }
      • from: string

        邀请人 accountId

      • idServer: string

        管理员邀请此用户进群的系统通知的 idServer

      • teamId: string
      • done?:function

    Returns void

  • addTeamManagers(options: { accounts: string[]; teamId: string; done?: any }): void
  • 添加群管理员

    添加群管理员后:

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 添加管理员的操作者
      • msg.to: 群id
      • msg.attach.type: 'addTeamManagers'
      • msg.attach.accounts: 被加为管理员的帐号列表
      • msg.attach.members: 被加为管理员的群成员详细信息列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onUpdateTeamManagers

    Parameters

    Returns void

  • addTeamMembers(options: { accounts: string[]; custom?: string; ps?: string; teamId: string; done?: any }): void
  • 添加群成员

    普通群(已废弃,推荐使用高级群):

    1. 拉人入群后, 其他群成员会收到通知并触发 onAddTeamMembers

    2. 被邀请的群成员不会收到回调,直到群内成员发送消息,触发 onupdatesessions 回调,才能够感知到自己已经入群。

    高级群:

    • 如果 inviteMode: 'noVerify':
    1. 被邀请人直接入群,所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 邀请者账号
      • msg.to: 群id
      • msg.attach.type: 'addTeamMembers'
      • msg.attach.accounts: 被邀请入群成员账号列表
      • msg.attach.members: 被邀请入群成员详细信息列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onAddTeamMembers
    • 如果 inviteMode: 'needVerify'
    1. 被邀请者触发 onsysmsg,其 type 为 'teamInvite'。被邀请者通过 acceptTeamInvite 或者 rejectTeamInvite回应入群邀请

    Parameters

    • options: { accounts: string[]; custom?: string; ps?: string; teamId: string; done?: any }
      • accounts: string[]

        要加入的用户账号列表

      • Optional custom?: string

        附加字段,推荐使用 JSON 序列化字符串

      • Optional ps?: string

        附言,长度不得大于 5000 字符,开发者可以使用 JSON 序列化字符串填充

      • teamId: string
      • done?:function

    Returns void

  • applyTeam(options: { ps?: string; teamId: string; done?: any }): void
  • 用户主动申请加入群。根据 joinMode 不同,SDK 有不同的行为

    • 如果 joinMode: 'noVerify':
    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 申请人账号
      • msg.to: 群id
      • msg.attach.type: 'passTeamApply'
      • msg.attach.account: 申请人账号
      • msg.attach.members: 被通过申请的群成员列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onAddTeamMembers
    • 如果 joinMode: 'needVerify'
    1. 管理员触发 onsysmsg,其 type 为 'applyTeam'。管理员通过 passTeamApply 或者 rejectTeamApply回应入群申请
    • 如果 joinMode: 'rejectAll'
    1. 收到申请入群失败的error信息

    Parameters

    Returns void

  • createTeam(options: { accounts?: string[]; announcement?: string; antiSpamBusinessId?: string; avatar?: string; beInviteMode?: "noVerify" | "needVerify"; custom?: string; intro?: string; inviteMode?: "manager" | "all"; joinMode?: "noVerify" | "needVerify" | "rejectAll"; name: string; ps?: string; type: "normal" | "advanced"; updateCustomMode?: "manager" | "all"; updateTeamMode?: "manager" | "all"; done?: any }): void
  • 创建高级群。普通群已废弃,请使用高级群。

    • 若传入的属性为 undefined,或者未传入,则日后拉取 team 时,对应属性也是 undefined。

    • 下面为高级群申请入群(joinMode)的鉴权方式。默认为 needVerify

    1. needVerify: 需要管理员同意
    2. noVerify: 无需管理员同意
    3. rejectAll: 不允许入群申请
    • 下面为高级群中邀请入群(beInviteMode)的鉴权方式。默认为 needVerify
    1. needVerify: 需要被邀请人同意
    2. noVerify: 无需被邀请人同意
    • 下面为高级群邀请权限(inviteMode)的设置。默认为 manager
    1. manager: 仅管理员可以邀请入群
    2. all: 所有人均可邀请成员入群
    • 下面为群信息修改权限(updateTeamMode)设置。默认为 manager
    1. manager: 仅管理员可以修改权限
    2. all: 所有人均可以修改权限
    • 下面为群信息自定义字段修改权限(updateCustomMode)设置。默认为 manager
    1. manager: 仅管理员可以修改权限
    2. all: 所有人均可以修改权限

    函数调用后:

    • 创建者触发 onCreateTeam
    • 如果 beInviteMode: noVerify:
    1. 被邀请者收到 onmsgonupdatesessions、以及 NIMGetInstanceOptions.onAddTeamMembers
    2. 创建者收到 onupdatesessions、以及 NIMGetInstanceOptions.onAddTeamMembers
    • 如果 beInviteMode: needVerify:
    1. 被邀请者收到 NIMGetInstanceOptions.onsysmsg,类型为 teamInvite

    Parameters

    • options: { accounts?: string[]; announcement?: string; antiSpamBusinessId?: string; avatar?: string; beInviteMode?: "noVerify" | "needVerify"; custom?: string; intro?: string; inviteMode?: "manager" | "all"; joinMode?: "noVerify" | "needVerify" | "rejectAll"; name: string; ps?: string; type: "normal" | "advanced"; updateCustomMode?: "manager" | "all"; updateTeamMode?: "manager" | "all"; done?: any }
      • Optional accounts?: string[]

        要拉进群的成员的帐号列表

      • Optional announcement?: string

        群公告

      • Optional antiSpamBusinessId?: string

        对某些资料内容进行反垃圾处理的业务 ID, 在云信控制台里配置.

      • Optional avatar?: string

        群头像

      • Optional beInviteMode?: "noVerify" | "needVerify"

        群被邀请模式

      • Optional custom?: string

        扩展字段

      • Optional intro?: string

        群简介

      • Optional inviteMode?: "manager" | "all"

        群邀请模式

      • Optional joinMode?: "noVerify" | "needVerify" | "rejectAll"

        群加入方式

      • name: string

        群名

      • Optional ps?: string

        拉人的附言

      • type: "normal" | "advanced"

        群类型。高级群或者普通群。普通群已废弃

      • Optional updateCustomMode?: "manager" | "all"

        群信息自定义字段修改权限

      • Optional updateTeamMode?: "manager" | "all"

        群信息修改权限

      • done?:function
        • Parameters

          • err: null | NIMCommonError | Error | NIMStrAnyObj
          • data: { accounts?: string[]; antispamTag?: { antiSpamBusinessId?: string }; owner: NIMTeamMember; ps?: string; team: NIMTeam }
            • Optional accounts?: string[]

              要拉进群的成员的帐号列表

            • Optional antispamTag?: { antiSpamBusinessId?: string }

              反垃圾标签

              • Optional antiSpamBusinessId?: string
            • owner: NIMTeamMember

              创建者的信息

            • Optional ps?: string

              拉人的附言

            • team: NIMTeam

          Returns void

    Returns void

  • deleteLocalTeam(options: { teamId: string | string[]; done?: any }): void
  • deprecated

    已废弃

    Parameters

    • options: { teamId: string | string[]; done?: any }
      • teamId: string | string[]

        建议传入 teamId 数组。

        注: 为了兼容老接口, 允许传入 string, 但是建议传入数组

      • done?:function

    Returns void

  • dismissTeam(options: { teamId: string; done?: any }): void
  • 解散群,群主可操作

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作者账号
      • msg.to: 群id
      • msg.attach.type: 'dismissTeam'
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onDismissTeam

    Parameters

    Returns void

  • getLocalTeamMembers(options: { accounts: string[]; teamId: string; done?: any }): void
  • getLocalTeams(options: { teamIds: string[]; done: any }): void
  • getMutedTeamMembers(options: { teamId: string; done?: any }): void
  • getMyTeamMembers(options: { teamIds: string[]; done: any }): void
  • getTeam(options: { sync?: boolean; teamId: string; done?: any }): void
  • 获取群

    注: 当没有本地 db,或者 db 中找不到群时,会尝试从远端服务器获取。

    示例场景

    Parameters

    Returns void

  • getTeamMemberByTeamIdAndAccount(options: { account: string; teamId: string; done?: any }): void
  • 通过群ID及成员账号获取群成员信息

    Parameters

    Returns void

  • getTeamMemberInvitorAccid(options: { accounts: string[]; teamId: string; done?: any }): void
  • 获取群成员的邀请者accid

    Parameters

    • options: { accounts: string[]; teamId: string; done?: any }
      • accounts: string[]

        需要查询的群成员 account ID 账号列表.

        单次查询accounts最大长度为200。

      • teamId: string
      • done?:function
        • Parameters

          • err: null | NIMCommonError | Error | NIMStrAnyObj
          • data: {}
            • [key: string]: string

              key 为入参里的 account ID, value 为邀请者的 account ID

          Returns void

    Returns void

  • getTeamMembers(options: { teamId: string; done?: any }): void
  • 获取群成员。如果开发者在初始化SDK时选择设置了syncTeamMembers为false, 那么就收不到onteammembers回调, 可以调用此方法来获取群成员列表

    示例场景

    Parameters

    Returns void

  • getTeamMembersFromDB(options: { accountIds?: string[]; teamIds?: string[]; done?: any }): void
  • 从本地数据库里批量获取群成员信息

    注1: indexDB 数据库专用接口.

    注2: db 表实际上只存放了本账号在群中的群成员信息,而其他群成员的信息是不存的, 有需要去服务器接口获取 TeamInterface.getTeamMembers

    Parameters

    • options: { accountIds?: string[]; teamIds?: string[]; done?: any }

    Returns void

  • getTeams(options: { done?: any }): void
  • 获取群列

    • 如果开发者在初始化SDK的时候设置了syncTeams为false, 那么就收不到onteams回调, 可以调用此接口来获取群列表

    注: 没有本地 db 时,将会全量获取服务器的群列表

    Parameters

    Returns void

  • getTeamsById(options: { teamIds: string[]; done?: any }): void
  • 通过一批 teamId 来获取若干个群

    • 开发者可以调用此接口获取若干个群的资料

    注: v8.2.0+ 支持

    Parameters

    • options: { teamIds: string[]; done?: any }

    Returns void

  • getTeamsFromDB(options: { teamIds?: string[]; done: any }): void
  • 从本地数据库里批量获取群信息, 不限个数

    注: indexDB 数据库专用的接口

    Parameters

    Returns void

  • leaveTeam(options: { teamId: string; done?: any }): void
  • 主动退群

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作者账号
      • msg.to: 群id
      • msg.attach.type: 'leaveTeam'
      • msg.attach.team: 群详情
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onRemoveTeamMembers

    Parameters

    Returns void

  • muteTeamAll(options: { mute: boolean; teamId: string; done?: any }): void
  • notifyForNewTeamMsg(options: { teamIds: string[]; done: any }): void
  • 查询自己在各个群中所设置的消息提醒策略。消息提醒策略可以通过 updateInfoInTeam 设置

    Parameters

    • options: { teamIds: string[]; done: any }
      • teamIds: string[]
      • done:function
        • Parameters

          • err: null | NIMCommonError | Error | NIMStrAnyObj
          • data: {}
            • [key: string]: number

              key 为 teamId, value 为的提醒策略见

          • miss: string[]

          Returns void

    Returns void

  • passTeamApply(options: { from: string; idServer: string; teamId: string; done?: any }): void
  • (管理员)通过群申请

    通过入群申请后:

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作者账号
      • msg.to: 群id
      • msg.attach.type: 'passTeamApply'
      • msg.attach.account: 申请方账号
      • msg.attach.members: 被通过申请的群成员列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onAddTeamMembers
    4. 函数调用者触发 onupdatesysmsg

    Parameters

    • options: { from: string; idServer: string; teamId: string; done?: any }

    Returns void

  • rejectTeamApply(options: { from: string; idServer: string; ps?: string; teamId: string; done?: any }): void
  • 管理员拒绝群申请

    拒绝群申请后 :

    • 申请者会收到系统通知 onsysmsg
      • from: 拒绝方的账号
      • to: 群id
      • attach: 群信息
    • 函数调用者触发 onupdatesysmsg

    Parameters

    • options: { from: string; idServer: string; ps?: string; teamId: string; done?: any }
      • from: string

        申请者的 accountId

      • idServer: string

        用户申请进群的系统通知的 idServer

      • Optional ps?: string

        附加信息

      • teamId: string
      • done?:function

    Returns void

  • rejectTeamInvite(options: { from: string; idServer: string; ps?: string; teamId: string; done?: any }): void
  • 拒绝入群邀请

    用户拒绝群邀请后:

    • 邀请者会收到系统通知 onsysmsg
      • type: 'rejectTeamInvite'
      • from: 拒绝入群邀请的账号
      • to: 群id
    • 函数调用者触发 onupdatesysmsg

    Parameters

    • options: { from: string; idServer: string; ps?: string; teamId: string; done?: any }
      • from: string

        申请者的 accountId

      • idServer: string

        管理员邀请此用户进群的系统通知的 idServer

      • Optional ps?: string

        附加信息

      • teamId: string
      • done?:function

    Returns void

  • removeTeamManagers(options: { accounts: string[]; teamId: string; done?: any }): void
  • 移除群管理员

    添加群管理员后:

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 移除者账号
      • msg.to: 群id
      • msg.attach.type: 'removeTeamManagers'
      • msg.attach.accounts: 被移除的管理员的帐号列表
      • msg.attach.members: 被移除管理员的群成员列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onUpdateTeamManagers

    Parameters

    Returns void

  • removeTeamMembers(options: { accounts: string[]; teamId: string; done?: any }): void
  • 踢人出群

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作者账号
      • msg.to: 群id
      • msg.attach.type: 'removeTeamMembers'
      • msg.attach.team: 群详情
      • msg.attach.accounts: 被踢人的账号数组
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onRemoveTeamMembers

    Parameters

    • options: { accounts: string[]; teamId: string; done?: any }

    Returns void

  • transferTeam(options: { account: string; leave: boolean; teamId: string; done?: any }): void
  • 转让群, 群主可操作

    • 转让群相关通知
    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 转让者账号
      • msg.to: 群id
      • msg.attach.type: 'transferTeam'
      • msg.attach.team: 群详情
      • msg.attach.account: 新群主账号
      • msg.attach.members: 新旧群主成员详情列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onTransferTeam
    • 如果转让群的同时离开群, 那么相当于调用主动退群来离开群
    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.attach.type: 'leaveTeam'
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onRemoveTeamMembers

    Parameters

    • options: { account: string; leave: boolean; teamId: string; done?: any }

    Returns void

  • updateInfoInTeam(options: { custom?: string; muteNotiType?: string; muteTeam?: boolean; nickInTeam?: string; teamId: string; done?: any }): void
  • 修改自己在群里的信息

    示例场景

    Parameters

    • options: { custom?: string; muteNotiType?: string; muteTeam?: boolean; nickInTeam?: string; teamId: string; done?: any }
      • Optional custom?: string

        第三方扩展字段, 开发者可以自行扩展, 建议封装成JSON格式字符串

      • Optional muteNotiType?: string

        提醒策略

        "0" 开启提醒 "1" 关闭消息提醒 "2" 只接受管理员的消息的提醒

      • Optional muteTeam?: boolean
        deprecated

        已废弃。请使用 muteNotiType

      • Optional nickInTeam?: string

        在群里的昵称

        注: 更新昵称后, 所有其它在线的群成员会收到 onupdateteammember

      • teamId: string
      • done?:function

    Returns void

  • updateMuteStateInTeam(options: { account: string; mute: boolean; teamId: string; done?: any }): void
  • 更新群成员禁言状态

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作方
      • msg.to: 群id
      • msg.attach.type: 'updateTeamMute'
      • msg.attach.account: 被禁言的帐号
      • msg.attach.members: 被禁言的群成员列表
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onUpdateTeamMembersMute

    示例场景

    Parameters

    • options: { account: string; mute: boolean; teamId: string; done?: any }

    Returns void

  • updateNickInTeam(options: { account: string; nickInTeam: string; teamId: string; done?: any }): void
  • updateTeam(options: { announcement?: string; antiSpamBusinessId?: string; avatar?: string; beInviteMode?: "noVerify" | "needVerify"; custom?: string; intro?: string; inviteMode?: "manager" | "all"; joinMode?: "noVerify" | "needVerify" | "rejectAll"; name: string; teamId: string; updateCustomMode?: "manager" | "all"; updateTeamMode?: "manager" | "all"; done?: any }): void
  • 更新群属性。

    普通群限制

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

    函数作用

    1. 所有群成员触发 onmsg:
      • msg.type: 'notification'
      • msg.from: 操作者账号
      • msg.to: 群id
      • msg.attach.type: 'updateTeam'
      • msg.attach.team: 群详情
    2. 所有群成员触发 onupdatesessions
    3. 所有群成员触发 onUpdateTeam

    Parameters

    • options: { announcement?: string; antiSpamBusinessId?: string; avatar?: string; beInviteMode?: "noVerify" | "needVerify"; custom?: string; intro?: string; inviteMode?: "manager" | "all"; joinMode?: "noVerify" | "needVerify" | "rejectAll"; name: string; teamId: string; updateCustomMode?: "manager" | "all"; updateTeamMode?: "manager" | "all"; done?: any }
      • Optional announcement?: string

        群公告

      • Optional antiSpamBusinessId?: string

        对某些资料内容进行反垃圾处理的业务 ID, 在云信控制台里配置.

      • Optional avatar?: string

        群头像

      • Optional beInviteMode?: "noVerify" | "needVerify"

        群被邀请模式

      • Optional custom?: string

        扩展字段

      • Optional intro?: string

        群简介

      • Optional inviteMode?: "manager" | "all"

        群邀请模式

      • Optional joinMode?: "noVerify" | "needVerify" | "rejectAll"

        群加入方式

      • name: string

        群名

      • teamId: string

        群 ID

      • Optional updateCustomMode?: "manager" | "all"

        群信息自定义字段修改权限

      • Optional updateTeamMode?: "manager" | "all"

        群信息修改权限

      • done?:function

    Returns void