From 8b4b21e18d8122ec4031134ba818b4c6f6d6c31a Mon Sep 17 00:00:00 2001 From: Brett <> Date: Fri, 29 Dec 2023 20:19:29 +0800 Subject: [PATCH] feat: https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.5.0-rc.1 --- CHANGELOG.md | 4 ++ android/build.gradle | 2 +- .../manager/ConversationManager.java | 17 +++++ .../manager/FriendshipManager.java | 12 +++- .../manager/GroupManager.java | 3 +- .../manager/UserManager.java | 7 ++ example/android/build.gradle | 2 +- example/ios/Podfile.lock | 29 ++++++++ example/pubspec.lock | 64 +++++++++--------- ios/.gitignore | 38 ----------- ios/Assets/.gitkeep | 0 ios/Classes/Module/ConversationManager.swift | 10 +++ ios/Classes/Module/FriendshipManager.swift | 7 +- ios/Classes/Module/GroupManager.swift | 3 +- ios/Classes/Module/UserManager.swift | 5 ++ ios/flutter_openim_sdk.podspec | 2 +- lib/.DS_Store | Bin 6148 -> 6148 bytes lib/src/manager/im_conversation_manager.dart | 31 +++++++++ lib/src/manager/im_friendship_manager.dart | 16 +++++ lib/src/manager/im_group_manager.dart | 23 +++---- lib/src/manager/im_user_manager.dart | 12 ++++ lib/src/openim.dart | 2 +- pubspec.yaml | 2 +- 23 files changed, 198 insertions(+), 93 deletions(-) create mode 100644 example/ios/Podfile.lock delete mode 100644 ios/.gitignore delete mode 100644 ios/Assets/.gitkeep diff --git a/CHANGELOG.md b/CHANGELOG.md index b671471..3d92398 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.5.0-rc.1 + +- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.5.0-rc.1) + ## 3.4.0+1 - Adjust some fields and APIs. diff --git a/android/build.gradle b/android/build.gradle index 58d9765..8945760 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -52,5 +52,5 @@ android { dependencies { // 本地依赖,现将aar复制到libs/io/openim/core-sdk/0.0.1/ 下,命名core-sdk-0.0.1.aar // implementation 'io.openim:core-sdk:0.0.1@aar' - implementation 'io.openim:core-sdk:3.4.0@aar' + implementation 'io.openim:core-sdk:3.5.0-rc1@aar' } \ No newline at end of file diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java index 631746a..df4797f 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java @@ -196,4 +196,21 @@ public class ConversationManager extends BaseManager { value(methodCall, "operationID") ); } + + public void searchConversation(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.searchConversation( + new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + value(methodCall, "name") + ); + } + + public void setConversationEx(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.setConversationEx( + new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + value(methodCall, "conversationID"), + value(methodCall, "ex") + ); + } } diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/FriendshipManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/FriendshipManager.java index 5f28deb..01d0ffb 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/FriendshipManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/FriendshipManager.java @@ -64,7 +64,8 @@ public class FriendshipManager extends BaseManager { Open_im_sdk.addBlack( new OnBaseListener(result, methodCall), value(methodCall, "operationID"), - value(methodCall, "userID") + value(methodCall, "userID"), + value(methodCall, "ex") ); } @@ -122,4 +123,13 @@ public class FriendshipManager extends BaseManager { jsonValue(methodCall, "searchParam") ); } + + public void setFriendsEx(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.setFriendsEx( + new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + jsonValue(methodCall, "friendIDs"), + value(methodCall, "ex") + ); + } } diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java index 3e6f609..5af02ef 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java @@ -92,7 +92,8 @@ public class GroupManager extends BaseManager { value(methodCall, "operationID"), value(methodCall, "groupID"), value(methodCall, "reason"), - value(methodCall, "joinSource") + value(methodCall, "joinSource"), + value(methodCall, "ex") ); } diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/UserManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/UserManager.java index 4775dc4..7f34df8 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/UserManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/UserManager.java @@ -69,4 +69,11 @@ public class UserManager extends BaseManager { jsonValue(methodCall, "userIDs"), value(methodCall, "groupID")); } + + public void setSelfInfoEx(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.setSelfInfoEx( + new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + jsonValue(methodCall)); + } } diff --git a/example/android/build.gradle b/example/android/build.gradle index d2e9080..9131719 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -30,6 +30,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock new file mode 100644 index 0000000..6a68a1e --- /dev/null +++ b/example/ios/Podfile.lock @@ -0,0 +1,29 @@ +PODS: + - Flutter (1.0.0) + - flutter_openim_sdk (0.0.1): + - Flutter + - OpenIMSDKCore (= 3.4.0) + - OpenIMSDKCore (3.4.0) + +DEPENDENCIES: + - Flutter (from `Flutter`) + - flutter_openim_sdk (from `.symlinks/plugins/flutter_openim_sdk/ios`) + +SPEC REPOS: + trunk: + - OpenIMSDKCore + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + flutter_openim_sdk: + :path: ".symlinks/plugins/flutter_openim_sdk/ios" + +SPEC CHECKSUMS: + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + flutter_openim_sdk: 54d1c836ff60ebb5b99d246521ef0cb1d834fb13 + OpenIMSDKCore: 47e0e830afe0d2dd905ad3dda255e6a6d26a555c + +PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d + +COCOAPODS: 1.13.0 diff --git a/example/pubspec.lock b/example/pubspec.lock index d233bc1..1dcb969 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: async - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.flutter-io.cn" source: hosted - version: "2.10.0" + version: "2.11.0" boolean_selector: dependency: transitive description: @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: characters - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.1" + version: "1.3.0" clock: dependency: transitive description: @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.flutter-io.cn" source: hosted - version: "1.17.0" + version: "1.18.0" cupertino_icons: dependency: "direct main" description: @@ -68,52 +68,44 @@ packages: path: ".." relative: true source: path - version: "3.4.0" + version: "3.5.0-rc.1" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - js: - dependency: transitive - description: - name: js - sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.6.5" matcher: dependency: transitive description: name: matcher - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.13" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.flutter-io.cn" source: hosted - version: "1.8.0" + version: "1.10.0" path: dependency: transitive description: name: path - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.flutter-io.cn" source: hosted - version: "1.8.2" + version: "1.8.3" sky_engine: dependency: transitive description: flutter @@ -123,26 +115,26 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.flutter-io.cn" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.flutter-io.cn" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -163,10 +155,10 @@ packages: dependency: transitive description: name: test_api - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.flutter-io.cn" source: hosted - version: "0.4.16" + version: "0.6.1" vector_math: dependency: transitive description: @@ -175,6 +167,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.3.0" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=1.20.0" diff --git a/ios/.gitignore b/ios/.gitignore deleted file mode 100644 index 0c88507..0000000 --- a/ios/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -.generated/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/Generated.xcconfig -/Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/ios/Assets/.gitkeep b/ios/Assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/ios/Classes/Module/ConversationManager.swift b/ios/Classes/Module/ConversationManager.swift index 37f9512..59390be 100644 --- a/ios/Classes/Module/ConversationManager.swift +++ b/ios/Classes/Module/ConversationManager.swift @@ -27,6 +27,8 @@ public class ConversationManager: BaseServiceManager { self["setGlobalRecvMessageOpt"] = setGlobalRecvMessageOpt self["setConversationBurnDuration"] = setConversationBurnDuration self["hideAllConversations"] = hideAllConversations + self["searchConversation"] = searchConversation + self["setConversationEx"] = setConversationEx } func setConversationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -117,6 +119,14 @@ public class ConversationManager: BaseServiceManager { func hideAllConversations(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ Open_im_sdkHideAllConversations(BaseCallback(result: result), methodCall[string: "operationID"]) } + + func searchConversation(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkSearchConversation(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "name"]) + } + + func setConversationEx(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkSetConversationEx(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"], methodCall[jsonString: "ex"]) + } } diff --git a/ios/Classes/Module/FriendshipManager.swift b/ios/Classes/Module/FriendshipManager.swift index 88b6a4b..13b43b4 100644 --- a/ios/Classes/Module/FriendshipManager.swift +++ b/ios/Classes/Module/FriendshipManager.swift @@ -20,6 +20,7 @@ public class FriendshipManager: BaseServiceManager { self["acceptFriendApplication"] = acceptFriendApplication self["refuseFriendApplication"] = refuseFriendApplication self["searchFriends"] = searchFriends + self["setFriendsEx"] = setFriendsEx } func setFriendListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -52,7 +53,7 @@ public class FriendshipManager: BaseServiceManager { } func addBlacklist(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ - Open_im_sdkAddBlack(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"]) + Open_im_sdkAddBlack(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"], methodCall[string: "ex"]) } func getBlacklist(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -82,6 +83,10 @@ public class FriendshipManager: BaseServiceManager { func searchFriends(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ Open_im_sdkSearchFriends(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "searchParam"]) } + + func setFriendsEx(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkSetFriendsEx(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "friendIDs"], methodCall[string: "ex"]) + } } public class FriendshipListener: NSObject, Open_im_sdk_callbackOnFriendshipListenerProtocol { diff --git a/ios/Classes/Module/GroupManager.swift b/ios/Classes/Module/GroupManager.swift index 276b10d..a1a903b 100644 --- a/ios/Classes/Module/GroupManager.swift +++ b/ios/Classes/Module/GroupManager.swift @@ -78,7 +78,8 @@ public class GroupManager: BaseServiceManager { } func joinGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ - Open_im_sdkJoinGroup(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"], methodCall[string: "reason"], methodCall[int32: "joinSource"]) + Open_im_sdkJoinGroup(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"], methodCall[string: + "reason"], methodCall[int32: "joinSource"], methodCall[jsonString: "ex"]) } func quitGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ diff --git a/ios/Classes/Module/UserManager.swift b/ios/Classes/Module/UserManager.swift index 194f6ac..e64b616 100644 --- a/ios/Classes/Module/UserManager.swift +++ b/ios/Classes/Module/UserManager.swift @@ -14,6 +14,7 @@ public class UserManager: BaseServiceManager { self["getSubscribeUsersStatus"] = getSubscribeUsersStatus self["getUserStatus"] = getUserStatus self["getUsersInfoWithCache"] = getUsersInfoWithCache + self["setSelfInfoEx"] = setSelfInfoEx } func setUserListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -53,6 +54,10 @@ public class UserManager: BaseServiceManager { Open_im_sdkGetUsersInfoWithCache(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "userIDs"], methodCall[string: "groupID"]) } + + func setSelfInfoEx(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkSetSelfInfoEx(BaseCallback(result: result), methodCall[string: "operationID"], methodCall.toJsonString()) + } } public class UserListener: NSObject, Open_im_sdk_callbackOnUserListenerProtocol { diff --git a/ios/flutter_openim_sdk.podspec b/ios/flutter_openim_sdk.podspec index dcd25fa..cc7e03e 100644 --- a/ios/flutter_openim_sdk.podspec +++ b/ios/flutter_openim_sdk.podspec @@ -17,7 +17,7 @@ A new Flutter project. s.dependency 'Flutter' s.platform = :ios, '11.0' - s.dependency 'OpenIMSDKCore','3.4.0' + s.dependency 'OpenIMSDKCore','3.5.0-rc1' s.static_framework = true # s.vendored_frameworks = 'Framework/*.framework' # Flutter.framework does not contain a i386 slice. diff --git a/lib/.DS_Store b/lib/.DS_Store index 84ae10868cb5126a0e544d50171cf98742374192..7954306071cc74de10b8ed71e2f5b2c0482a01d6 100644 GIT binary patch delta 334 zcmZoMXfc=|#>B`mu~2NHo}w@Z0|Nsi1A_nqLt;+4VQ_MOZo$ODmGvNDRt7zWOokMO zRD={z6bQIufdrClZoZ34QcivnP?Y1oV9@fzQ;s^Kt4JZBq96leIZz)E)H{GkW`<&h zB8Fs`yFfw=%&cq(8DxtWit$Wb1+f^aFE<}yDW)ung)ASyhQo=?{md0C8yngfH?wo_ ca{xnYb0hP2=E?jbmY{$E1sK!j0Ff=s03vQl> searchConversations( + String name, { + String? operationID, + }) { + return _channel + .invokeMethod( + 'searchConversations', + _buildParam({ + 'name': name, + "operationID": Utils.checkOperationID(operationID), + })) + .then((value) => Utils.toList(value, (map) => ConversationInfo.fromJson(map))); + } + + Future> setConversationEx( + String conversationID, { + String? ex, + String? operationID, + }) { + return _channel + .invokeMethod( + 'setConversationEx', + _buildParam({ + 'conversationID': conversationID, + 'ex': ex, + "operationID": Utils.checkOperationID(operationID), + })) + .then((value) => Utils.toList(value, (map) => ConversationInfo.fromJson(map))); + } + /// Custom Sort for Conversation List List simpleSort(List list) => list ..sort((a, b) { diff --git a/lib/src/manager/im_friendship_manager.dart b/lib/src/manager/im_friendship_manager.dart index 722490e..25bf902 100644 --- a/lib/src/manager/im_friendship_manager.dart +++ b/lib/src/manager/im_friendship_manager.dart @@ -100,12 +100,14 @@ class FriendshipManager { /// [userID] Friend's ID to be added to the blacklist Future addBlacklist({ required String userID, + String? ex, String? operationID, }) => _channel.invokeMethod( 'addBlacklist', _buildParam({ "userID": userID, + "ex": ex, "operationID": Utils.checkOperationID(operationID), })); @@ -217,6 +219,20 @@ class FriendshipManager { })) .then((value) => Utils.toList(value, (map) => SearchFriendsInfo.fromJson(map))); + Future setFriendsEx( + List friendIDs, { + String? ex, + String? operationID, + }) { + return _channel.invokeMethod( + 'setFriendsEx', + _buildParam({ + "friendIDs": friendIDs, + "ex": ex, + "operationID": Utils.checkOperationID(operationID), + })); + } + static Map _buildParam(Map param) { param["ManagerName"] = "friendshipManager"; return param; diff --git a/lib/src/manager/im_group_manager.dart b/lib/src/manager/im_group_manager.dart index 84a873c..4e6a3dc 100644 --- a/lib/src/manager/im_group_manager.dart +++ b/lib/src/manager/im_group_manager.dart @@ -207,20 +207,15 @@ class GroupManager { /// Apply to join a group, requiring approval from an administrator or the group. /// [joinSource] 2: Invited, 3: Searched, 4: Using a QR code - Future joinGroup({ - required String groupID, - String? reason, - String? operationID, - int joinSource = 3, - }) => - _channel.invokeMethod( - 'joinGroup', - _buildParam({ - 'groupID': groupID, - 'reason': reason, - 'joinSource': joinSource, - 'operationID': Utils.checkOperationID(operationID), - })); + Future joinGroup({required String groupID, String? reason, String? operationID, int joinSource = 3, String? ex}) => _channel.invokeMethod( + 'joinGroup', + _buildParam({ + 'groupID': groupID, + 'reason': reason, + 'joinSource': joinSource, + 'ex': ex, + 'operationID': Utils.checkOperationID(operationID), + })); /// Exit a group Future quitGroup({ diff --git a/lib/src/manager/im_user_manager.dart b/lib/src/manager/im_user_manager.dart index 66dbe3e..cf31d02 100644 --- a/lib/src/manager/im_user_manager.dart +++ b/lib/src/manager/im_user_manager.dart @@ -131,6 +131,18 @@ class UserManager { .then((value) => Utils.toList(value, (map) => FullUserInfo.fromJson(map))); } + Future setSelfUserInfoEx( + UserInfo userInfo, { + String? operationID, + }) { + return _channel.invokeMethod( + 'setSelfUserInfoEx', + _buildParam({ + ...userInfo.toJson(), + 'operationID': Utils.checkOperationID(operationID), + })); + } + static Map _buildParam(Map param) { param["ManagerName"] = "userManager"; return param; diff --git a/lib/src/openim.dart b/lib/src/openim.dart index eeae2df..38790e0 100644 --- a/lib/src/openim.dart +++ b/lib/src/openim.dart @@ -2,7 +2,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; class OpenIM { - static const version = '3.4.0+2'; + static const version = '3.5.0-rc.1'; static const _channel = const MethodChannel('flutter_openim_sdk'); diff --git a/pubspec.yaml b/pubspec.yaml index 0070c90..5535f0c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_openim_sdk description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source. -version: 3.4.0+2 +version: 3.5.0-rc.1 homepage: https://www.openim.io repository: https://github.com/openimsdk/open-im-sdk-flutter