邀请机制

更新时间: 2023/03/28 02:21:31

创建频道并邀请他人

  • callEx:呼叫并加入频道: 创建一个频道, 己方加入,并邀请对方加入音视频的频道。注: 组合接口, 等效于 create 创建频道 + join 加入频道 + invite 邀请他人进入频道
  • 示例代码
jslet params = {
  type: 1,
  toAccid: 'OTHER_ACCOUNT_ID',
  requestId: 'xxx',
}
try {
  const data = await nim.signaling.callEx(params)
  const channelInfo = data.channelInfo
  console.warn('创建频道成功,data:', data, 'channelId 为', channelInfo.channelId, 'name 为', channelInfo.name)
} catch (error) {
  console.warn('创建频道失败,error:', error)
  if (error.code == 10405) {
    console.warn('频道已存在,请勿重复创建')
  }
}

取消邀请

  • cancelInvite:该接口用于取消邀请,对方会收到取消的通知
  • 示例代码
jslet params = {
  channelId: 'YOUR_CHANNELID',
  toAccid: 'OTHER_ACCOUNT_ID',
  requestId: 'xxx'
}
try {
  let data = await nim.signaling.cancelInvite(params)
  console.warn('取消邀请成功,data:', data)
} catch (error) {
  console.warn('取消邀请失败,error:', error)
  switch (error.code) {
    case 10404:
      console.warn('频道不存在')
      break
    case 10408:
      console.warn('邀请不存在或已过期')
      break
    case 10409:
      console.warn('邀请已经拒绝')
      break
    case 10410:
      console.warn('邀请已经接受')
      break
  }
}

邀请

  • invite:邀请接口:设原先取消了邀请后想再次邀请,那么可以使用此接口。
  • 示例代码
jslet params = {
  channelId: "YOUR_CHANNELID",
  toAccid: "OTHER_ACCOUNT_ID",
  requestId: "TARGET_REQURESTID",
}
try {
  let data = await nim.signaling.invite(params)
  console.warn('取消邀请成功,data:', data)
} catch (error) {
  console.warn('取消邀请失败,error:', error)
  switch (error.code) {
    case 10404:
      console.warn('频道不存在')
      break
  }
}

接受邀请并加入

  • joinAndAccept:接受呼叫。注: 与上面的 callEx 相对,接收方收到了邀请后 joinAndAccept, 等效于 accept 接受邀请 + join 加入频道

  • 示例代码

jslet params = {
  channelId: 'YOUR_CHANNELID',
  // 邀请者的账号 ID
  fromAccid: 'THE_INVITOR',
  requestId: 'TARGET_REQURESTID'
}
try {
  let data = await nim.signaling.joinAndAccept(params)
  console.warn('接受邀请并加入成功,data', data)
} catch (error) {
  console.warn('接受邀请并加入失败,error:', error)
  switch (error.code) {
    case 10407:
      console.warn('已经在频道内')
      break
    case 10419:
      console.warn('频道人数超限')
      break
    case 10417:
      console.warn('频道成员uid冲突了')
      break
    case 10420:
      console.warn('当前账号在其他端已经登录,并且已经在频道内')
      break
    case 10404:
      console.warn('频道不存在')
      break
  }
}

拒绝邀请

  • reject:拒绝邀请后用户也可以通过加入频道接口加入频道,接口的使用由用户的业务决定,对方会收到你拒绝邀请的通知

  • 示例代码

jslet params = {
  channelId: 'YOUR_CHANNELID',
  fromAccid: 'THE_INVITOR',
  requestId: 'TARGET_REQURESTID',
}
try {
  await nim.signaling.reject(params)
  console.warn('拒绝邀请成功')
} catch (error) {
  console.warn('拒绝邀请失败,error:', error)
  switch (error.code) {
    case 10408:
      console.warn('邀请不存在或已过期')
      break
    case 10409:
      console.warn('邀请已经拒绝')
      break
    case 10410:
      console.warn('邀请已经接受')
      break
    case 10201:
      console.warn('对方不在线')
      break
    case 10404:
      console.warn('频道不存在')
      break
  }
}
此文档是否对你有帮助?
有帮助
去反馈
  • 创建频道并邀请他人
  • 取消邀请
  • 邀请
  • 接受邀请并加入
  • 拒绝邀请