chore: add assets & handle enterprise func
This commit is contained in:
BIN
assets/linux_arm64/libopenimsdk.so
Normal file
BIN
assets/linux_arm64/libopenimsdk.so
Normal file
Binary file not shown.
BIN
assets/linux_x64/libopenimsdk.so
Normal file
BIN
assets/linux_x64/libopenimsdk.so
Normal file
Binary file not shown.
0
assets/mac_arm64/.gitkeep
Normal file
0
assets/mac_arm64/.gitkeep
Normal file
BIN
assets/mac_arm64/libopenimsdk.dylib
Executable file → Normal file
BIN
assets/mac_arm64/libopenimsdk.dylib
Executable file → Normal file
Binary file not shown.
BIN
assets/mac_x64/libopenimsdk.dylib
Normal file
BIN
assets/mac_x64/libopenimsdk.dylib
Normal file
Binary file not shown.
BIN
assets/win_ia32/libopenimsdk.dll
Normal file
BIN
assets/win_ia32/libopenimsdk.dll
Normal file
Binary file not shown.
BIN
assets/win_x64/libopenimsdk.dll
Normal file
BIN
assets/win_x64/libopenimsdk.dll
Normal file
Binary file not shown.
10
package-lock.json
generated
10
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@openim/node-client-sdk",
|
||||
"version": "1.0.7",
|
||||
"name": "@openim/electron-client-sdk",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@openim/node-client-sdk",
|
||||
"version": "1.0.7",
|
||||
"name": "@openim/electron-client-sdk",
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"koffi": "^2.8.0",
|
||||
@@ -44,7 +44,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"electron": ">=12.0.0",
|
||||
"open-im-sdk-wasm": "^3.5.3-alpha.2"
|
||||
"open-im-sdk-wasm": "^3.5.3-alpha.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@aashutoshrathi/word-wrap": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@openim/electron-client-sdk",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"description": "open im sdk for node",
|
||||
"source": "src/index.ts",
|
||||
"main": "lib/index.js",
|
||||
|
||||
@@ -45,9 +45,11 @@ class OpenIMSDK
|
||||
sendMessageCallbackProto: koffi.IKoffiCType;
|
||||
listenerCallback: koffi.IKoffiRegisteredCallback;
|
||||
lib: koffi.IKoffiLib;
|
||||
enterprise: boolean;
|
||||
|
||||
constructor(libPath: string, emitProxy?: EmitProxy) {
|
||||
constructor(libPath: string, emitProxy?: EmitProxy, enterprise = false) {
|
||||
super();
|
||||
this.enterprise = enterprise;
|
||||
this.lib = koffi.load(libPath);
|
||||
this.baseCallbackProto = koffi.proto('__stdcall', 'baseCallback', 'void', [
|
||||
'str',
|
||||
@@ -67,12 +69,6 @@ class OpenIMSDK
|
||||
'void',
|
||||
['int', 'str']
|
||||
);
|
||||
|
||||
if (emitProxy) {
|
||||
// @ts-ignore eslint-disable-next-line
|
||||
this.emit = emitProxy;
|
||||
}
|
||||
|
||||
this.listenerCallback = koffi.register(
|
||||
(event: NativeEvent, data: string) => {
|
||||
const cbEvent = eventMapping[event];
|
||||
@@ -82,6 +78,22 @@ class OpenIMSDK
|
||||
koffi.pointer(listenerCallbackProto)
|
||||
);
|
||||
|
||||
if (emitProxy) {
|
||||
// @ts-ignore eslint-disable-next-line
|
||||
this.emit = emitProxy;
|
||||
}
|
||||
|
||||
this.registerFunc();
|
||||
|
||||
Object.assign(this, setupUserModule(this));
|
||||
Object.assign(this, setupFriendModule(this));
|
||||
Object.assign(this, setupGroupModule(this));
|
||||
Object.assign(this, setupConversationModule(this));
|
||||
Object.assign(this, setupMessageModule(this));
|
||||
Object.assign(this, setupSignalingModule(this));
|
||||
}
|
||||
|
||||
registerFunc = () => {
|
||||
this.libOpenIMSDK.set_group_listener = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_group_listener',
|
||||
@@ -124,12 +136,6 @@ class OpenIMSDK
|
||||
'void',
|
||||
['listenerCallback *']
|
||||
);
|
||||
this.libOpenIMSDK.set_signaling_listener = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_signaling_listener',
|
||||
'void',
|
||||
['listenerCallback *']
|
||||
);
|
||||
this.libOpenIMSDK.init_sdk = this.lib.func(
|
||||
'__stdcall',
|
||||
'init_sdk',
|
||||
@@ -338,30 +344,6 @@ class OpenIMSDK
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
this.libOpenIMSDK.set_conversation_msg_destruct_time = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_conversation_msg_destruct_time',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'long long']
|
||||
);
|
||||
this.libOpenIMSDK.set_conversation_is_msg_destruct = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_conversation_is_msg_destruct',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'int']
|
||||
);
|
||||
this.libOpenIMSDK.send_group_message_read_receipt = this.lib.func(
|
||||
'__stdcall',
|
||||
'send_group_message_read_receipt',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str']
|
||||
);
|
||||
this.libOpenIMSDK.get_group_message_reader_list = this.lib.func(
|
||||
'__stdcall',
|
||||
'get_group_message_reader_list',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str', 'int', 'int', 'int']
|
||||
);
|
||||
this.libOpenIMSDK.hide_conversation = this.lib.func(
|
||||
'__stdcall',
|
||||
'hide_conversation',
|
||||
@@ -847,118 +829,6 @@ class OpenIMSDK
|
||||
'int',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
this.libOpenIMSDK.signaling_invite_in_group = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_invite_in_group',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_invite = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_invite',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_accept = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_accept',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_reject = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_reject',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_cancel = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_cancel',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_hung_up = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_hung_up',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_room_by_group_id = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_room_by_group_id',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_token_by_room_id = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_token_by_room_id',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.get_signaling_invitation_info_start_app = this.lib.func(
|
||||
'__stdcall',
|
||||
'get_signaling_invitation_info_start_app',
|
||||
'void',
|
||||
['baseCallback *', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_create_meeting = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_create_meeting',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_join_meeting = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_join_meeting',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_update_meeting_info = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_update_meeting_info',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_close_room = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_close_room',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_meetings = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_meetings',
|
||||
'void',
|
||||
['baseCallback *', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_operate_stream = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_operate_stream',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str', 'str', 'int', 'int']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_send_custom_signal = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_send_custom_signal',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.upload_file = this.lib.func(
|
||||
'__stdcall',
|
||||
'upload_file',
|
||||
@@ -966,13 +836,151 @@ class OpenIMSDK
|
||||
['baseCallback *', 'str', 'str', 'listenerCallback *']
|
||||
);
|
||||
|
||||
Object.assign(this, setupUserModule(this));
|
||||
Object.assign(this, setupFriendModule(this));
|
||||
Object.assign(this, setupGroupModule(this));
|
||||
Object.assign(this, setupConversationModule(this));
|
||||
Object.assign(this, setupMessageModule(this));
|
||||
Object.assign(this, setupSignalingModule(this));
|
||||
}
|
||||
// advance
|
||||
if (this.enterprise) {
|
||||
this.libOpenIMSDK.set_conversation_msg_destruct_time = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_conversation_msg_destruct_time',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'long long']
|
||||
);
|
||||
this.libOpenIMSDK.set_conversation_is_msg_destruct = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_conversation_is_msg_destruct',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'int']
|
||||
);
|
||||
this.libOpenIMSDK.send_group_message_read_receipt = this.lib.func(
|
||||
'__stdcall',
|
||||
'send_group_message_read_receipt',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str']
|
||||
);
|
||||
this.libOpenIMSDK.get_group_message_reader_list = this.lib.func(
|
||||
'__stdcall',
|
||||
'get_group_message_reader_list',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str', 'int', 'int', 'int']
|
||||
);
|
||||
this.libOpenIMSDK.set_signaling_listener = this.lib.func(
|
||||
'__stdcall',
|
||||
'set_signaling_listener',
|
||||
'void',
|
||||
['listenerCallback *']
|
||||
);
|
||||
this.libOpenIMSDK.signaling_invite_in_group = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_invite_in_group',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_invite = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_invite',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_accept = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_accept',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_reject = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_reject',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_cancel = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_cancel',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_hung_up = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_hung_up',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_room_by_group_id = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_room_by_group_id',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_token_by_room_id = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_token_by_room_id',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.get_signaling_invitation_info_start_app = this.lib.func(
|
||||
'__stdcall',
|
||||
'get_signaling_invitation_info_start_app',
|
||||
'void',
|
||||
['baseCallback *', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_create_meeting = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_create_meeting',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_join_meeting = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_join_meeting',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_update_meeting_info = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_update_meeting_info',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_close_room = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_close_room',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_get_meetings = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_get_meetings',
|
||||
'void',
|
||||
['baseCallback *', 'str']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_operate_stream = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_operate_stream',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str', 'str', 'int', 'int']
|
||||
);
|
||||
|
||||
this.libOpenIMSDK.signaling_send_custom_signal = this.lib.func(
|
||||
'__stdcall',
|
||||
'signaling_send_custom_signal',
|
||||
'void',
|
||||
['baseCallback *', 'str', 'str', 'str']
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
generateEventResponse = (data: unknown, operationID = ''): BaseResponse => {
|
||||
let errCode = 0;
|
||||
@@ -1111,7 +1119,9 @@ class OpenIMSDK
|
||||
this.libOpenIMSDK.set_advanced_msg_listener(this.listenerCallback);
|
||||
this.libOpenIMSDK.set_batch_msg_listener(this.listenerCallback);
|
||||
this.libOpenIMSDK.set_custom_business_listener(this.listenerCallback);
|
||||
this.libOpenIMSDK.set_signaling_listener(this.listenerCallback);
|
||||
if (this.enterprise) {
|
||||
this.libOpenIMSDK.set_signaling_listener(this.listenerCallback);
|
||||
}
|
||||
};
|
||||
|
||||
initSDK = (param: InitConfig, opid = uuidV4()) =>
|
||||
@@ -1275,16 +1285,16 @@ class OpenIMSDK
|
||||
createForwardMessage!: MessageModuleApi['createForwardMessage'];
|
||||
createImageMessage!: MessageModuleApi['createImageMessage'];
|
||||
createImageMessageFromFullPath!: MessageModuleApi['createImageMessageFromFullPath'];
|
||||
createImageMessageByUrl!: MessageModuleApi['createImageMessageByUrl'];
|
||||
createImageMessageByURL!: MessageModuleApi['createImageMessageByURL'];
|
||||
createVideoMessage!: MessageModuleApi['createVideoMessage'];
|
||||
createVideoMessageFromFullPath!: MessageModuleApi['createVideoMessageFromFullPath'];
|
||||
createVideoMessageByUrl!: MessageModuleApi['createVideoMessageByUrl'];
|
||||
createVideoMessageByURL!: MessageModuleApi['createVideoMessageByURL'];
|
||||
createSoundMessage!: MessageModuleApi['createSoundMessage'];
|
||||
createSoundMessageFromFullPath!: MessageModuleApi['createSoundMessageFromFullPath'];
|
||||
createSoundMessageByUrl!: MessageModuleApi['createSoundMessageByUrl'];
|
||||
createSoundMessageByURL!: MessageModuleApi['createSoundMessageByURL'];
|
||||
createFileMessage!: MessageModuleApi['createFileMessage'];
|
||||
createFileMessageFromFullPath!: MessageModuleApi['createFileMessageFromFullPath'];
|
||||
createFileMessageByUrl!: MessageModuleApi['createFileMessageByUrl'];
|
||||
createFileMessageByURL!: MessageModuleApi['createFileMessageByURL'];
|
||||
getAdvancedHistoryMessageList!: MessageModuleApi['getAdvancedHistoryMessageList'];
|
||||
getAdvancedHistoryMessageListReverse!: MessageModuleApi['getAdvancedHistoryMessageListReverse'];
|
||||
sendMessage!: MessageModuleApi['sendMessage'];
|
||||
|
||||
@@ -138,7 +138,7 @@ export function setupMessageModule(openIMSDK: OpenIMSDK) {
|
||||
)
|
||||
),
|
||||
|
||||
createImageMessageByUrl: (params: ImageMsgParamsByURL, opid = uuidV4()) =>
|
||||
createImageMessageByURL: (params: ImageMsgParamsByURL, opid = uuidV4()) =>
|
||||
openIMSDK.asyncRetunWrap<MessageItem>(
|
||||
opid,
|
||||
openIMSDK.libOpenIMSDK.create_image_message_by_url(
|
||||
@@ -177,7 +177,7 @@ export function setupMessageModule(openIMSDK: OpenIMSDK) {
|
||||
)
|
||||
),
|
||||
|
||||
createVideoMessageByUrl: (params: VideoMsgParamsByURL, opid = uuidV4()) =>
|
||||
createVideoMessageByURL: (params: VideoMsgParamsByURL, opid = uuidV4()) =>
|
||||
openIMSDK.asyncRetunWrap<MessageItem>(
|
||||
opid,
|
||||
openIMSDK.libOpenIMSDK.create_video_message_by_url(
|
||||
@@ -209,7 +209,7 @@ export function setupMessageModule(openIMSDK: OpenIMSDK) {
|
||||
)
|
||||
),
|
||||
|
||||
createSoundMessageByUrl: (params: SoundMsgParamsByURL, opid = uuidV4()) =>
|
||||
createSoundMessageByURL: (params: SoundMsgParamsByURL, opid = uuidV4()) =>
|
||||
openIMSDK.asyncRetunWrap<MessageItem>(
|
||||
opid,
|
||||
openIMSDK.libOpenIMSDK.create_sound_message_by_url(
|
||||
@@ -241,7 +241,7 @@ export function setupMessageModule(openIMSDK: OpenIMSDK) {
|
||||
)
|
||||
),
|
||||
|
||||
createFileMessageByUrl: (params: FileMsgParamsByURL, opid = uuidV4()) =>
|
||||
createFileMessageByURL: (params: FileMsgParamsByURL, opid = uuidV4()) =>
|
||||
openIMSDK.asyncRetunWrap<MessageItem>(
|
||||
opid,
|
||||
openIMSDK.libOpenIMSDK.create_file_message_by_url(
|
||||
@@ -508,7 +508,7 @@ export interface MessageModuleApi {
|
||||
imagePath: string,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
createImageMessageByUrl: (
|
||||
createImageMessageByURL: (
|
||||
params: ImageMsgParamsByURL,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
@@ -520,7 +520,7 @@ export interface MessageModuleApi {
|
||||
params: VideoMsgByPathParams,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
createVideoMessageByUrl: (
|
||||
createVideoMessageByURL: (
|
||||
params: VideoMsgParamsByURL,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
@@ -532,7 +532,7 @@ export interface MessageModuleApi {
|
||||
params: SoundMsgByPathParams,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
createSoundMessageByUrl: (
|
||||
createSoundMessageByURL: (
|
||||
params: SoundMsgParamsByURL,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
@@ -544,7 +544,7 @@ export interface MessageModuleApi {
|
||||
params: FileMsgByPathParams,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
createFileMessageByUrl: (
|
||||
createFileMessageByURL: (
|
||||
params: FileMsgParamsByURL,
|
||||
opid?: string
|
||||
) => Promise<BaseResponse<MessageItem>>;
|
||||
|
||||
@@ -5,8 +5,8 @@ import OpenIMSDK from './core';
|
||||
class OpenIMSDKMain {
|
||||
private sdk: OpenIMSDK;
|
||||
private webContents: WebContents[] = [];
|
||||
constructor(path: string, webContent?: WebContents) {
|
||||
this.sdk = new OpenIMSDK(path, this.emitProxy);
|
||||
constructor(path: string, webContent?: WebContents, enterprise = false) {
|
||||
this.sdk = new OpenIMSDK(path, this.emitProxy, enterprise);
|
||||
if (webContent) {
|
||||
this.webContents = [webContent];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user