diff --git a/assets/linux_arm64/libopenimsdk.so b/assets/linux_arm64/libopenimsdk.so index a84ca2d..f525496 100644 Binary files a/assets/linux_arm64/libopenimsdk.so and b/assets/linux_arm64/libopenimsdk.so differ diff --git a/assets/linux_x64/libopenimsdk.so b/assets/linux_x64/libopenimsdk.so index b0a99b4..7e10f5b 100644 Binary files a/assets/linux_x64/libopenimsdk.so and b/assets/linux_x64/libopenimsdk.so differ diff --git a/assets/mac_arm64/libopenimsdk.dylib b/assets/mac_arm64/libopenimsdk.dylib index 1cdc9ca..414c44c 100644 Binary files a/assets/mac_arm64/libopenimsdk.dylib and b/assets/mac_arm64/libopenimsdk.dylib differ diff --git a/assets/mac_x64/libopenimsdk.dylib b/assets/mac_x64/libopenimsdk.dylib index 2a06212..5551755 100644 Binary files a/assets/mac_x64/libopenimsdk.dylib and b/assets/mac_x64/libopenimsdk.dylib differ diff --git a/assets/win_x64/libopenimsdk.dll b/assets/win_x64/libopenimsdk.dll index a56bdee..d3a81cd 100644 Binary files a/assets/win_x64/libopenimsdk.dll and b/assets/win_x64/libopenimsdk.dll differ diff --git a/package.json b/package.json index 98166c5..c7671c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openim/electron-client-sdk", - "version": "1.1.0", + "version": "1.1.1", "description": "open im sdk for node", "source": "src/index.ts", "main": "lib/index.js", @@ -43,7 +43,7 @@ "devDependencies": { "@commitlint/cli": "^16.2.4", "@commitlint/config-conventional": "^16.2.4", - "@openim/wasm-client-sdk": "^3.8.2-beta.4", + "@openim/wasm-client-sdk": "^3.8.2", "@rollup/plugin-alias": "^5.1.0", "@rollup/plugin-terser": "^0.4.4", "@types/ffi-napi": "^4.0.10", @@ -80,7 +80,7 @@ "uuid": "^9.0.0" }, "peerDependencies": { - "@openim/wasm-client-sdk": "^3.8.2-beta.3", + "@openim/wasm-client-sdk": "^3.8.2", "electron": ">=12.0.0" } } diff --git a/src/core/index.ts b/src/core/index.ts index d992449..731276e 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -60,9 +60,16 @@ class OpenIMSDK listenerCallback: koffi.IKoffiRegisteredCallback; lib: koffi.IKoffiLib; enterprise: boolean; + basertc: boolean; - constructor(libPath: string, emitProxy?: EmitProxy, enterprise = false) { + constructor( + libPath: string, + emitProxy?: EmitProxy, + enterprise = false, + basertc = false + ) { super(); + this.basertc = basertc; this.enterprise = enterprise; this.lib = koffi.load(libPath); this.baseCallbackProto = koffi.proto('__stdcall', 'baseCallback', 'void', [ @@ -838,19 +845,7 @@ class OpenIMSDK ]); // advance - if (this.enterprise) { - 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'] - ); + if (this.basertc || this.enterprise) { this.libOpenIMSDK.set_signaling_listener = this.lib.func( '__stdcall', 'set_signaling_listener', @@ -927,6 +922,20 @@ class OpenIMSDK ['baseCallback *', 'str', 'str', 'str'] ); } + if (this.enterprise) { + 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'] + ); + } }; generateEventResponse = ( @@ -1075,7 +1084,7 @@ 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); - if (this.enterprise) { + if (this.enterprise || this.basertc) { this.libOpenIMSDK.set_signaling_listener(this.listenerCallback); } }; diff --git a/src/main.ts b/src/main.ts index f5e4599..6025ceb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,8 +5,13 @@ import OpenIMSDK from './core'; class OpenIMSDKMain { private sdk: OpenIMSDK; private webContents: WebContents[] = []; - constructor(path: string, webContent?: WebContents, enterprise = false) { - this.sdk = new OpenIMSDK(path, this.emitProxy, enterprise); + constructor( + path: string, + webContent?: WebContents, + enterprise = false, + basertc = false + ) { + this.sdk = new OpenIMSDK(path, this.emitProxy, enterprise, basertc); if (webContent) { this.webContents = [webContent]; }