一,上网易im官网下载对应的sdk(我这里选择的是web端的)
下载好了如下文件,具体区别上官网自行查看
二、选择一个sdk引入到项目中(按自己的需求来,我这里选择的是功能最全的)
注意路径路径要选中你的存放的sdk文件
import Nim from '@/utils/NIM_Web_SDK_v9.10.1' // 网易im
Vue.prototype.NIM = Nim.NIM
三、 在需要的页面进行初始化操作
(当然你也可以在项目main.js中进行全局初始化操作,这里我就不细讲了,你细品)
mounted () {
this.$nextTick(
this.nim = this.NIM.getInstance({
// 初始化SDK
// debug: true,
appKey: 你自己的key, // appkey
account: 'admin1', // 当前登录账号(需要自行去后台管理添加如下图,也可以调用接口注册)
token: '123456', // 当前登录密码(这是静态token,动态的即自动登录,可以自行查看官网文档)
onconnect: this.onConnect, // 若登录成功,可通过该回调获取登录信息
onerror: this.onError, // 出现错误的回调,这里的“错误”通常为数据库错误,也可能是连接错误
onwillreconnect: this.onWillReconnect, // NIM SDK 与云信服务端的长连接已断开,而且正在重连时触发的回调函数
ondisconnect: this.onDisconnect, // NIM SDK 与云信服务端的长连接断开后的回调函数
// 会话
onsessions: this.onSessions, // 初始化同步时,用于获取会话列表的回调函数
autoMarkRead: true, // 开启自动标记消息已读
syncSessionUnread: true, // 同步会话的未读数,
onupdatesession: this.onUpdateSession, // 批量更新会话的回调函数。触发条件包括收发消息、清理会话未读数、撤回消息等
// 消息
onroamingmsgs: this.onRoamingMsgs, // 初始化同步时,用于接收漫游消息的回调函数
onofflinemsgs: this.onOfflineMsgs, // 初始化同步时,用于接收离线消息的回调函数
onmsg: this.onMsg, // 用户在线或多端同步时,用于接收消息的回调函数(实时消息)
// 同步完成
onsyncdone: this.onSyncDone // 初始化同步完成的回调函数。推荐在初始化同步完成后再调用 SDK 实例的接口
})
// console.log(this.nim)
)
},
(this.xxxxx为各自的回调函数写在methods里,这里就不一一诉说了,有需要可以上官网文档自行查看,实在看不懂的可以给我留言)
四、结尾
例:发送文本消息
this.nim.sendText({
scene: 'p2p', // p2p即单聊一对一,如需发送群消息, 请将scene的值替换为team, 将to的值替换为群 ID(teamId)。如需发送超大群消息,请将scene的值替换为superTeam,将to替换为超大群的 ID(teamId)。
to: 'account', // account会话列表中获得,表示要接收这条信息的人
text: 'hello', // 需要发送的文本
done: (error, msg) { // 发送后的回调函数
console.log(error);
console.log(msg);
console.log('发送' + msg.scene + ' ' + msg.type + '消息' + (!error?'成功':'失败') + ', id=' + msg.idClient);
pushMsg(msg);
}
});