完整的 NIM SDK 由 NIMInterface, ChatroomServiceInterface 组成。
SDK
的入口,负责建立长连接,登录,断开长连接,销毁实例、多端互踢等功能。它的调用形式如
const nim = new NIM({
// ...初始化配置信息
appkey: 'YOUR_APPKEY',
account: 'YOUR_ACCID',
token: 'YOUR_TOKEN',
debugLevel: 'debug',
})
// 初始化事件监听
const eventList = [
// 登陆完成事件
'logined',
// 收到多端登陆通知触发事件
'multiPortLogin',
// 被踢
'kicked',
// 即将开始重连
'willReconnect',
// 断开连接
'disconnect',
// 收到消息
'msg',
]
eventList.forEach((key: any) => {
nim.on(key, (res) => {
console.log(`收到 ${key} 事件:`, res ? JSON.parse(JSON.stringify(res)) : res);
});
})
// 连接并且登陆后,会收到 logined 事件
await nim.connect()
await nim.msg.sendTextMsg()
初始化参数见 NIMInterface.NIMInitializeOptions
初始化事件见 NIMInterface.IMEventInterface
方法 | 功能描述 |
---|---|
NIMInterface.connect | 建立长连接,并且登录 |
NIMInterface.disconnect | 断开连接。 |
NIMInterface.destroy | 销毁实例 |
这里只例举部分 API,完整的 API 请参见 MsgServiceInterface
方法 | 功能描述 |
---|---|
MsgServiceInterface.sendTextMsg | 发送文本消息 |
MsgServiceInterface.sendTipMsg | 发送提醒消息 |
MsgServiceInterface.sendGeoLocationMsg | 发送文件消息 |
MsgServiceInterface.sendCustomMsg | 发送文件消息 |
MsgServiceInterface.sendFileMsg | 发送其他文件消息 |
MsgServiceInterface.sendImageMsg | 发送图片消息 |
MsgServiceInterface.sendVideoMsg | 发送视频消息 |
MsgServiceInterface.sendAudioMsg | 发送音频消息 |
MsgServiceInterface.forwardMsg | 转发消息 |
MsgServiceInterface.recallMsg | 撤回消息 |
MsgServiceInterface.deleteSelfMsgs | 单向删除消息 |
MsgServiceInterface.sendMsgReceipt | 发送已读标记 |
MsgServiceInterface.sendTeamMsgReceipt | 发送群已读标记 |
MsgServiceInterface.getTeamMsgReads | 获取群消息已读的数量 |
MsgServiceInterface.getTeamMsgReadAccounts | 获取群消息已读的账号 |
这里只例举部分 API,完整的 API 请参见 MsgLogServiceInterface
方法 | 功能描述 |
---|---|
MsgLogServiceInterface.deleteRoamingMsgs | 批量删除服务器上某些会话的漫游消息 |
这里只例举部分 API,完整的 API 请参见 EventServiceInterface
方法 | 功能描述 |
---|---|
EventServiceInterface.publishEvent | 发布某事件 |
EventServiceInterface.subscribeEvent | 订阅某事件 |
EventServiceInterface.unSubscribeEvents | 取消订阅 |
EventServiceInterface.querySubscribeEvents | 查询所订阅的事件 |
这里只例举部分 API,完整的 API 请参见 FriendServiceInterface
方法 | 功能描述 |
---|---|
FriendServiceInterface.getFriends | 获取好友列表 |
FriendServiceInterface.addFriend | 直接加为好友 |
FriendServiceInterface.applyFriend | 申请加为好友 |
FriendServiceInterface.deleteFriend | 删除好友 |
FriendServiceInterface.updateFriend | 更新好友 |
这里只例举部分 API,完整的 API 请参见 PassThroughServiceInterface
方法 | 功能描述 |
---|---|
PassThroughServiceInterface.request | 透传协议 |
这里只例举部分 API,完整的 API 请参见 MsgExtendServiceInterface
方法 | 功能描述 |
---|---|
MsgExtendServiceInterface.getThreadMsgs | 获取 thread 消息列表 |
MsgExtendServiceInterface.getMsgsByIdServer | 获取 thread 历史消息 |
这里只例举部分 API,完整的 API 请参见 SessionServiceInterface
方法 | 功能描述 |
---|---|
SessionServiceInterface.getSession | 获取会话 |
SessionServiceInterface.getSessions | 获取会话列表 |
SessionServiceInterface.resetSessionUnreadCount | 重置某个会话的未读数 |
SessionServiceInterface.resetAllSessionsUnreadCount | 重置所有会话的未读数 |
SessionServiceInterface.deleteSession | 删除指定的会话 |
SessionServiceInterface.deleteAllSessionsFromLocal | 删除所有本地的会话 |
这里只例举部分 API,完整的 API 请参见 SystemMessageServiceInterface
方法 | 功能描述 |
---|---|
SystemMessageServiceInterface.sendCustomSysMsg | 发送自定义系统通知 |
这里只例举部分 API,完整的 API 请参见 TeamServiceInterface
这里只例举部分 API,完整的 API 请参见 UserServiceInterface
方法 | 功能描述 |
---|---|
UserServiceInterface.setBlack | 加入黑名单/从黑名单移除 |
UserServiceInterface.setMute | 加入静音列表/从静音列表移除 |
UserServiceInterface.getUsersNameCardFromServer | 获取用户名片数组 |
UserServiceInterface.updateMyNameCard | 更新我的名片 |
UserServiceInterface.getRelations | 获取关系(黑名单和静音列表) |
UserServiceInterface.getBlackList | 获取黑名单列表 |
UserServiceInterface.getMuteList | 获取静音列表 |