@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
309 lines • 10.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2NIMClient = void 0;
const eventemitter3_1 = require("eventemitter3");
const v2_nim_login_service_1 = require("./v2_nim_login_service");
const v2_nim_conversation_group_service_1 = require("./v2_nim_conversation_group_service");
const v2_nim_conversation_service_1 = require("./v2_nim_conversation_service");
const v2_nim_local_conversation_service_1 = require("./v2_nim_local_conversation_service");
const v2_nim_message_service_1 = require("./v2_nim_message_service");
const v2_nim_notification_service_1 = require("./v2_nim_notification_service");
const v2_nim_storage_service_1 = require("./v2_nim_storage_service");
const v2_nim_team_service_1 = require("./v2_nim_team_service");
const v2_nim_setting_service_1 = require("./v2_nim_setting_service");
const v2_nim_friend_service_1 = require("./v2_nim_friend_service");
const v2_nim_user_service_1 = require("./v2_nim_user_service");
const v2_nim_ai_service_1 = require("./v2_nim_ai_service");
const v2_nim_signalling_service_1 = require("./v2_nim_signalling_service");
const v2_nim_subscription_service_1 = require("./v2_nim_subscription_service");
const v2_nim_passthrough_service_1 = require("./v2_nim_passthrough_service");
const v2_nim_statistics_service_1 = require("./v2_nim_statistics_service");
const v2_nim_utilities_1 = require("./v2_nim_utilities");
class V2NIMClient extends eventemitter3_1.EventEmitter {
constructor(sdk) {
super();
this.sdk = sdk;
try {
this.instance = new this.sdk.V2NIMClient({ emit: this.emit.bind(this) });
}
catch (e) {
console.error(e);
}
this.conversationIdUtil = null;
this.messageCreator = null;
this.messageConverter = null;
this.messageAttachmentCreator = null;
this.clientAntispamUtil = null;
this.storageUtil = null;
this.loginService = null;
this.conversationService = null;
this.localConversationService = null;
this.conversationGroupService = null;
this.messageService = null;
this.notificationService = null;
this.storageService = null;
this.teamService = null;
this.settingService = null;
this.userService = null;
this.friendService = null;
this.aiService = null;
this.signallingService = null;
this.subscriptionService = null;
this.passthroughService = null;
this.statisticsService = null;
}
/**
* @brief 初始化
* @param option - 初始化选项
* @returns V2NIMError | null
* @example
* ```javascript
* await client.init({
* appkey: 'your app key'
* })
* if (error) {
* console.error(error)
* }
* ```
*/
init(option) {
let error = this.instance.init(option);
if (error) {
return error;
}
this.conversationIdUtil = new v2_nim_utilities_1.V2NIMConversationIdUtil(this.sdk);
this.messageCreator = new v2_nim_utilities_1.V2NIMMessageCreator(this.sdk);
this.messageConverter = new v2_nim_utilities_1.V2NIMMessageConverter(this.sdk);
this.messageAttachmentCreator = new v2_nim_utilities_1.V2NIMMessageAttachmentCreator(this.sdk);
this.clientAntispamUtil = new v2_nim_utilities_1.V2NIMClientAntispamUtil(this.sdk);
this.storageUtil = new v2_nim_utilities_1.V2NIMStorageUtil(this.sdk);
this.loginService = new v2_nim_login_service_1.V2NIMLoginService(this.sdk);
this.localConversationService = new v2_nim_local_conversation_service_1.V2NIMLocalConversationService(this.sdk);
this.messageService = new v2_nim_message_service_1.V2NIMMessageService(this.sdk);
this.notificationService = new v2_nim_notification_service_1.V2NIMNotificationService(this.sdk);
this.storageService = new v2_nim_storage_service_1.V2NIMStorageService(this.sdk);
this.teamService = new v2_nim_team_service_1.V2NIMTeamService(this.sdk);
this.settingService = new v2_nim_setting_service_1.V2NIMSettingService(this.sdk);
this.userService = new v2_nim_user_service_1.V2NIMUserService(this.sdk);
this.friendService = new v2_nim_friend_service_1.V2NIMFriendService(this.sdk);
this.aiService = new v2_nim_ai_service_1.V2NIMAIService(this.sdk);
this.signallingService = new v2_nim_signalling_service_1.V2NIMSignallingService(this.sdk);
this.subscriptionService = new v2_nim_subscription_service_1.V2NIMSubscriptionService(this.sdk);
this.passthroughService = new v2_nim_passthrough_service_1.V2NIMPassthroughService(this.sdk);
this.statisticsService = new v2_nim_statistics_service_1.V2NIMStatisticsService(this.sdk);
try {
this.conversationService = new v2_nim_conversation_service_1.V2NIMConversationService(this.sdk);
this.conversationGroupService = new v2_nim_conversation_group_service_1.V2NIMConversationGroupService(this.sdk);
}
catch (e) { }
return null;
}
/**
* @brief 反初始化
* @returns V2NIMError | null
* @example
* ```javascript
* await client.uninit()
* if (error) {
* console.error(error)
* }
* ```
*/
uninit() {
this.conversationIdUtil = null;
this.messageCreator = null;
this.messageConverter = null;
this.messageAttachmentCreator = null;
this.clientAntispamUtil = null;
this.storageUtil = null;
this.loginService = null;
this.conversationService = null;
this.localConversationService = null;
this.conversationGroupService = null;
this.messageService = null;
this.notificationService = null;
this.storageService = null;
this.teamService = null;
this.settingService = null;
this.userService = null;
this.friendService = null;
this.aiService = null;
this.signallingService = null;
this.subscriptionService = null;
this.passthroughService = null;
this.statisticsService = null;
return this.instance.uninit();
}
/**
* @brief 更新 appKey
* @param appKey - 新的 App key
* @returns V2NIMError | null
* @example
* ```javascript
* await client.updateAppKey('your new app key')
* if (error) {
* console.error(error)
* }
* ```
*/
updateAppKey(appKey) {
return this.instance.updateAppKey(appKey);
}
/**
* @brief 获取登录服务
* @returns V2NIMLoginService
* @example
* ```javascript
* const loginService = client.getLoginService()
* ```
*/
getLoginService() {
return this.loginService;
}
/**
* @brief 获取会话服务
* @returns V2NIMConversationService
* @example
* ```javascript
* const conversationService = client.getConversationService()
* ```
*/
getConversationService() {
return this.conversationService;
}
/**
* @brief 获取本地会话服务
* @returns V2NIMLocalConversationService
* @since v10.8.0
* @example
* ```javascript
* const localConversationService = client.getLocalConversationService()
* ```
*/
getLocalConversationService() {
return this.localConversationService;
}
/**
* @brief 获取会话分组服务
* @returns V2NIMConversationGroupService
* @example
* ```javascript
* const conversationGroupService = client.getConversationGroupService()
* ```
*/
getConversationGroupService() {
return this.conversationGroupService;
}
/**
* @brief 获取消息服务
* @returns V2NIMMessageService
* @example
* ```javascript
* const messageService = client.getMessageService()
* ```
*/
getMessageService() {
return this.messageService;
}
/**
* @brief 获取ai服务
* @returns V2NIMAIService
* @example
* ```javascript
* const aiService = client.getAIService()
* ```
*/
getAIService() {
return this.aiService;
}
/**
* @brief 获取通知服务
* @returns V2NIMNotificationService
* @example
* ```javascript
* const notificationService = client.getNotificationService()
* ```
*/
getNotificationService() {
return this.notificationService;
}
/**
* @brief 获取存储服务
* @returns V2NIMStorageService
* @example
* ```javascript
* const storageService = client.getStorageService()
* ```
*/
getStorageService() {
return this.storageService;
}
/**
* @brief 获取群组服务
* @returns V2NIMTeamService
* @example
* ```javascript
* const teamService = client.getTeamService()
* ```
*/
getTeamService() {
return this.teamService;
}
/**
* @brief 获取设置服务
* @returns V2NIMSettingService
* @example
* ```javascript
* const settingService = client.getSettingService()
* ```
*/
getSettingService() {
return this.settingService;
}
/**
* @brief 获取独立信令服务
* @returns V2NIMSignallingService
* @example
* ```javascript
* const signallingService = client.getSignallingService()
* ```
*/
getSignallingService() {
return this.signallingService;
}
/**
* @brief 获取订阅服务
* @returns V2NIMSubscriptionService
* @example
* ```javascript
* const subscriptionService = client.getSubscriptionService()
* ```
*/
getSubscriptionService() {
return this.subscriptionService;
}
/**
* @brief 获取透传服务
* @returns V2NIMPassthroughService
* @example
* ```javascript
* const passthroughService = client.getPasseThroughService()
* ```
*/
getPasseThroughService() {
return this.passthroughService;
}
/**
* @brief 获取统计服务
* @returns V2NIMStatisticsService
* @example
* ```javascript
* const statisticsService = client.getStatisticsService()
* ```
*/
getStatisticsService() {
return this.statisticsService;
}
}
exports.V2NIMClient = V2NIMClient;
//# sourceMappingURL=v2_nim_client.js.map