Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ChatroomInitializeOptions

聊天室实例初始化参数

eg. new sdk({ ...ChatroomInitializeOptions })

Hierarchy

  • ChatroomInitializeOptions

Index

Properties

abtestUrl?: string

AB测试服务器下发地址。一般用户无需关注

account: string

聊天室账号。如果以匿名模式登录,可以不传

appkey: string
authType?: number

登录 IM 的鉴权方式(默认为 0):

  • 0:通过传入静态 token 进行鉴权。静态 token 恒定不变,且默认永久有效,除非主动调用云信服务端 API刷新token
  • 1:通过传入动态 token 进行鉴权。动态 token 可设置有效期,因此具备时效性。采用该鉴权方式可有效提升token 破解难度,降低密码泄露风险。动态鉴权生成方式请参考: 登录鉴权
  • 2:过云信的第三方回调功能进行鉴权。云信服务端不做 IM 登录鉴权,鉴权工作需由指定的第三方服务器(可以是应用服务器)进行

采用动态 token 鉴权时,需要在重连时,重新设置 token,否则重连时会鉴权失败

nim.on('willReconnect', () => {
nim.setOptions({
token: 'new token'
})
})
chatroomAddresses: string[]

聊天室地址列表

chatroomId: string

聊天室 id。聊天室 ID 通过创建服务器接口返回

debugLevel?: string

日志级别,默认为 off,即不输出任何日志

  • off: 不输出任何日志
  • debug: 输出所有日志
  • log: 输出 log、warn、 error 级别的日志
  • warn: 输出 warn 和 error 级别的日志
  • error: 输出 error 级别的日志
isAbtestEnable?: boolean

Abtest 是否开启,默认 true 开启

注: 打开这个开关,在 sdk 内部会试探某些新功能的开启,建议开发者不要轻易设置它。

isAnonymous?: boolean

是否为游客

  • 若为 false,以固定成员身份登录聊天室
  • 若为 true,以游客身份匿名登录聊天室。此时必须填写用户昵称(非匿名方式为选填),建议填写头像。第一次使用匿名方式登录聊天室时(新建实例),无需填写account参数,但需要在登录以后从聊天室实例中获取 SDK 生成的该参数
isFixedDeviceId?: boolean

是否 deviceId 需要固定下来。默认 false。

true:sdk 随机对设备生成一个设备标识并存入 localstorage 缓存起来,也就是说一个浏览器来说所有 SDK 实例连接都被认为是共同的设备。

false:每一个 sdk 实例连接时,使用随机的字符串作为设备标识,相当于每个实例采用的不同的设备连接上来的。

影响范围

  • 这个参数会影响多端互踢的策略。有关于多端互踢策略的配置可以参见服务器文档。
  • 这个参数影响离线推送(uniapp)
loginExt?: string

登录自定义字段,用于提交给用户的第三方回调服务进行登录检测

needReconnect?: boolean

是否需要自动重连,默认为 true

notifyTargetTags?: string

登录登出等通知目标的标签,是一个标签表达式

表示本次登录以及随后的登出操作产生的进出通知应该广播给哪些标签用户,若缺省则服务器会根据tags自动自动生成一个标签表达式,生成的规则是将tags中的所有标签通过and关键词进行组合,表示只有同时设置了所有tags中的标签的用户能收到我的进出通知

reconnectionAttempts?: number

自动重连尝试次数

socketConnectTimeout?: number

建立 socket 长连接的超时时间。默认为 8000 ms

tags?: string[]

标签,可设置多个,仅代表本次登录

token: string

聊天室 登录 token。

注意,若 authType = 1,即鉴权方式为动态 token,则需要在重连时,重新设置 token,防止 token 过期导致鉴权失败

chatroom.on('willReconnect', () => {
chatroom.setOptions({
token: 'new token'
})
})
xhrConnectTimeout?: number

建立连接时的 xhr 请求的超时时间。默认为 8000 ms。

xhr 请求是 websocket 连接建立前的步骤。它主要用于和服务器协商连接ID