UNPKG

node-nim

Version:

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

296 lines 9.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.V2NIMSignallingService = void 0; const loader_1 = __importDefault(require("../loader")); const eventemitter3_1 = require("eventemitter3"); class V2NIMSignallingService extends eventemitter3_1.EventEmitter { constructor() { super(); this.instance = new loader_1.default.V2NIMSignallingService({ emit: this.emit.bind(this) }); } /** * @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) { return new Promise((resolve, reject) => { this.instance.call(params, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @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) { return new Promise((resolve, reject) => { this.instance.callSetup(params, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 创建信令房间 * @param channelType 频道类型 * @param channelName 频道名称 * @param channelExtension 频道相关扩展字段 * @returns Promise<V2NIMSignallingChannelInfo> * @example * ```javascript * const result = await v2.signallingService.createRoom(channelType, channelName, channelExtension) * ``` */ createRoom(channelType, channelName, channelExtension) { return new Promise((resolve, reject) => { this.instance.createRoom(channelType, channelName, channelExtension, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 关闭信令房间接口 * @param channelId 频道 ID * @param offlineEnabled 是否支持离线推送 * @param serverExtension 服务器扩展字段 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.closeRoom(channelId, offlineEnabled, serverExtension) * ``` */ closeRoom(channelId, offlineEnabled, serverExtension) { return new Promise((resolve, reject) => { this.instance.closeRoom(channelId, offlineEnabled, serverExtension, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 加入信令房间接口 * @param params 加入房间参数 * @returns Promise<V2NIMSignallingRoomInfo> * @example * ```javascript * const result = await v2.signallingService.joinRoom({ * channelId: 'channelId', * serverExtension: 'serverExtension', * signallingConfig: { * // ... * }, * rtcConfig: { * // ... * } * }) * ``` */ joinRoom(params) { return new Promise((resolve, reject) => { this.instance.joinRoom(params, (result) => { resolve(result); }, (error) => { reject(error); }); }); } /** * @brief 离开信令房间接口 * @param channelId 频道 ID * @param offlineEnabled 是否支持离线推送 * @param serverExtension 服务器扩展字段 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.leaveRoom(channelId, offlineEnabled, serverExtension) * ``` */ leaveRoom(channelId, offlineEnabled, serverExtension) { return new Promise((resolve, reject) => { this.instance.leaveRoom(channelId, offlineEnabled, serverExtension, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 邀请成员加入信令房间接口 * @param params 邀请参数 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.invite({ * channelId: 'channelId', * inviteeAccountId: 'inviteeAccountId', * requestId: 'requestId', * serverExtension: 'serverExtension', * signallingConfig: { * // ... * }, * pushConfig: { * // ... * } * }) * ``` */ invite(params) { return new Promise((resolve, reject) => { this.instance.invite(params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 取消之前的邀请成员加入信令房间接口 * @param params 取消邀请参数 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.cancelInvite({ * channelId: 'channelId', * inviteeAccountId: 'inviteeAccountId', * requestId: 'requestId' * }) * ``` */ cancelInvite(params) { return new Promise((resolve, reject) => { this.instance.cancelInvite(params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 拒绝别人的邀请加入信令房间请求 * @param params 拒绝邀请参数 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.rejectInvite({ * channelId: 'channelId', * inviterAccountId: 'inviterAccountId', * requestId: 'requestId' * }) * ``` */ rejectInvite(params) { return new Promise((resolve, reject) => { this.instance.rejectInvite(params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 接受别人的邀请加入信令房间请求 * @param params 接受邀请参数 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.acceptInvite({ * channelId: 'channelId', * inviterAccountId: 'inviterAccountId', * requestId: 'requestId' * }) * ``` */ acceptInvite(params) { return new Promise((resolve, reject) => { this.instance.acceptInvite(params, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 发送自定义控制指令 * @param channelId 频道 ID * @param receiverAccountId 接受者账号 ID * @param serverExtension 服务器扩展字段 * @returns Promise<void> * @example * ```javascript * await v2.signallingService.sendControl(channelId, receiverAccountId, serverExtension) * ``` */ sendControl(channelId, receiverAccountId, serverExtension) { return new Promise((resolve, reject) => { this.instance.sendControl(channelId, receiverAccountId, serverExtension, () => { resolve(); }, (error) => { reject(error); }); }); } /** * @brief 根据频道名称查询频道房间信息 * @param channelName 频道名称 * @returns Promise<V2NIMSignallingRoomInfo> * @example * ```javascript * const result = await v2.signallingService.getRoomInfoByChannelName(channelName) * ``` */ getRoomInfoByChannelName(channelName) { return new Promise((resolve, reject) => { this.instance.getRoomInfoByChannelName(channelName, (result) => { resolve(result); }, (error) => { reject(error); }); }); } } exports.V2NIMSignallingService = V2NIMSignallingService; //# sourceMappingURL=v2_nim_signalling_service.js.map