Web API 参考(NIM)
更新时间: 2024/11/12 14:04:51
本文介绍 Web SDK API 的概述性信息,并列出核心 API 与核心类或接口类,方便您查阅 API 信息。
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
。
NIMInterface
NIM SDK 的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能,完整的 API 请参考 NIMInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
logout |
退出登录 | V2NIMLoginService.logout |
disconnect |
断开 SDK 与网易云信服务端的长连接 | 无 |
connect |
建立长连接,并且登录 | 无 |
destroy |
销毁实例 | 同 V9 API |
kick |
将当前用户登录的其它端踢下线 | V2NIMLoginService.kickOffline |
setOptions |
更新初始化配置 | 同 V9 API |
MessageInterface
消息相关的 API,如发送消息,发送文件消息,撤回,已读等,完整的 API 请参考 MessageInterface
。
MessageLogInterface
消息历史记录相关的 API,如查询历史消息,完整的 API 请参考 MessageLogInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
getHistoryMsgs |
获取云端的消息历史记录 | V2NIMMessageService.getMessageList |
clearServerHistoryMsgsWithSync |
删除某个会话的云端消息历史记录,与漫游记录 | V2NIMMessageService.clearHistoryMessage |
msgFtsInServer |
云端全文检索消息(full text search)。返回的消息会按会话 session 分类返回 | V2NIMMessageService.searchCloudMessages |
msgFtsInServerByTiming |
云端全文检索消息-按时间分页搜索。返回的消息结果按时间自然排序 | V2NIMMessageService.searchCloudMessages |
getLocalMsgs |
获取本地数据库的消息记录 | V2NIMMessageService.getMessageList |
getLocalMsgsByIdClients |
获取 idClients 对应的本地消息列表 |
V2NIMMessageService.getMessageListByIds |
updateLocalMsg |
更新本地消息。仅允许更新 localCustom 本地自定义扩展字段 |
无 |
deleteLocalMsg |
删除某一条本地消息 | 无 |
deleteLocalMsgs |
按条件删除消息 | 无 |
deleteLocalMsgsBySession |
删除某个会话下所有的本地消息 | 无 |
deleteAllLocalMsgs |
删除所有的本地消息 | 无 |
saveMsgsToLocal |
将消息存储至本地数据库 | 无 |
EventInterface
订阅发布事件相关的能力,如订阅,发布事件等,完整的 API 请参考 EventInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
publishEvent |
发布某事件 | 无 |
subscribeEvent |
订阅某事件 | 无 |
unSubscribeEventsByAccounts |
按账号取消订阅关系 | 无 |
querySubscribeEventsByAccounts |
按账号获取指定事件的订阅关系 | 无 |
unSubscribeEventsByType |
取消指定事件的全部订阅关系 | 无 |
querySubscribeEventsByAccounts |
按账号获取指定事件的订阅关系 | 无 |
querySubscribeEventsByType |
获取指定事件的订阅关系 | 无 |
FriendInterface
好友相关的 API,如获取,添加,申请,删除好友等,完整的 API 请参考 FriendInterface
。
PassThroughInterface
透传协议,完整的 API 请参考 PassThroughInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
httpRequestProxy |
透传协议 | 无 |
MessageExtendInterface
消息扩展相关的 API,如 thread 消息,完整的 API 请参考 MessageExtendInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
getThreadMsgs |
获取 thread 消息列表 | V2NIMMessageService.getMessageListByRefers |
getMsgsByIdServer |
通过消息 ID 等信息批量查询历史消息,thread 聊天专用 | V2NIMMessageService.getMessageListByRefers |
addQuickComment |
添加快捷评论 | V2NIMMessageService.addQuickComment |
deleteQuickComment |
删除快捷评论 | V2NIMMessageService.removeQuickComment |
getQuickComments |
批量查询消息的快捷评论 | V2NIMMessageService.getQuickCommentList |
addCollect |
添加收藏 | V2NIMMessageService.addCollection |
deleteCollects |
删除收藏。返回结果为被成功删除的收藏个数 | V2NIMMessageService.removeCollections |
updateCollect |
更新收藏,只能更新 custom 字段 |
V2NIMMessageService.updateCollectionExtension |
getCollects |
查询收藏列表 | V2NIMMessageService.getCollectionListByOption |
addMsgPin |
Pin 住一条消息 | V2NIMMessageService.pinMessage |
updateMsgPin |
更新被 Pin 的消息 | V2NIMMessageService.updatePinMessage |
deleteMsgPin |
取消消息的 Pin 状态 | V2NIMMessageService.unpinMessage |
getMsgPins |
查询某会话下的 Pin 消息列表 | V2NIMMessageService.getPinnedMessageList |
SessionInterface
会话相关的 API,如查看会话,重置会话等,完整的 API 请参考 SessionInterface
。
SystemMessageInterface
系统消息相关的 API,如发送自定义系统通知,完整的 API 请参考 SystemMessageInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
sendCustomSysMsg |
发送自定义系统通知 | V2NIMNotificationService.sendCustomNotification |
markSysMsgRead |
向服务器回包标记系统消息端测已读,下次服务器不需要将此消息作离线系统消息发下来 | 无 |
getLocalSysMsgs |
获取本地数据库里的系统通知 | 无 |
updateLocalSysMsg |
更新本地数据库里的系统通知 | 无 |
deleteLocalSysMsg |
删除本地数据库里的系统通知 | 无 |
deleteAllLocalSysMsgs |
删除所有本地数据库里的系统通知 | 无 |
TeamInterface
群相关的 API,如获取,创建,离开群,群成员管理,完整的 API 请参考 TeamInterface
。
UserInterface
用户及关系相关的 API,如黑名单,静音列表,我的名片,完整的 API 请参考 UserInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
getUser |
获取用户名片 | V2NIMUserService.getUserList |
getUsers |
获取一批用户的名片,每次最多 150 个 | V2NIMUserService.getUserList |
updateMyInfo |
更新我的名片 | V2NIMUserService.updateSelfUserProfile |
isUserInBlackList |
查看某人是否在当前用户在黑名单里 | V2NIMUserService.getBlockList |
getRelations |
获取关系(黑名单和静音列表) | V2NIMUserService.getBlockList V2NIMUserService.getP2PMessageMuteList |
addToBlacklist |
加入黑名单 | V2NIMUserService.addUserToBlockList |
removeFromBlacklist |
移出黑名单 | V2NIMUserService.removeUserFromBlockList |
addToMutelist |
加入静音列表 | V2NIMUserService.setP2PMessageMuteMode |
removeFromMutelist |
移出静音列表 | V2NIMUserService.setP2PMessageMuteMode |
isUserInBlackList |
查看某人是否在当前用户在黑名单里 | V2NIMUserService.getBlockList |
CloudSessionInterface
这里只例举部分 API,完整的 API 请参考 CloudSessionInterface
。
CloudStorageInterface
云端会话服务相关的 API,如查询云端会话列表,查询某个云端会话,完整的 API 请参考 CloudStorageInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
previewFile |
上传并且预览文件 | V2NIMStorageService.uploadFile |
getNosOriginUrl |
短链接转长链接 | V2NIMStorageService.shortUrlToLong |
audioToText |
音频转文字 | V2NIMMessageService.voiceToText |
stripImageMeta |
去除图片元信息 | 无 |
qualityImage |
修改图片质量 | 无 |
interlaceImage |
interlace 图片 | 无 |
rotateImage |
旋转图片 | 无 |
blurImage |
模糊图片 | 无 |
cropImage |
剪裁图片 | 无 |
thumbnailImage |
生成图片的略缩图 | 无 |
processImage |
处理图片 | 无 |
SignalingInterface
信令相关的 API,如创建,关闭频道,详细内容见 SignalingInterface
。
信令相关的事件通过 nim.on
监听,详细内容见 NIMSignalingEventInterface
。
事件 | 功能描述 |
---|---|
signalingNotify |
收到在线通知 |
signalingMutilClientSyncNotify |
收到多端同步通知 |
signalingChannelsSyncNotify |
收到频道成员变更同步 |
signalingUnreadMessageSyncNotify |
收到未读信令消息通知 |
它的使用方式如
jsnim.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
。
MiscInterface
一些其它的接口,完整的 API 请参考 MiscInterface
。
方法 |
功能描述 |
对应 V10 API |
---|---|---|
filterClientAntispam |
检查客户端反垃圾 | V2NIMClientAntispamUtil.checkTextAntispam |
getClientAntispamLexicon |
获取反垃圾词库 | 无 |
getServerTime |
获取服务器时间戳 | 无 |