Web

注销登录与销毁实例

更新时间: 2024/03/14 19:21:17

开发者需要自己管理好已建立长连接的 NIM 实例,不使用可以将其断开或者销毁。

功能介绍

一般情况下,如果您的应用生命周期跟 NIM SDK 生命周期一致,用户在退出应用前可以不登出,直接退出即可。

但某些特殊场景,例如用户仅在进入特定界面后才调用 NIM SDK 的能力,退出界面后不再调用,此时需要调用 NIM SDK 的登出接口注销 IM 登录。 登出后,用户将不再接收 IM 的消息。

实现方法

注销登录

调用nim.disconnect方法手动断开 NIM 实例与云信服务端的长连接,即注销 IM 登录。

销毁实例

调用nim.destroy方法销毁 NIM 实例。

注意事项

  • 调用nim.disconnect 方法手动断开长连接后还可以调用nim.connect方法恢复长连接。而调用 nim.destroy 销毁实例后,长连接无法恢复,只能重新创建 NIM 实例。

  • uni-app 限制了只能建立一条客户端与服务端的长连接,因此建议在手动断开长连接后尽可能将之前的实例销毁,保证只有一个实例在建立长连接。

示例代码

jsconst nim = new NIM({
  appkey: 'YOUR_APPKEY',
  account: 'YOUR_ACCID',
  token: 'YOUR_TOKEN',
  debugLevel: 'debug',
});
await nim.connect()

// 断开
await nim.disconnect()

setTimeout(function() {
  // 断开后仍旧可以 connect 成功
  await nim.connect()

  // 销毁后就无法再次 connect 建立长连接,需要再次 new 一个实例。
  await nim.destroy()
}, 5000)

相关文档

此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 实现方法
  • 注销登录
  • 销毁实例
  • 注意事项
  • 示例代码
  • 相关文档