OpenIM SDK for js extend cocos
npm install open-im-sdk-for-cocosopen-im-sdk is a pure javascript library. It doesn't store any information inside browser, instead it connects to oimws the proxy layer. This proxy layer is OpenIM SDK Core's websocket proxy(listening on port 10003 by deafult). open-im-sdk and open-im-sdk-wasm's interfaces are completely the same. Without modifying any code, your website can run in mini-app.
shell
npm install open-im-sdk --save
`
Usage ๐
The following examples demonstrate how to use the SDK. TypeScript is used, providing complete type hints.
$3
`typescript
import { OpenIMSDK } from 'open-im-sdk';
const OpenIM = new OpenIMSDK();
`
$3
> Note: You need to deploy OpenIM Server first, the default port of OpenIM Server is 10001, 10002, 10003.
`typescript
import { CbEvents } from 'open-im-sdk';
import type { WsResponse } from 'open-im-sdk';
OpenIM.on(CbEvents.OnConnecting, handleConnecting);
OpenIM.on(CbEvents.OnConnectFailed, handleConnectFailed);
OpenIM.on(CbEvents.OnConnectSuccess, handleConnectSuccess);
OpenIM.login({
userID: 'IM user ID',
token: 'IM user token',
platformID: 5,
wsAddr: 'ws://your-server-ip:10003',
apiAddr: 'http://your-server-ip:10002',
});
function handleConnecting() {
// Connecting...
}
function handleConnectFailed({ errCode, errMsg }: WsResponse) {
// Connection failed โ
console.log(errCode, errMsg);
}
function handleConnectSuccess() {
// Connection successful โ
}
`
To log into the IM server, you need to create an account and obtain a user ID and token. Refer to the access token documentation for details.
$3
OpenIM makes it easy to send and receive messages. By default, there is no restriction on having a friend relationship to send messages (although you can configure other policies on the server). If you know the user ID of the recipient, you can conveniently send a message to them.
`typescript
import { CbEvents } from 'open-im-sdk';
import type { WsResponse, MessageItem } from 'open-im-sdk';
// Listenfor new messages ๐ฉ
OpenIM.on(CbEvents.OnRecvNewMessages, handleNewMessages);
const message = (await OpenIM.createTextMessage('hello openim')).data;
OpenIM.sendMessage({
recvID: 'recipient user ID',
groupID: '',
message,
})
.then(() => {
// Message sent successfully โ๏ธ
})
.catch(err => {
// Failed to send message โ
console.log(err);
});
function handleNewMessages({ data }: WsResponse) {
// New message list ๐จ
console.log(data);
}
``