node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
296 lines • 9.16 kB
JavaScript
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
;