node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
198 lines (197 loc) • 7.12 kB
TypeScript
import { V2NIMSignallingCallParams, V2NIMSignallingChannelInfo, V2NIMSignallingRoomInfo, V2NIMSignallingCallResult, V2NIMSignallingCallSetupParams, V2NIMSignallingCallSetupResult, V2NIMSignallingJoinParams, V2NIMSignallingInviteParams, V2NIMSignallingCancelInviteParams, V2NIMSignallingRejectInviteParams, V2NIMSignallingAcceptInviteParams, V2NIMSignallingEvent, V2NIMSignallingJoinResult } from 'ts/v2_def/v2_nim_struct_def';
import { V2NIMSignallingChannelType } from 'ts/v2_def/v2_nim_enum_def';
import { EventEmitter } from 'eventemitter3';
export declare interface V2NIMSignallingListener {
onlineEvent: [V2NIMSignallingEvent];
offlineEvent: [V2NIMSignallingEvent[]];
multiClientEvent: [V2NIMSignallingEvent];
syncRoomInfoList: [V2NIMSignallingRoomInfo[]];
}
export declare class V2NIMSignallingService extends EventEmitter<V2NIMSignallingListener> {
instance: any;
constructor();
/**
* @brief 直接呼叫对方加入房间
* @param params 呼叫参数
* @returns Promise<V2NIMSignallingCallResult>
* @example
* ```javascript
* const result = await v2.signallingService.call({
* calleeAccountId: 'calleeAccountId',
* requestId: 'requestId',
* channelType: 1,
* channelName: 'channelName',
* channelExtension: 'channelExtension',
* serverExtension: 'serverExtension',
* signallingConfig: {
* // ...
* },
* rtcConfig: {
* // ...
* }
* })
* ```
*/
call(params: V2NIMSignallingCallParams): Promise<V2NIMSignallingCallResult>;
/**
* @brief 呼叫建立,包括加入信令频道房间,同时接受对方呼叫
* @param params 建立呼叫参数
* @returns Promise<V2NIMSignallingCallSetupResult>
* @example
* ```javascript
* const result = await v2.signallingService.callSetup({
* channelId: 'channelId',
* callerAccountId: 'callerAccountId',
* requestId: 'requestId',
* serverExtension: 'serverExtension',
* signallingConfig: {
* // ...
* },
* rtcConfig: {
* // ...
* }
* })
* ```
*/
callSetup(params: V2NIMSignallingCallSetupParams): Promise<V2NIMSignallingCallSetupResult>;
/**
* @brief 创建信令房间
* @param channelType 频道类型
* @param channelName 频道名称
* @param channelExtension 频道相关扩展字段
* @returns Promise<V2NIMSignallingChannelInfo>
* @example
* ```javascript
* const result = await v2.signallingService.createRoom(channelType, channelName, channelExtension)
* ```
*/
createRoom(channelType: V2NIMSignallingChannelType, channelName: string, channelExtension: string): Promise<V2NIMSignallingChannelInfo>;
/**
* @brief 关闭信令房间接口
* @param channelId 频道 ID
* @param offlineEnabled 是否支持离线推送
* @param serverExtension 服务器扩展字段
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.closeRoom(channelId, offlineEnabled, serverExtension)
* ```
*/
closeRoom(channelId: string, offlineEnabled: boolean, serverExtension: string): Promise<void>;
/**
* @brief 加入信令房间接口
* @param params 加入房间参数
* @returns Promise<V2NIMSignallingRoomInfo>
* @example
* ```javascript
* const result = await v2.signallingService.joinRoom({
* channelId: 'channelId',
* serverExtension: 'serverExtension',
* signallingConfig: {
* // ...
* },
* rtcConfig: {
* // ...
* }
* })
* ```
*/
joinRoom(params: V2NIMSignallingJoinParams): Promise<V2NIMSignallingJoinResult>;
/**
* @brief 离开信令房间接口
* @param channelId 频道 ID
* @param offlineEnabled 是否支持离线推送
* @param serverExtension 服务器扩展字段
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.leaveRoom(channelId, offlineEnabled, serverExtension)
* ```
*/
leaveRoom(channelId: string, offlineEnabled: boolean, serverExtension: string): Promise<void>;
/**
* @brief 邀请成员加入信令房间接口
* @param params 邀请参数
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.invite({
* channelId: 'channelId',
* inviteeAccountId: 'inviteeAccountId',
* requestId: 'requestId',
* serverExtension: 'serverExtension',
* signallingConfig: {
* // ...
* },
* pushConfig: {
* // ...
* }
* })
* ```
*/
invite(params: V2NIMSignallingInviteParams): Promise<void>;
/**
* @brief 取消之前的邀请成员加入信令房间接口
* @param params 取消邀请参数
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.cancelInvite({
* channelId: 'channelId',
* inviteeAccountId: 'inviteeAccountId',
* requestId: 'requestId'
* })
* ```
*/
cancelInvite(params: V2NIMSignallingCancelInviteParams): Promise<void>;
/**
* @brief 拒绝别人的邀请加入信令房间请求
* @param params 拒绝邀请参数
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.rejectInvite({
* channelId: 'channelId',
* inviterAccountId: 'inviterAccountId',
* requestId: 'requestId'
* })
* ```
*/
rejectInvite(params: V2NIMSignallingRejectInviteParams): Promise<void>;
/**
* @brief 接受别人的邀请加入信令房间请求
* @param params 接受邀请参数
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.acceptInvite({
* channelId: 'channelId',
* inviterAccountId: 'inviterAccountId',
* requestId: 'requestId'
* })
* ```
*/
acceptInvite(params: V2NIMSignallingAcceptInviteParams): Promise<void>;
/**
* @brief 发送自定义控制指令
* @param channelId 频道 ID
* @param receiverAccountId 接受者账号 ID
* @param serverExtension 服务器扩展字段
* @returns Promise<void>
* @example
* ```javascript
* await v2.signallingService.sendControl(channelId, receiverAccountId, serverExtension)
* ```
*/
sendControl(channelId: string, receiverAccountId: string, serverExtension: string): Promise<void>;
/**
* @brief 根据频道名称查询频道房间信息
* @param channelName 频道名称
* @returns Promise<V2NIMSignallingRoomInfo>
* @example
* ```javascript
* const result = await v2.signallingService.getRoomInfoByChannelName(channelName)
* ```
*/
getRoomInfoByChannelName(channelName: string): Promise<V2NIMSignallingRoomInfo>;
}