跳到主要内容

集成步骤

注意
  • 此版本 jssdk 需要配合新版 IM Server(3.8.2+)使用。
  • 此版本 jssdk 直接和 IM Server通信,本地不存储任何数据。
  • 此版本 jssdk 目前支持所有框架 web 开发,同时兼容微信小程序和 uniapp。

1. 添加依赖

npm install @openim/client-sdk --save

2. 引入 SDK

  • 引入 SDK
import { getSDK } from '@openim/client-sdk';

const IMSDK = getSDK();

3. 登陆

import { getSDK, CbEvents, CallbackEvent } from '@openim/client-sdk';

const IMSDK = getSDK();

IMSDK.on(CbEvents.OnConnecting, handleConnecting);
IMSDK.on(CbEvents.OnConnectFailed, handleConnectFailed);
IMSDK.on(CbEvents.OnConnectSuccess, handleConnectSuccess);

IMSDK.login({
userID: 'IM user ID',
token: 'IM user token',
platformID: 5,
wsAddr: 'ws://your-server-ip:10001',
apiAddr: 'http://your-server-ip:10002',
});

function handleConnecting() {
// Connecting...
}

function handleConnectFailed({ errCode, errMsg }: CallbackEvent) {
// Connection failed ❌
console.log(errCode, errMsg);
}

function handleConnectSuccess() {
// Connection successful ✅
}

4. 收发消息

import { CbEvents, CallbackEvent, MessageItem } from '@openim/client-sdk';

// Listenfor new messages 📩
IMSDK.on(CbEvents.OnRecvNewMessages, handleNewMessages);

const message = (await IMSDK.createTextMessage('hello openim')).data;

IMSDK.sendMessage({
recvID: 'recipient user ID',
groupID: '',
message,
})
.then(() => {
// Message sent successfully ✉️
})
.catch(err => {
// Failed to send message ❌
console.log(err);
});

function handleNewMessages({ data }: CallbackEvent<MessageItem[]>) {
// New message list 📨
console.log(data);
}