UNPKG

node-nim

Version:

NetEase IM nodejs wrapper based on NetEase IM C++ SDK

198 lines (197 loc) 7.12 kB
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>; }