@555platform/555-js-sdk 中文文档教程
555-js-sdk
555 JavaScript SDK
555-js-sdk 提供简单的 API 以使用 555 平台构建基于聊天的应用程序。
Getting started
npm i @555platform/555-js-sdk
Usage - Examples
import SDK from '@555platform/555-js-sdk';
使用
555token
、ConnectOptions
和MessageAdapter
const sdk = SDK.Client.create( userData.access_token, { url: '', automaticReconnect: true }, new SDK.QueuedMessageAdapter<SDK.MessagePayload>() ); sdk.chat.connect();
建立连接获取当前用户所属房间的列表。
const iter: SDK.Paginator< SDK.RoomDescriptor, SDK.RoomIterator > = await sdk.chat.getUserRoomDescriptors(0, 0);
来自 SDK 的回调和事件。
```javascript
SDK.Client.Chat.on( SDK.CMF.ChatServerEventTypes.RoomAdded, 这个.onRoomsChanged );SDK.Client.Chat.on( SDK.CMF.ChatServerEventTypes.UserJoinedRoom, 这个.onRoomsChanged );
SDK.Client.Chat.on( SDK.CMF.ChatServerEventTypes.UserLeftRoom, 这个.onRoomsChanged );
SDK.Client.Chat.on( SDK.CMF.ChatServerEventTypes.RoomReceivedMessage, 这个.onRoomReceivedMessage );
sdk.onTokenAboutToExpire(() =>; // renewToken 是你需要实现的函数来获取新的令牌 // 来自应用服务器 renewToken(renewedToken => sdk.updateToken(renewedToken)); ); ```
APIs
Connect
Methods
<static> create(accessToken, ConnectOptions, messageAdapter)
创建和初始化客户端的工厂方法
参数
Name | Type | Argument | Description |
---|---|---|---|
accessToken | string | required | 555 Platform access token |
options | ConnectOptions | required | Options to customize 555 Connection behavior |
messageAdapter | MessageAdapter | required | Message adapter class conforming to MessageAdapter interface |
返回
类型
客户端|错误
updateToken(accessToken)
更新当前令牌。 用于使用刷新的令牌更新客户端。
参数
Name | Type | Argument | Description |
---|---|---|---|
accessToken | string | required | 555 Platform access token |
返回
类型
void
connect()
连接到平台。
参数
Name | Type | Argument | Description |
---|---|---|---|
options | ConnectOptions | optional | Connection options |
返回
类型
Promise.
disconnect()
手动断开客户端。
返回
类型
Promise.
on(event, callback)
为事件注册处理程序。
参数
Name | Type | Description |
---|---|---|
event | Event | Event type |
callback | Function | Callback function |
AccessTokenAboutToExpire
在访问令牌到期前 5 分钟触发。
client.onTokenAboutToExpire(() =>
// renewToken is a function you need to implement to fetch new token
// from application server
renewToken(renewedToken => sdk.updateToken(renewedToken));
);
Options
ConnectOptions
这些选项是连接平台的参数。
类型
对象
属性
Name | Type | Argument |
---|---|---|
url | string | required |
protocol | string[] | optional |
automaticReconnect | boolean | optional |
reconnectionAttempts | number | optional |
reconnectDelay | number | optional |
reconnectBackoffAlgorithm | BackoffAlgorithm | optional |
pollInterval | number | optional |
requestTimeout | number | optional |
requestRetries | number | optional |
paginatorDefaultPageSize | number | optional |
nextPingDelay | number | optional |
pingWaitDelay | number | optional |
Chat
Methods
createRoom(options)
在服务器上以当前用户作为成员创建空间。
参数
Name | Type | Argument | Description |
---|---|---|---|
options | CreateRoomOptions | Create room options |
返回
类型
Promise.
getRoomById(roomId)
通过 ID 获取房间。
参数
Name | Type | Description |
---|---|---|
roomId | String | room ID |
返回值
类型
Promise.
getPublicRoomDescriptors()
获取公共房间列表。
返回
类型
Promis.
getUserRoomDescriptors()
获取当前用户所属房间的列表。
返回
Type
Promise.
getUser(userId)
返回用户 ID 的用户对象。
参数
Name | Type | Description |
---|---|---|
userId | String | User ID |
返回值
类型
Promise.
getCurrentUser()
返回当前登录用户的用户对象。
Returns
Type
Promise.
disconnect()
优雅地断开 SDK 与平台的连接
Returns
Type
Promise.
updateLastConsumedMessageIndex(index)
将上次使用的消息索引设置为新索引。
参数
Name | Type | Description |
---|---|---|
index | Number | Message index to set last read to |
返回值
类型
Promise.
Events
roomReceivedMessage
类型
对象
属性
Name | Type | Description |
---|---|---|
room | RoomDescriptor | Room descriptor with updated last message and consumed message index |
message | Message | Message object with the new message |
UserJoinedRoom
当用户加入房间时触发。
Type
User
UserLeftRoom
当用户离开房间时触发。
类型
用户
MessageUpdated
消息更新时触发。
Type
对象
Properties
Name | Type | Description |
---|---|---|
message | Message | Updated Message |
index | Number | Index of the updated message |
UserIsTyping
当房间中的用户开始键入时触发。
类型
用户
Options
CreateRoomOptions
这些选项是用于创建房间的参数。
类型
对象
属性
Name | Type | Argument |
---|---|---|
attributes | Object | optional |
friendlyName | String | required |
createdBy | string | required |
isPrivate | boolean | required |
isDirect | boolean | required |
isSMS | boolean | optional |
smsNumber | string | optional |
members | string[] | required |
Room
属性
Name | Type | Description |
---|---|---|
roomId | String | Room ID |
friendlyName | String | Room display name |
createdAt | Date | Date of creation |
createdBy | User | User who created the room |
updatedAt | Date | Date of update |
members | Array.<User> | Users who are members of this room |
isPrivate | Boolean | Is room private or public ('public' or 'private') |
isArchive | boolean | Is room archived |
isSms | boolean | Is sms |
smsNumber | string | sms number |
attributes | Object | Object with room's custom attributes |
lastMessageIndex | number | Index of last message |
lastConsumedMessageIndex | number | Index of last consumed message |
consumedMessageOffset | number | Number of unread messages by user this message is directed to |
Methods
inviteUsers(userId)
邀请用户到房间。
参数
Name | Type | Description |
---|---|---|
userId | String | User ID |
返回
类型
Promise.
leaveRoom(options)
离开房间。
返回
类型
Promise.
options
Properties
Name | Type | Argument |
---|---|---|
roomId | string | required |
removeUser(roomId, userId)
从房间中删除用户。
返回
类型
Promise.
archiveRoom()
存档房间。
返回
类型
Promise.
deleteRoom()
删除房间。
返回
类型
Promise.
updateRoom(room)
更新房间。
返回
类型
Promise.
updateMessage(messageId, messageUpdate)
更新消息。
返回
类型
Promise.
deleteMessage(options)
删除消息。
返回
类型
Promise.
options
Properties
Name | Type | Argument |
---|---|---|
roomId | string | required |
messageId | string | required |
removeUser(userId)
从该房间中删除用户。
参数
Name | Type | Description |
---|---|---|
userId | String | User ID |
返回
类型
Promise.
Events
UserJoinedRoom
当用户加入房间时触发。
Type
User
UserLeftRoom
当用户离开房间时触发。
类型
用户
MessageUpdated
消息更新时触发。
Type
对象
Properties
Name | Type | Description |
---|---|---|
message | Message | Updated Message |
index | Number | Index of the updated message |
UserIsTyping
当房间中的用户开始键入时触发。
类型
用户
RTC JS SDK
导入 JS SDK 如下:
import { JSSDK } from '@555platform/555-js-sdk';
并在 .ts 包装器中声明全局变量以通过窗口对象访问 Rtc 组件。
declare var window: any;
or
declare var IrisRtcSession: any;
JS SDK 文档可在此处获取
你可能也喜欢
- 121_heimaaaa 中文文档教程
- 5no-global 中文文档教程
- @128technology/react-select 中文文档教程
- @1uphealth-temp/provider-search 中文文档教程
- @2012mjm/telegram-tl-node 中文文档教程
- @24hr/progressive-loadable 中文文档教程
- @540deg/react-scripts 中文文档教程
- @8base-react/table-schema-provider 中文文档教程
- @99xt/ng2-fileupload 中文文档教程
- @9boogie/lotide 中文文档教程