Options
All
  • Public
  • Public/Protected
  • All
Menu

NIM

NIM Web SDK

  • NIMInterface 是 NIM SDK 的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能
  • EventInterface 挂载了订阅发布事件相关的能力,如订阅,发布事件等
  • FriendInterface 挂载了好友相关的 API,如获取,添加,申请,删除好友等
  • PassThroughInterface 挂载了透传协议
  • MessageExtendInterface 挂载了消息扩展相关的 API,如 thread 消息
  • MessageInterface 挂载了消息相关的 API,如发送消息,发送文件消息,撤回,已读等
  • MessageLogInterface 挂载了消息历史记录相关的 API, 如查询历史消息
  • SessionInterface 挂载了会话相关的 API,如查看会话,重置会话等
  • SystemMessageInterface 挂载了系统消息相关的 API,如发送自定义系统通知
  • TeamInterface 挂载了群相关的 API,如获取,创建,离开群,群成员管理
  • UserInterface 挂载了用户及关系相关的 API,如黑名单,静音列表,我的名片
  • CloudSessionInterface 挂载了云端会话服务相关的 API,如查询云端会话列表,查询某个云端会话
  • CloudStorageInterface 挂载了云存储相关的 API,如上传并且预览文件、短链接转长链接
  • SignalingInterface 挂载了信令相关的 API,如创建,关闭频道
  • SuperTeamInterface 挂载了超级群相关的 API,如获取,创建,离开超级群
  • MiscInterface 挂载了杂项 API,如获取服务器时间戳(毫秒)
  • PluginInterface 挂载了 NIM 扩展服务 API

NIM.getInstance

下面是NIM.getInstance的初始化参数。这里只例举部分回调函数,完整初始化参数见 nim/types.NIMGetInstanceOptions

参数
描述
appKey [必填] 应用的 App Key,即您的应用在云信的账号

您可在云信控制台创建 App Key。详情参见创建应用
account [必填] 云信 IM 账号(又称 accid),即应用的用户在云信的唯一标识。

应用本身的用户帐号和云信的 IM 账号(accid)彼此独立。云信的 IM 账号只用于云信 IM 服务的鉴权,IM 账号并不等同于应用的用户账号。
token [必填] IM 账号的登录凭证
该登录凭证只会在登录 IM (建立 SDK 与云信服务端的长连接)时校验一次。
onconnect SDK 与云信服务端建立长连接的回调
onwillreconnect SDK 与云信服务端即将重连的回调
ondisconnect SDK 与云信服务端断开连接的回调
onsyncdone 初始化同步完成的回调
onerror 初始化阶段发生错误的回调
onloginportschange 多端登录状态变化的回调
onsessions 初始化同步时,接收会话列表的回调
onupdatesessions 在线时批量更新会话的回调
onStickTopSessions 初始化同步或在线时,接收远端置顶会话的回调
onroamingmsgs 初始化同步时,接收漫游消息的回调
onofflinemsgs 初始化同步时,接收离线消息的回调
onmsg 多端同步或在线时,接收消息的回调
onofflinesysmsgs 初始化同步时,接收离线系统通知的回调
onroamingsysmsgs 初始化同步时,接收漫游的系统通知的回调
onDeleteMsgSelf 多端同步时,单向删除消息的回调
用户在设备端 A 调用 deleteMsgSelf 或 deleteMsgSelfBatch 后,如果使用同一 IM 账号在设备端 B 登录,可通过该回调在设备端 B 收到消息被删除的通知。
onbroadcastmsgs 初始化同步时,接收离线广播消息的回调
onbroadcastmsg 在接收接收广播消息的回调
onTeamMsgReceipt 在线接收群消息已读回执通知的回调
onsysmsg 在线接收系统通知的回调
onupdatesysmsg 在线接收系统通知更新的回调
oncustomsysmsg 在线接收自定义系统通知的回调
onofflinecustomsysmsgs 初始化同步时,接收离线自定义系统通知的回调
onsysmsgunread 初始化同步时,接收系统通知未读数的回调
onupdatesysmsgunread 在线接收系统通知未读数变更的回调
onpushevents 订阅事件的回调
用户通过该回调在初始化同步或者在线时接收从云信服务端下推的订阅事件。
onQuickComment 在线或多端同步时,接收“添加快捷评论通知”的回调
onDeleteQuickComment 在线或多端同步时,接收“删除快捷评论通知”的回调
onPinMsgChange 在线或多端同步时,接收“消息置顶通知”的回调
onClearServerHistoryMsgs 多端同步或初始化同步时,接收“清除会话历史消息”通知的回调
onSyncUpdateServerSession 多端同步时,接收“云端会话更新”通知的回调
onblacklist 初始化时同步黑名单列表的回调
onsyncmarkinblacklist 多端同步时,接收“拉黑/移出黑名单”事件的回调
onmutelist 初始化时同步“静音列表”的回调。
onsyncmarkinmutelist 多端同步时,接收“把某人静音的事件”的回调
onfriends 同步好友列表的回调, 会传入好友列表
onsyncfriendaction 多端同步时,接收好友动作的回调。好友动作包括添加好友、好友申请、通过好友申请、拒绝好友申请、删除好友和更新好友备注。
onmyinfo 初始化时同步自己的用户名片的回调。
onupdatemyinfo 多端同步时,接收自己的用户名片更新的回调
onSuperTeams 初始化同步时,接收超级群列表的回调
onSyncCreateSuperTeam 多端同步时,接收“创建超级群”通知的回调
onUpdateSuperTeam 在线或多端同步时,接收“更新超级群的通知”的回调
onDismissSuperTeam 在线或多端同步时,接收“解散超级群的通知”的回调
onTransferSuperTeam 在线或多端同步时,接收“转让超级群的通知”的回调
onUpdateSuperTeamMember 在线或多端同步时,接收“超级群成员的信息变更”的回调
onAddSuperTeamMembers 在线或多端同步时,接收“添加超级群成员的通知”的回调
onRemoveSuperTeamMembers 在线或多端同步时,接收“删除超级群成员的通知”的回调
onUpdateSuperTeamManagers 在线或多端同步时,接收“更新超级群管理员的通知”的回调
onUpdateSuperTeamMembersMute 在线或多端同步时,接收“超级群成员被静音的通知”的回调
onteams 初始化时同步群列表的回调
onsynccreateteam 多端同步时,接收“创建群的通知”的回调
onCreateTeam 在线或多端同步时,接收“创建群的通知”的回调
onUpdateTeam 在线或多端同步时,接收“更新群的通知”的回调
onDismissTeam 在线或多端同步时,接收“解散群的通知”的回调
onTransferTeam 在线或多端同步时,接收“转让群的通知”的回调
onupdateteammember 在线或多端同步时,接收“群成员的信息变更”的回调
onAddTeamMembers 在线或多端同步时,接收“添加群成员的通知”的回调
onRemoveTeamMembers 在线或多端同步时,接收“删除群成员的通知”的回调
onUpdateTeamManagers 在线或多端同步时,接收“更新群管理员的通知”的回调
onUpdateTeamMembersMute 在线或多端同步时,接收“群成员被静音的通知”的回调

NIMInterface

NIM SDK 的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能,完整的 API 请参见 NIMInterface

方法 功能描述
logout 退出登录
disconnect 断开 SDK 与云信服务端的长连接
connect 建立长连接,并且登录
destroy 销毁实例
kick 将当前用户登录的其它端踢下线
setOptions 更新初始化配置

MessageInterface

消息相关的 API,如发送消息,发送文件消息,撤回,已读等,完整的 API 请参见 MessageInterface

方法 功能描述
sendText 发送文本消息
sendFile 发送文件消息
sendCustomMsg 发送自定义消息
sendGeo 发送地理位置消息
sendTipMsg 发送提醒消息
resendMsg 重发消息
forwardMsg 转发消息
sendMsgReceipt 发送单聊消息的已读回执
sendTeamMsgReceipt 发送群消息(高级群)的已读回执
getTeamMsgReads 查询群组消息的已读、未读数量
getTeamMsgReadAccounts 查询群消息已读的账号
recallMsg 撤回消息
deleteMsgSelf 单向删除消息
deleteMsgSelfBatch 批量单向删除消息

MessageLogInterface

消息历史记录相关的 API, 如查询历史消息,完整的 API 请参见 MessageLogInterface

方法 功能描述
getHistoryMsgs 获取云端的消息历史记录
clearServerHistoryMsgsWithSync 删除某个会话的云端消息历史记录,与漫游记录
msgFtsInServer 云端全文检索消息(full text search)。返回的消息会按会话 session 分类返回
msgFtsInServerByTiming 云端全文检索消息-按时间分页搜索。返回的消息结果按时间自然排序
getLocalMsgs 获取本地数据库的消息记录
getLocalMsgsByIdClients 获取 idClients 对应的本地消息列表
updateLocalMsg 更新本地消息。仅允许更新 localCustom 本地自定义扩展字段
getLocalMsgsByIdClients 通过 idClients 获取本地消息
deleteLocalMsg 删除某一条本地消息
deleteLocalMsgs 按条件删除消息
deleteLocalMsgsBySession 删除某个会话下所有的本地消息
deleteAllLocalMsgs 删除所有的本地消息
saveMsgsToLocal 将消息存储至本地数据库

EventInterface

订阅发布事件相关的能力,如订阅,发布事件等,完整的 API 请参见 EventInterface

方法 功能描述
publishEvent 发布某事件
subscribeEvent 订阅某事件
unSubscribeEventsByAccounts 按账号取消订阅关系
querySubscribeEventsByAccounts 按账号获取指定事件的订阅关系
unSubscribeEventsByType 取消指定事件的全部订阅关系
querySubscribeEventsByAccounts 按账号获取指定事件的订阅关系
querySubscribeEventsByType 获取指定事件的订阅关系

FriendInterface

好友相关的 API,如获取,添加,申请,删除好友等,完整的 API 请参见 FriendInterface

方法 功能描述
getFriends 获取好友
addFriend 直接加为好友
applyFriend 申请加为好友
passFriendApply 通过好友申请
rejectFriendApply 拒绝好友申请
deleteFriend 删除好友
updateFriend 更新好友
isMyFriend 是否为我的好友

PassThroughInterface

透传协议,完整的 API 请参见 PassThroughInterface

方法 功能描述
httpRequestProxy 透传协议

MessageExtendInterface

消息扩展相关的 API,如 thread 消息,完整的 API 请参见 MessageExtendInterface

方法 功能描述
getThreadMsgs 获取 thread 消息列表
getMsgsByIdServer 通过消息 id 等信息批量查询历史消息,thread 聊天专用
addQuickComment 添加快捷评论
deleteQuickComment 删除快捷评论
getQuickComments 批量查询消息的快捷评论
addCollect 添加收藏
deleteCollects 删除收藏。返回结果为被成功删除的收藏个数
updateCollect 更新收藏,只能更新 custom 字段
getCollects 查询收藏列表
addMsgPin Pin 住一条消息
updateMsgPin 更新被 Pin 的消息
deleteMsgPin 取消消息的 Pin 状态
getMsgPins 查询某会话下的 Pin 消息列表

SessionInterface

会话相关的 API,如查看会话,重置会话等,完整的 API 请参见 SessionInterface

方法 功能描述
getLocalSession 通过 sessionId 获取本地数据库里的会话
getLocalSessions 分页查询本地数据库里的会话列表
insertLocalSession 往本地数据库中插入一条会话记录
updateLocalSession 更新本地数据库里的会话
deleteLocalSession 删除指定的本地数据库会话
setCurrSession 设置“进入当前会话”
resetCurrSession 取消“setCurrSession”的效果
resetSessionUnread 重置某个会话的未读数
resetSessionsUnread 重置某些会话的未读数
resetAllSessionUnread 重置所有会话的未读数
getStickTopSessions 获取云端置顶会话的列表
addStickTopSession 添加云端置顶的会话
deleteStickTopSession 取消云端置顶的会话
updateStickTopSession 更新云端置顶的会话(目前仅能更新它的扩展字段)

SystemMessageInterface

系统消息相关的 API,如发送自定义系统通知,完整的 API 请参见 SystemMessageInterface

方法 功能描述
sendCustomSysMsg 发送自定义系统通知
markSysMsgRead 向服务器回包标记系统消息端测已读,下次服务器不需要将此消息作离线系统消息发下来
getLocalSysMsgs 获取本地数据库里的系统通知
updateLocalSysMsg 更新本地数据库里的系统通知
deleteLocalSysMsg 删除本地数据库里的系统通知
deleteAllLocalSysMsgs 删除所有本地数据库里的系统通知

TeamInterface

群相关的 API,如获取,创建,离开群,群成员管理,完整的 API 请参见 TeamInterface

方法 功能描述
getTeam 获取群
getTeams 获取群列表
getTeamsById 通过一批 teamId 来获取若干个群
createTeam 创建群
updateTeam 更新群
transferTeam 转让群, 群主可操作
dismissTeam 解散群,群主可操作
leaveTeam 主动退群
muteTeamAll 群组全体禁言
getTeamMembers 获取群成员
getMutedTeamMembers 获取群禁言成员列表
addTeamMembers 添加群成员
acceptTeamInvite (用户)接受群邀请
rejectTeamInvite (用户)拒绝群邀请
removeTeamMembers 踢人出群
addTeamManagers 添加群管理员
removeTeamManagers 移除群管理员
updateInfoInTeam 修改自己在群里的信息
updateNickInTeam 修改别人的群昵称
updateMuteStateInTeam 更新群成员禁言状态
getTeamMemberByTeamIdAndAccount 通过群 ID 及成员账号获取群成员信息
getTeamMemberInvitorAccid 获取群成员的邀请者 accid
applyTeam 申请入群
passTeamApply 通过群申请
rejectTeamApply (管理员)拒绝群申请

UserInterface

用户及关系相关的 API,如黑名单,静音列表,我的名片,完整的 API 请参见 UserInterface

方法 功能描述
getUser 获取用户名片
getUsers 获取一批用户的名片, 每次最多 150 个
updateMyInfo 更新我的名片
isUserInBlackList 查看某人是否在当前用户在黑名单里
getRelations 获取关系(黑名单和静音列表)
addToBlacklist 加入黑名单
removeFromBlacklist 移出黑名单
addToMutelist 加入静音列表
removeFromMutelist 移出静音列表
isUserInBlackList 查看某人是否在当前用户在黑名单里

CloudSessionInterface

这里只例举部分 API,完整的 API 请参见 CloudSessionInterface

方法 功能描述
getServerSessions 查询云端会话列表
getServerSession 查询某个云端会话
updateServerSession 更新云端会话
deleteServerSessions 删除云端会话列表

CloudStorageInterface

云端会话服务相关的 API,如查询云端会话列表,查询某个云端会话,完整的 API 请参见 CloudStorageInterface

方法 功能描述
previewFile 上传并且预览文件
getNosOriginUrl 短链接转长链接
audioToText 音频转文字
stripImageMeta 去除图片元信息
qualityImage 修改图片质量
interlaceImage interlace 图片
rotateImage 旋转图片
blurImage 模糊图片
cropImage 剪裁图片
thumbnailImage 生成图片的略缩图
processImage 处理图片

SignalingInterface

信令相关的 API,如创建,关闭频道,详细内容见 SignalingInterface

信令相关的事件通过nim.on 监听,详细内容见 NIMSignalingEventInterface

事件 功能描述
signalingNotify 收到在线通知
signalingMutilClientSyncNotify 收到多端同步通知
signalingChannelsSyncNotify 收到频道成员变更同步
signalingUnreadMessageSyncNotify 收到未读信令消息通知

它的使用方式如

nim.on('signalingNotify', (res) => {
console.log('收到在线通知', res)
})
方法 功能描述
signalingCallEx 呼叫加入音视频频道: 创建一个频道, 己方加入,并邀请对方加入音视频的频道
signalingCall 呼叫: 创建一个频道, 己方加入,并邀请对方加入频道
signalingCreateAndJoin 如果不存在房间, 则创建一个频道,并且己方加入. 如果已存在频道,则己方直接加入
signalingCreate 创建频道
signalingDelay 延长频道的有效期
signalingClose 关闭频道
signalingGetChannelInfo 查询频道信息. 根据 channelName 查询房间信息
signalingJoin 加入频道
signalingLeave 离开频道
signalingInvite 邀请某人进入频道
signalingCancel 取消邀请
signalingReject 拒绝进入频道的邀请
signalingAccept 接受进入频道的邀请
signalingMarkMsgRead 标记信令消息已收到, 下次不会在离线同步中收到此消息
signalingControl 发送自定义信令
signalingJoinAndAccept 加入频道并接受邀请

SuperTeamInterface

超级群相关的 API,如获取,创建,离开超级群,完整的 API 请参见 SuperTeamInterface

方法 功能描述
getSuperTeam 获取超级群
getSuperTeams 获取超级群列表
updateSuperTeam 更新超级群
transferSuperTeam 转让超级群, 群主可操作
leaveSuperTeam 主动退出超级群
updateSuperTeamMute 超级群全体禁言
getSuperTeamMembersByJoinTime 获取超级群成员, 分页获取
getSuperTeamMembersByAccounts 通过一批 account id 获取若干个超级群
getAllSuperTeamMembers 获取全部超级群成员, 数据量非常多时会分多次 done 返回
getMutedSuperTeamMembers 获取超级群禁言成员列表
addSuperTeamMembers 添加超级群的成员
acceptSuperTeamInvite (用户)接受超级群邀请
rejectSuperTeamInvite (用户)拒绝超级群的邀请
removeSuperTeamMembers 踢人出超级群
addSuperTeamManagers 添加超级群的管理员
removeSuperTeamManagers 移除超级群的管理员
updateNickInSuperTeam 修改别人的超级群的昵称
updateInfoInSuperTeam 修改自己在超级群里的信息
updateSuperTeamMembersMute 更新超级群成员禁言状态
applySuperTeam 申请入超级群
passSuperTeamApply (管理员)通过超级群申请
rejectSuperTeamApply (管理员)拒绝超级群申请

MiscInterface

一些其它的接口,完整的 API 请参见 MiscInterface

方法 功能描述
filterClientAntispam 检查客户端反垃圾
getClientAntispamLexicon 获取反垃圾词库
getServerTime 获取服务器时间戳