最近更新时间:2024.03.28 21:48:51
首次发布时间:2023.04.24 11:11:46
类型: class
好友信息。
userId
类型: string | undefined
用户 ID。
applyTime
类型: Date | undefined
好友申请时间。
createTime
类型: Date | undefined
好友创建时间(申请通过时间)。
ext
类型: { [k: string]: string; } | null | undefined
好友扩展信息。
alias
类型: string | undefined
好友备注。
类型: class
好友申请信息
id
类型: string | undefined
申请 ID
fromUserId
类型: string | undefined
发起方
toUserId
类型: string | undefined
接收方
applyTime
类型: Date | undefined
申请时间
ext
类型: { [k: string]: string; } | null | undefined
扩展字段
status
类型: FriendApplyStatus | undefined
申请状态
index
类型: Long | null | undefined
申请下标(可用于同步已读状态)
类型: enum
好友申请状态
成员
属性 | 值 | 描述 |
---|---|---|
Waiting | 0 | 申请中 |
Agree | 1 | 同意 |
Refuse | 2 | 拒绝 |
类型: enum
联系人接口拉取方向,v1.12.0 新增
成员
属性 | 值 | 描述 |
---|---|---|
CONTACT_NEWER | 1 | 从当前位置往新方向拉取 |
CONTACT_OLDER | 2 | 从当前位置往旧方向拉取 |
类型: enum
好友申请回应状态。
成员
属性 | 值 | 描述 |
---|---|---|
Accept | 0 | 接受好友申请。 |
Reject | 1 | 拒绝好友申请。 |
类型: enum
SDK 初始化状态。
成员
属性 | 值 | 描述 |
---|---|---|
Start | 1 | 正在初始化。 |
Error | 2 | 初始化错误。 |
Succeeded | 3 | 初始化完成。 |
类型: class
会话结构。
id
类型: string
会话 ID。
单聊会话 ID 规则为 {inboxType}:1:{minUid}:{maxUid}
,群聊为 short id。
shortId
类型: string
会话 short id,int64。
type
类型: im_proto.ConversationType
会话类型。
isMember
类型: boolean
是否为会话成员。
participantCount
类型: number
会话成员总数。(缓存态,不实时)
onlineMemberCount
类型: number
在线用户人数。
userInfo
类型: Participant
当前用户信息。
inboxType
类型: number
只读
, 会话所在的信箱类型。
status
会话状态。
coreInfo
会话的 Core 信息。
settingInfo
会话的 Setting 信息。
isOffline
类型: boolean
会话是否为离线状态。(未从服务端拉取完整信息)
mode
类型: number
只读
, 会话推拉模式(陌生人),熟人会话是 0。
isStrangerConversation
类型: boolean
只读
, 是否为陌生人会话。
pushStatus
类型: PushStatus
只读
, 消息推送状态,参看 PushStatus。
weakMuteInfo
类型: ConversationSettingWeakMuteInfo
只读
, 低打扰模式关注配置,参看 PushStatus。
isStickOnTop
类型: boolean
只读
, 会话是否置顶,参看 StickTopState。
isFavorite
类型: boolean
只读
, 会话是否被收藏,参看 FavoriteState。
ext
类型: { [k: string]: string; }
只读
, 获得会话的 ext。
注意
本参数为 core 与 setting 的组合(覆盖 core 同名 key)。需要获得单独的 core 或 setting 可以访问 ConversationCoreInfo.ext 和 ConversationSettingInfo.ext。
lastMessage
类型: Message | null
只读
, 获得最后一条消息(最新消息)。
firstMessage
类型: Message | null
只读
, 获得第一条消息(最旧消息)。
readIndex
类型: Long
只读
, 获得会话内已读的最近一条消息的序号。
version
类型: Long
只读
, 会话的 Setting 版本。
updatedAt
类型: Date
只读
, 获得最后一条消息的创建时间,并暂时作为会话的显示更新时间。
如果没有创建消息,会返回 0。
isGeneralConversation
类型: boolean
只读
, 是否为普通会话。普通会话包括单聊和群聊,不包括直播群。
toParticipantUserId
类型: string | undefined
只读
, 返回单聊会话的对方用户的 uid。
isBlocked
类型: boolean
只读
, 会话是否禁言。
isBlockNormalOnly
类型: boolean
只读
, 会话是否只禁言普通成员。
lastVisibleMessage
获得可见的最后一条消息,参看 Message.visible。
类型
(msg: Message) => boolean
参数
msg
类型: Message
lastPopVisibleMessage
获得需要顶出的最后一条消息,参看 Message.unpop。
类型
(msg: Message) => boolean
参数
msg
类型: Message
unreadCount
获得会话当前的未读数。
注意是一个 getter。
类型
(_: string) => number
参数
_
类型: string
unreadCountWithWhiteList
低打扰模式下白名单内的未读消息数
类型
(_: string) => number
参数
_
类型: string
unreadMessageList
用户当前会话内的未读消息
类型
(msg: Message) => boolean
参数
msg
类型: Message
unreadMessageListWithWhiteList
用户当前会话内,满足低打扰消息白名单的未读消息
类型
(msg: Message) => string | number | Long | undefined
参数
msg
类型: Message
firstMessageIndex
第一条消息的位置
类型
(m: Message) => boolean
参数
m
类型: Message
lastMessageIndex
最后一条消息的位置
类型
(m: Message) => boolean
参数
m
类型: Message
lastMessageOrder
最后一条消息的顺序编号
类型
(m: Message) => boolean
参数
m
类型: Message
forceRefreshUnreadCount
强制刷新未读数
类型
() => void
getMessageList
返回本地当前会话的所有消息,map<string, Message>。
Key 是消息的 clientId,默认过滤不可见消息。
(直播群不可用,SDK 内不存储直播群的消息)
类型
(filter?: (msg: Message) => boolean) => Message[]
参数
filter
类型: (msg: Message) => boolean
默认值: ' m => m.visible'
getParticipantList
返回当前会话的所有成员,map<string, Message>。
类型
() => Participant[]
类型: enum
会话类型。
成员
属性 | 值 | 描述 |
---|---|---|
ONE_TO_ONE_CHAT | 1 | 单聊会话。 |
GROUP_CHAT | 2 | 群聊会话。 |
MASS_CHAT | 100 | 直播会话。 |
类型: class
会话成员对象
userId
类型: string
用户 id
secUid
类型: string
加密 uid
sortOrder
类型: Long | undefined
列表排序
role
类型: number | undefined
成员角色 0: 普通成员 1: 群主 2: 管理员 3:访客
alias
类型: string | undefined
群成员在群里的昵称
avatarUrl
类型: string | undefined
群成员头像 URL
marks
类型: string[] | undefined
群成员标记
conversationId
类型: string
会话 ID,群聊时等于消息体中的 conversationShortId
blocked
类型: boolean | undefined
是否被禁言
leftBlockTime
类型: Long | undefined
被禁言的话还有多长时间解封
minIndex
类型: Long
用户在会话内的最小可拉取位置
readIndex
类型: Long
会话内成员最近一条已读消息的序号 (对应消息 indexInConversation)
readOrder
类型: Long
已读水位 (对应消息 orderInConversation)
isSelf
类型: boolean
只读
, 是否是自己
ext
类型: { [k: string]: string; }
扩展字段
类型: enum
会话状态
成员
属性 | 值 | 描述 |
---|---|---|
Normal | 0 | 正常。 |
Dissolved | 1 | 已被解散。 |
类型: class
会话 CoreInfo 结构
conversationId
类型: string
只读
, 会话 id
version
类型: Long
Core Info 的版本号
name
类型: string
会话名称
desc
类型: string
会话描述
icon
类型: string
会话图标 / 群头像
notice
类型: string
群公告
owner
类型: string
群主 / 创建者
secOwner
类型: string
加密 uid 群主
inboxType
类型: number
信箱类型
blockStatus
类型: im_proto.BlockStatus
禁言状态
blockNormalOnly
类型: boolean
是否只禁言普通成员
ext
类型: { [k: string]: string; }
会话 Core Ext
类型: enum
禁言状态。
成员
属性 | 值 | 描述 |
---|---|---|
UNBLOCK | 0 | 未禁言。 |
BLOCK | 1 | 禁言中。 |
类型: class
会话 Setting Info 结构
conversationId
类型: string
只读
, 会话 id
version
类型: Long
会话 Setting 版本
stickTop
类型: StickTopState
置顶状态
setTopTime
类型: Long
mute
类型: MuteState
免打扰状态
pushStatus
类型: PushStatus
消息推送状态
favor
类型: FavoriteState
收藏状态
setFavoriteTime
类型: Long
设置收藏的时间
readIndex
类型: Long
ext
类型: { [k: string]: string; }
会话 Setting Ext
weakMuteInfo
类型: ConversationSettingWeakMuteInfo
只读
, 低打扰会话配置
类型: enum
置顶状态。
成员
属性 | 值 | 描述 |
---|---|---|
Off | 0 | 未置顶。 |
On | 1 | 已置顶。 |
类型: enum
免打扰状态。
成员
属性 | 值 | 描述 |
---|---|---|
Off | 0 | 普通提醒。 |
On | 1 | 免打扰状态(不提醒)。 |
类型: enum
收藏状态。
成员
属性 | 值 | 描述 |
---|---|---|
Off | 0 | 未收藏。 |
On | 1 | 已收藏。 |
类型: interface
会话低打扰模式配置。
whiteUids
类型: Long[] | undefined
白名单用户列表。
whiteMsgTypes
类型: number[] | undefined
消息类型白名单列表。
类型: class
消息结构
serverId
类型: string
消息的 Server Id, string 形式的一个 int64
type
类型: number
消息类型
conversationId
类型: string
消息所属会话 id
conversationShortId
类型: string
消息所属会话 short id
conversationType
类型: im_proto.ConversationType
消息所属会话类型
clientId
类型: string
消息客户端 id
sender
类型: string
消息发送方 uid
secSender
类型: string
消息发送方加密 uid
createdAt
类型: Date
消息创建时间
content
类型: string
消息内容
version
类型: Long
消息版本号,当消息被更新时会同步更新此字段
serverStatus
消息状态
ext
类型: { [k: string]: string; }
消息 ext 字段
flightStatus
类型: FlightStatus
消息发送状态
property
类型: { [k: string]: MessageProperty[]; }
消息属性
referenceInfo
类型: im_proto.IReferenceInfo | undefined
消息引用
isOffline
类型: boolean
消息是否离线
source
类型: MessageSource
消息来源
isNormalMsg
类型: boolean
只读
, 是否是一条普通消息, 区别于 Command 这种特殊消息
isCommandMsg
类型: boolean
只读
, 是否是一条命令消息 (type === 50001)
isSpecialMessage
类型: boolean
只读
, 是否是一条特殊消息 (type >= 50000)
visible
类型: boolean
只读
, 消息是否对自己可见
unpop
类型: boolean
只读
, 消息是否不需要被顶出
increaseUnread
类型: boolean
只读
, 该消息是否需要增加未读数
isFromMe
类型: boolean
只读
, 消息是否是自己发送的
isRecalled
类型: boolean
只读
, 消息是否被撤回
isMentioned
类型: boolean
只读
, 消息提到了自己
mentionedUsers
类型: string[]
消息里包含的被 @ 用户
isStrangerMessage
类型: boolean
只读
, 陌生人消息
isRootReference
类型: boolean
只读
, 消息是否为起始引用
moveReadIndex
类型: boolean
只读
, 消息是否触发已读水位更新
updateLastMessage
类型: boolean
只读
, 消息是否可以作为会话最新消息
isGeneralConversation
类型: boolean
只读
, 是否为普通会话。普通会话包括单聊和群聊,不包括直播群。
messagePriority
类型: im_proto.MessagePriority | undefined
只读
, 消息的优先级(适用于直播群消息)
editInfo
类型: MessageEditInfo | null
只读
, 消息编辑信息
isEdited
类型: boolean
只读
, 消息 content 是否被编辑过
类型: enum
消息服务端状态
成员
属性 | 值 | 描述 |
---|---|---|
Enable | 0 | 启用 (正常状态) |
Disable | 1 | 禁用 (不显示) |
类型: enum
消息发送状态
成员
属性 | 值 | 描述 |
---|---|---|
Created | 0 | 消息已经创建 |
Preparing | 1 | 准备中 (图片正在上传等) |
Inflight | 2 | 发送中 (已经提交请求, 尚未收到响应) |
Succeeded | 3 | 发送成功 (已经收到响应) |
Received | 4 | 消息已被服务端接收 |
Failed | -1 | 发送失败 (网络错误, 内部错误等) |
Rejected | -2 | 消息被服务端拒绝 (回调检查) |
SelfVisible | -3 | 消息被自见 |
类型: class
消息设置属性,一般的使用场景有:类似 lark 的给消息点赞、加急消息等。
messageId
类型: string
消息 ID (sdk保存, 冗余检索字段)
conversationId
类型: string
会话 ID (sdk保存, 冗余检索字段)
key
类型: string
属性键 (sdk保存, 冗余检索字段)
userId
类型: string
操作用户 ID
secUid
类型: string
操作用户 secUid
createTime
类型: Date
属性创建时间
idempotentId
类型: string
幂等操作 ID,由业务方自行生成
value
类型: string
属性值
status
类型: PropertyStatus
属性状态
类型: enum
消息属性发送状态
成员
属性 | 值 | 描述 |
---|---|---|
Sending | 0 | 发送中 |
Success | 1 | 发送成功 |
Failed | 2 | 发送失败 |
类型: interface
引用消息相关数据
referenced_message_id
类型: Long
被引用消息的 ID
hint
类型: string
业务相关辅助信息 (JSON)
ref_message_type
类型: Long
被引用消息的类型
referenced_message_status
类型: MessageStatus
被引用消息的状态
root_message_id
类型: Long | null | undefined
引用消息链开头的消息 ID
root_message_conv_index
类型: Long | null | undefined
被引用消息在会话中的 index
ext
类型: { [k: string]: string; } | null | undefined
引用扩展字段,目前支持 InfoKeys.RefIsEdited, InfoKeys.RefContent
类型: enum
消息状态
成员
属性 | 值 | 描述 |
---|---|---|
AVAILABLE | 0 | 消息存在 |
NOT_EXIST | 1 | 消息不存在 |
INVISIBLE | 2 | 消息(对用户)不可见 |
RECALLED | 3 | 消息被撤回 |
DELETED | 4 | 消息本身可见,后因删除不可见 |
类型: enum
消息来源
成员
属性 | 值 | 描述 |
---|---|---|
Online | 1 | 长链 push |
LoadMore | 2 | 手动 load more 拉单链 |
Init | 3 | 初始化 |
UserInbox | 4 | 混链补偿 |
Offline | 5 | 本地创建的消息 (自己发送或 insertOfflineMessage 创建的消息) |
类型: enum
消息的优先级(适用于直播群消息)
成员
属性 | 值 | 描述 |
---|---|---|
LOW | 0 | 低优先级 |
NORMAL | 1 | 正常优先级 |
HIGH | 2 | 高优先级 |
类型: interface
消息编辑信息
contentIsEdited
类型: boolean
消息 content 是否被编辑过
contentEditorUid
类型: string | undefined
消息 content 编辑者 user id
contentEditTime
类型: Date | undefined
消息 content 编辑时间
类型: interface
API 请求结果封装泛型
T 为操作处理的对象类型
U 为服务端原始响应
success
类型: boolean
请求是否成功
payload
类型: T | null
操作处理的对象
checkCode
类型: Long | undefined
校验码
checkMsg
类型: string | undefined
校验消息
body
类型: U | undefined
原始响应
statusCode
类型: number | undefined
响应码
statusMsg
类型: string | undefined
响应消息
innerError
类型: BaseError | undefined
原始异常
logid
类型: string | undefined
请求 logid
类型: class
基本错误类型
type
类型: ErrorType
错误类型
msg
类型: string
错误描述
innerError
类型: BaseError | Error | undefined
内部错误, 可能是一个 Error 或 BaseError
reachServer
类型: boolean | undefined
如果是一个网络错误, 这次的网络请求是否已经达到了服务端
代表这个错误可能是服务端返回的逻辑错误
sender
类型: any
错误抛出源对象
logid
类型: string | undefined
请求日志 logid
args
类型: { [k: string]: any; } | undefined
参数
类型: enum
操作类型。
成员
属性 | 值 | 描述 |
---|---|---|
ADD_PROPERTY_ITEM | 0 | 属性 value 是数组,添加一个元素。 |
REMOVE_PROPERTY_ITEM | 1 | 属性 value 是数组,移除一个元素。 |
SET_PROPERTY | 2 | 属性 value 是 kv,设置其值。 |
DEL_PROPERTY | 3 | 属性 value 是 kv,删除其值。 |
设置消息属性结果。
类型
ICheckCodeResult<Message, im_proto.IModifyMessagePropertyResponseBody>
类型: enum
消息方向
成员
属性 | 值 | 描述 |
---|---|---|
OLDER | 1 | 从当前位置往旧方向拉取 |
NEWER | 2 | 从当前位置往新方向拉取 |
类型: enum
排序类型。
成员
属性 | 值 | 描述 |
---|---|---|
JOIN_TIME | 1 | 进群时间。 |
CREATED_TIME | 2 | 会话创建时间。 |
GROUP_NAME | 3 | 会话名称。 |
ACTIVE_TIME | 4 | 最新活跃时间。 |
创建会话结果。
类型
ICheckCodeResult<Conversation, im_proto.ICreateConversationV2ResponseBody>
类型: enum
消息推送模式。
成员
属性 | 值 | 描述 |
---|---|---|
Unknown | 0 | 服务端未返回,或不支持的类型。 |
Allow | 1 | 正常模式(允许推送)。 |
Disable | 2 | 免打扰模式(禁止推送)。 |
PartAllow | 3 | 低打扰模式(部分推送)。 |
设置消息结果。
类型
ICheckCodeResult< Conversation, im_proto.ISetConversationSettingInfoResponseBody >
类型: class
消息已读回执
messageId
类型: string
消息的服务端 ID
isRead
类型: boolean
消息是否已读
readUids
类型: string[]
已读成员 id
unreadUids
类型: string[]
未读成员 id
messageVersion
类型: Long
消息版本,参看 Message。
添加成员结果。
类型
ICheckCodeResult<Conversation, im_proto.IConversationAddParticipantsResponseBody> & { failedParticipant: string[]; }
类型
ICheckCodeResult< Conversation, im_proto.IConversationRemoveParticipantsResponseBody > & { failedParticipant: string[] }
更新群成员结果。
类型
ICheckCodeResult< Participant, im_proto.IUpdateConversationParticipantResponseBody >
类型: enum
Ext 字段 Key
成员
属性 | 值 | 描述 |
---|---|---|
MessageMode | 's:mode' | 消息模式(用于区分陌生人消息) |
SendResponseStatus | 's:send_response_status' | 送消息 Response 中的 statusCode 字段 |
SendResponseExtraInfo | 's:send_response_extra_info' | 发送消息 Response 中的 extraInfo 字段 |
SendResponseCheckCode | 's:send_response_check_code' | 发送消息 Response 中的 checkCode 字段 |
SendResponseCheckMessage | 's:send_response_check_msg' | 发送消息 Response 中的 checkMessage 字段 |
ClientMessageId | 's:client_message_id' | 消息客户端 Id,参看 Message.clientId。 |
MentionedUser | 's:mentioned_users' | 被 @ 的用户,参看 Message.mentionedUser。 用户以逗号分隔,0 表示 @ 所有人。 |
DoNotIncreaseUnread | 's:do_not_increase_unread' | 不计算未读数。设置为 'true' 时, 客户端不会把这条消息算入未读数内。可以用于退群系统消息等。 |
DoNotPopConversation | 's:do_not_pop_conversation' | 不上移会话。设置为 'true' 时, 客户端不会因为这条消息而把会话往上顶。可以用于退群系统消息等。 |
IsRecalled | 's:is_recalled' | 消息被撤回 |
ServerMessageId | 's:server_message_id' | 消息的 Server Id |
LocalLogId | 's:local_logid' | logid, 上报 RTT 用 |
MessageVisible | 's:visible' | 消息可见用户 |
MessageInvisible | 's:invisible' | 消息不可见用户 |
IsRootReference | 's:is_root_ref' | 是否是最开始的引用消息 |
MarkMessageNewExt | 's:mark_message_new_ext' | 消息标记字段 |
DoNotUpdateLastMessage | 's:do_not_update_last_msg' | 不更新会话最后一条消息 |
DoNotMoveReadIndex | 's:do_not_move_read_index' | 不触发消息已读 |
FileExtKeyAudioAsrText | 's:file_ext_key_audio_asr_text' | 音频消息转换后的文字 |
RecognitionResponseCheckCode | 's:recognition_response_check_code' | 保存 check_code 透传给用户 约定命中敏感词 用户在 tcc 上配置 |
RecognitionResponseCheckMsg | 's:recognition_response_check_msg' | 保存 check_message 透传给用户 |
PushPartDisableConfig | 's:push_part_disable_config' | 低打扰模式时,设置关注的用户/消息类型 |
MustNotify | 's:must_notify' | 消息强制通知 |
SendTime | 's:stime' | 发送端的时间 |
SendOs | 'a:send_os' | 发送端的操作系统 |
MessagePriority | 's:message_priority' | 消息的优先级(适用于直播群消息) |
EditInfo | 's:edit_info' | 消息二次编辑元信息,记录编辑时间、编辑用户等信息 |
RefContent | 's:ref_content' | 被引用的消息内容,ReferenceInfo.ext 使用 |
RefIsEdited | 's:ref_is_edited' | 被引用的消息是否已编辑,为 'true' 时代表已被编辑,ReferenceInfo.ext 使用 |
类型: interface
IM 实例化参数
appId
类型: number
应用 id,在申请接入 imcloud 时下发的配置中拿到
autoRefreshExpiredToken
类型: boolean | undefined
token 过期时,是否尝试自动刷新token;如果设置为 true,要求 option.token 传入获取 token 的 回调函数。v1.11.0 新增。
deviceId
类型: string
设备 id,web pc 端一般没有这个概念,建议传用户 id, web 移动端可以获取到设备 id 的话建议传设备 id
userId
类型: string
用户id
disableAppLog
类型: boolean | undefined
禁用 IM 应用日志(用于分析 IM 性能)
disableApmLog
类型: boolean | undefined
禁用火山 APM 日志(用于分析错误等运行时信息)
secUid
类型: string | undefined
加密uid
authType
类型: im_proto.AuthType | undefined
鉴权方式,默认为 token 鉴权
inboxType
类型: number | number[] | undefined
信箱类型,用于一个app下多个IM子系统隔离
headers
类型: { [k: string]: string; } | undefined
自定义 headers,通常用不上
acceptIncorrectFrame
类型: boolean | undefined
允许接受 service id 不正确的 Frontier Frame
acceptIncorrectInboxType
类型: boolean | undefined
允许接受 InboxType 不正确的 Response
webSocketLevel
类型: WebSocketLevel | undefined
设置如何使用长链
timeout
类型: number | undefined
超时重试的最大时限,默认是 2000ms,网络不好可以适当调高
withCredentials
类型: boolean | undefined
和 XMLHttpRequest 中的 withCredentials 语义一致,是否允许跨域发送 Cookie,通常不需要打开
httpHeaders
类型: { [k: string]: string; } | undefined
自定义请求头
heartbeatInterval
类型: number | undefined
ws 心跳间隔
maxHeartbeatEmptyWindow
类型: number | undefined
ws 心跳超时时间
maxSendMsgRetryTimes
类型: number | undefined
发送消息最大重试次数
apiUrl
类型: string
国内:https://imapi.volcvideo.com
海外:https://imapi.bytepluses.com
frontierUrl
类型: string
Websocket 路径
国内:wss://frontier-sinftob.ivolces.com/ws/v2
海外:wss://frontier-myatob.byteoversea.com/ws/v2
extended
类型: { [k: string]: string; } | undefined
如果你想在 Frontier 连接的 url 后面传别的参数可以填这里,比如 platform 之类的给 Frontier
debug
类型: boolean | undefined
开启 SDK debug,开发环境建议打开,生产环境务必关闭,主要控制日志等
debugEnablePollRequestLog
类型: boolean | undefined
debug 模式下显示轮询类接口请求日志
injectContext
类型: string | boolean | typeof globalThis | Record<string, unknown> | undefined
debug 模式下:自定义ctx挂载对象,默认 window 对象
disableInitPull
类型: boolean | undefined
不调用初始化接口拉消息,但是 init 还是要调用的,只是不会拉消息了
pullInterval
类型: number | false | undefined
自动轮询混链补偿消息的间隔,单位 ms,关闭则设置成 false
unreadCountReport
类型: boolean | undefined
未读数上报
throttle
类型: number | boolean | undefined
事件触发的节流和防抖时间
triggerStrategy
类型: { [k: string]: TriggerType; } | undefined
为不同的事件,设置不同的触发策略
initSubType
类型: number | undefined
初始化的时候基于 sub_type 区分相同 appid 下的不同初始化策略,0 表示默认值(跟没有传递一样)
monitorTagKv
类型: { [k: string]: string; } | undefined
自定义监控上报数据
maxMessageCount
类型: number | undefined
本地消息数量上限,默认值 1000, 最大值 2000, 最小值 200
conversationRefreshCount
类型: number | undefined
本地离线会话刷新缓冲数
token
鉴权 token, 支持传入字符串或函数;当传入的是一个 Function 或者 Promise
类型
() => string
返回值
类型: string
类型: enum
鉴权类型,主要用于区分 token 解析方法
成员
属性 | 值 | 描述 |
---|---|---|
SESSION_AUTH | 1 | session(passport) 鉴权,通过 cookies & token 两步鉴权 |
TOKEN_AUTH | 2 | token(im_cloud) 鉴权,加密鉴权 |
CERT_AUTH | 3 | 可信证书鉴权 |
类型: enum
WebSocket 启用级别
成员
属性 | 值 | 描述 |
---|---|---|
Default | 0 | 使用 SDK 默认配置, 大部分接口通过 WebSocket 发送请求, 少数通过 HTTP |
PushOnly | 1 | 只通过 WebSocket 接收 Push 消息, 所有请求都使用 HTTP 发送 |
All | 2 | 所有接口均使用 WebSocket |
Disable | 3 | 完全不连接 WebSocket |
类型: enum
事件触发策略,用于 IMOption triggerStrategy
成员
属性 | 值 | 描述 |
---|---|---|
Immediate | 0 | 立即出发 |
Throttle | 1 | 按函数节流 |
Debounce | 2 | 按函数防抖 |
ThrottleWithArgs | 3 | 按函数+入参节流 |
DebounceWithArgs | 4 | 按函数+入参防抖 |
类型: interface
直播群成员信息
user_id
类型: Long
对应的成员 ID
is_in_conversation
类型: boolean
成员是否在直播群中(在线)
create_time
类型: Long | null | undefined
成员进群时间
ping_time
类型: Long | null | undefined
成员最后活跃 (ping) 时间
类型: enum
标记类型
成员
属性 | 值 | 描述 |
---|---|---|
ADD | 1 | 添加 |
DELETE | 2 | 删除 |
类型
{ type: FileType; fileHandler?: File; filePath?: string; fileSize?: number; encrypt?: 'cipher_v2' | 'both' | true; fileName?: string; imagePreviewWidth?: number; imagePreviewHeight?: number; imageThumbWidth?: number; imageThumbHeight?: number; imageSuffix?: string; audioDuration?: number; ext?: { [k: string]: string }; onUploadProcess?: (info: UploaderInfor) => void; } & FileParams
成员
名称 | 类型 | 描述 |
---|---|---|
type | FileType | 文件类型,用于指示 SDK 针对特定文件类型进行不同处理 |
fileHandler | File | undefined | 需要上传的文件对象,适用于浏览器环境,小程序请使用 filePath 和 fileSize 字段 |
filePath | string | undefined | 小程序上传必传 |
fileSize | number | undefined | 小程序上传必传 |
fileName | string | undefined | 文件名,未指定时会取 fileHandler.name |
audioDuration | number | undefined | 音频长度 |
ext | { [k: string]: string; } | undefined | 文件信息扩展字段 |
onUploadProcess | ((info: UploaderInfor) => void) | undefined | 上传进度回调 |
类型: enum
成员
属性 | 值 | 描述 |
---|---|---|
Image | 'image' | 图片 |
Video | 'video' | 视频 |
Audio | 'audio' | 音频 |
CommonFile | 'object' | 普通文件 |
类型: enum
群成员角色。
成员
属性 | 值 | 描述 |
---|---|---|
ORDINARY | 0 | 群成员。 |
OWNER | 1 | 群主。 |
MANAGER | 2 | 群管理。 |
VISITOR | 3 | 访客。 |
事件回调函数
类型
(() => void) | ((eventArgs: T, sender?: any) => void)
类型: class
用于取消事件监听。
类型: enum
直播群成员离开群聊时的操作类型
成员
属性 | 值 | 描述 |
---|---|---|
Leave | 1 | 主动退出/因为ping被踢掉 |
Kick | 2 | 被人踢出 |
类型: class
P2P 消息
sendType
类型: im_proto.SendType
消息发送类型
sender
类型: string
发送方
secSender
类型: string
发送方 secSender
conversationId
类型: string
会话 ID
conversationShortId
类型: string
会话 short ID
conversationType
类型: im_proto.ConversationType
会话类型
type
类型: number
消息类型
content
类型: string
消息内容
ext
类型: { [k: string]: string; }
消息 ext 字段
createTime
类型: Date
消息发送时间
contentJson
类型: T
消息内容 JSON 反序列化结果
类型: enum
P2P 消息发送类型
成员
属性 | 值 | 描述 |
---|---|---|
BY_CONVERSATION | 0 | 按会话推送 |
BY_USER | 1 | 按用户推送 |