网易云信即时通讯 Web SDK,提供完善的即时通信功能开发框架,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便第三方应用快速集成即时通信功能。
由于 package.json
中 types
字段有问题,导致无法正确识别类型,
反馈一段时候后没有处理,因此暂时发布一个修改过的包,
等以后,修复了类型问题后,再改为原始的包
安装
npm install @yxim/nim-web-sdk@latest
sdk 选择
sdk 默认提供以下几种形式
dist/SDK
├── NIM_Web_Chatroom_miniapp.js 聊天室小程序适配版 UMD 格式
├── NIM_Web_Chatroom_nodejs.js 聊天室node适配版 UMD 格式
├── NIM_Web_Chatroom_rn.js 聊天室 React-Native 适配版 UMD 格式
├── NIM_Web_Chatroom.js 聊天室浏览器适配版 UMD 格式
├── NIM_Web_NIM_miniapp.js IM 小程序适配版 UMD 格式
├── NIM_Web_NIM_nodejs.js IM node 适配版 UMD 格式
├── NIM_Web_NIM_rn.js IM React-Native 适配版 UMD 格式
├── NIM_Web_NIM.js IM 浏览器适配版 UMD 格式
├── NIM_Web_SDK_miniapp.js 集成包小程序适配版 UMD 格式
├── NIM_Web_SDK_nodejs.js 集成包node适配版 UMD 格式
├── NIM_Web_SDK_rn.js 集成包 React-Native 适配版 UMD 格式
├── NIM_Web_SDK.js 集成包浏览器适配版 UMD 格式
SDK的引入
- 使用 CommonJS 的模式进行引入,使用 webpack 的 dynamic requires 标准进行动态加载
- 示例代码
const SDK = require('@yxim/nim-web-sdk')
import SDK from '@yxim/nim-web-sdk'
var NIM = require('@yxim/nim-web-sdk/dist/SDK/NIM_Web_NIM')
var Chatroom = require('@yxim/nim-web-sdk/dist/NIM_Web_Chatroom')
SDK的初始化
var nim = NIM.getInstance({
debug: true,
appKey: 'appKey',
account: 'account',
token: 'token',
db:true,
onconnect: onConnect,
onwillreconnect: onWillReconnect,
ondisconnect: onDisconnect,
onerror: onError
});
function onConnect() {
console.log('连接成功');
}
function onWillReconnect(obj) {
console.log('即将重连');
console.log(obj.retryCount);
console.log(obj.duration);
}
function onDisconnect(error) {
console.log('丢失连接');
console.log(error);
if (error) {
switch (error.code) {
case 302:
break;
case 417:
break;
case 'kicked':
break;
default:
break;
}
}
}
function onError(error) {
console.log(error);
}
nim.disconnect({
done(err) {
console.log('disconnect success', err)
}
})
nim.destroy({
done(err) {
console.log('desctroy success', err)
}
})
var chatroom = Chatroom.getInstance({
appKey: 'appKey',
account: 'account',
token: 'token',
chatroomId: 'chatroomId',
chatroomAddresses: [
'address1',
'address2'
],
onconnect: onChatroomConnect,
onerror: onChatroomError,
onwillreconnect: onChatroomWillReconnect,
ondisconnect: onChatroomDisconnect,
onmsgs: onChatroomMsgs
});
function onChatroomConnect(obj) {
console.log('进入聊天室', obj);
var msg = chatroom.sendText({
text: 'hello',
done: function sendChatroomMsgDone (msgObj) {
}
})
}
function onChatroomWillReconnect(obj) {
console.log('即将重连', obj);
}
function onChatroomDisconnect(error) {
console.log('连接断开', error);
if (error) {
switch (error.code) {
case 302:
break;
case 'kicked':
break;
default:
break;
}
}
}
function onChatroomError(error, obj) {
console.log('发生错误', error, obj);
}
function onChatroomMsgs(msgs) {
console.log('收到聊天室消息', msgs);
}
chatroom.disconnect({
done(err) {
console.log('disconnect success', err)
}
})
chatroom.destroy({
done(err) {
console.log('desctroy success', err)
}
})
使用指引目录
IM
聊天室
其他