diff --git a/CHANGELOG.md b/CHANGELOG.md index 95ef7a8..371c753 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.0.0+4 + +1.New dismiss group
+2.New search local message
+3.Upgrade client-sdk to 2.0.18 + ## 2.0.0+3 1.Fix bug
diff --git a/android/build.gradle b/android/build.gradle index cd885cd..19670f1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -41,5 +41,5 @@ android { } } dependencies { - implementation 'io.openim:client-sdk:2.0.15@aar' + implementation 'io.openim:client-sdk:2.0.18@aar' } \ No newline at end of file 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 ecdef0b..f862e75 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 @@ -112,16 +112,4 @@ public class FriendshipManager extends BaseManager { jsonValue(methodCall) ); } - -// public void forceSyncFriendApplication(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncFriendApplication(); -// } -// -// public void forceSyncFriend(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncFriend(); -// } -// -// public void forceSyncBlackList(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncBlackList(); -// } } 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 64e2e9b..30f443a 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 @@ -148,19 +148,12 @@ public class GroupManager extends BaseManager { } -// public void forceSyncApplyGroupRequest(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncApplyGroupRequest(); -// } -// -// public void forceSyncGroupRequest(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncGroupRequest(); -// } -// -// public void forceSyncJoinedGroup(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncJoinedGroup(); -// } -// -// public void forceSyncJoinedGroupMember(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncJoinedGroupMember(); -// } + public void dismissGroup(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.dismissGroup( + new OnBaseListener(result), + value(methodCall, "operationID"), + value(methodCall, "gid") + ); + + } } \ No newline at end of file diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java index 1432d21..2571b5d 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java @@ -36,30 +36,4 @@ public class IMManager extends BaseManager { public void getLoginStatus(MethodCall methodCall, MethodChannel.Result result) { CommonUtil.runMainThreadReturn(result, Open_im_sdk.getLoginStatus()); } - -// public void getLoginUid(MethodCall methodCall, MethodChannel.Result result) { -// CommonUtil.runMainThreadReturn(result, Open_im_sdk.getLoginUid()); -// } - -// public void getUsersInfo(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.getUsersInfo( -// jsonValue(methodCall, "uidList"), new BaseListener(result)); -// } - -// public void setSelfInfo(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.setSelfInfo( -// jsonValue(methodCall), new BaseListener(result)); -// } - -// public void forceSyncLoginUerInfo(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncLoginUerInfo(); -// } - -// public void forceReConn(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceReConn(); -// } - -// public void setSdkLog(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.setSdkLog(value(methodCall, "sdkLog")); -// } } diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/MessageManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/MessageManager.java index 6cac74f..98ab341 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/MessageManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/MessageManager.java @@ -143,10 +143,6 @@ public class MessageManager extends BaseManager { ); } -// public void findMessages(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.findMessages(new OnBaseListener(result), jsonValue(methodCall, "messageIDList")); -// } - public void markC2CMessageAsRead(MethodCall methodCall, MethodChannel.Result result) { Open_im_sdk.markC2CMessageAsRead( new OnBaseListener(result), @@ -311,9 +307,6 @@ public class MessageManager extends BaseManager { value(methodCall, "data") )); } -// public void forceSyncMsg(MethodCall methodCall, MethodChannel.Result result) { -// Open_im_sdk.forceSyncMsg(); -// } public void clearC2CHistoryMessage(MethodCall methodCall, MethodChannel.Result result) { Open_im_sdk.clearC2CHistoryMessage( @@ -330,4 +323,12 @@ public class MessageManager extends BaseManager { value(methodCall, "groupID") ); } + + public void searchLocalMessages(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.searchLocalMessages( + new OnBaseListener(result), + value(methodCall, "operationID"), + jsonValue(methodCall, "filter") + ); + } } diff --git a/example/pubspec.lock b/example/pubspec.lock index 0443ebd..20e2a20 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -68,7 +68,7 @@ packages: path: ".." relative: true source: path - version: "2.0.0+2" + version: "2.0.0+3" flutter_test: dependency: "direct dev" description: flutter diff --git a/ios/Classes/Module/GroupManager.swift b/ios/Classes/Module/GroupManager.swift index 8b6c71f..132e633 100644 --- a/ios/Classes/Module/GroupManager.swift +++ b/ios/Classes/Module/GroupManager.swift @@ -21,10 +21,7 @@ public class GroupManager: BaseServiceManager { self["getSendGroupApplicationList"] = getSendGroupApplicationList self["acceptGroupApplication"] = acceptGroupApplication self["refuseGroupApplication"] = refuseGroupApplication -// self["forceSyncApplyGroupRequest"] = forceSyncApplyGroupRequest -// self["forceSyncGroupRequest"] = forceSyncGroupRequest -// self["forceSyncJoinedGroup"] = forceSyncJoinedGroup -// self["forceSyncJoinedGroupMember"] = forceSyncJoinedGroupMember + self["dismissGroup"] = dismissGroup } func setGroupListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -95,27 +92,11 @@ public class GroupManager: BaseServiceManager { Open_im_sdkRefuseGroupApplication(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "gid"], methodCall[string: "uid"], methodCall[string: "handleMsg"]) } -// func forceSyncApplyGroupRequest(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { -// Open_im_sdkForceSyncApplyGroupRequest() -// callBack(result) -// } -// -// func forceSyncGroupRequest(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { -// Open_im_sdkForceSyncGroupRequest() -// callBack(result) -// } -// -// func forceSyncJoinedGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { -// Open_im_sdkForceSyncJoinedGroup() -// callBack(result) -// } -// -// func forceSyncJoinedGroupMember(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { -// Open_im_sdkForceSyncJoinedGroupMember() -// callBack(result) -// } - + func dismissGroup(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkDismissGroup(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "gid"]) + } } + public class GroupListener: NSObject, Open_im_sdk_callbackOnGroupListenerProtocol { private let channel:FlutterMethodChannel diff --git a/ios/Classes/Module/MessageManager.swift b/ios/Classes/Module/MessageManager.swift index 9743441..0a0f894 100644 --- a/ios/Classes/Module/MessageManager.swift +++ b/ios/Classes/Module/MessageManager.swift @@ -15,7 +15,6 @@ public class MessageManager: BaseServiceManager { self["deleteMessages"] = deleteMessages self["insertSingleMessageToLocalStorage"] = insertSingleMessageToLocalStorage self["insertGroupMessageToLocalStorage"] = insertGroupMessageToLocalStorage - // self["findMessages"] = findMessages self["markC2CMessageAsRead"] = markC2CMessageAsRead self["markGroupMessageAsRead"] = markGroupMessageAsRead self["typingStatusUpdate"] = typingStatusUpdate @@ -36,9 +35,9 @@ public class MessageManager: BaseServiceManager { self["createQuoteMessage"] = createQuoteMessage self["createCardMessage"] = createCardMessage self["createFaceMessage"] = createFaceMessage - // self["forceSyncMsg"] = forceSyncMsg self["clearC2CHistoryMessage"] = clearC2CHistoryMessage self["clearGroupHistoryMessage"] = clearGroupHistoryMessage + self["searchLocalMessages"] = searchLocalMessages } func setAdvancedMsgListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -80,10 +79,6 @@ public class MessageManager: BaseServiceManager { methodCall[string: "groupID"], methodCall[string: "senderID"]) } - // func findMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ - // Open_im_sdkFindMessages(BaseCallback(result: result), methodCall[jsonString: "messageIDList"]) - // } - func markC2CMessageAsRead(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ Open_im_sdkMarkC2CMessageAsRead(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"], methodCall[jsonString: "messageIDList"]) } @@ -174,10 +169,6 @@ public class MessageManager: BaseServiceManager { func createFaceMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ callBack(result, Open_im_sdkCreateFaceMessage(methodCall[string: "operationID"], methodCall[int: "index"], methodCall[string: "data"])) } - // func forceSyncMsg(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ - // Open_im_sdkForceSyncMsg() - // callBack(result) - // } func clearC2CHistoryMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ Open_im_sdkClearC2CHistoryMessage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"]) @@ -187,6 +178,10 @@ public class MessageManager: BaseServiceManager { Open_im_sdkClearGroupHistoryMessage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"]) } + func searchLocalMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkSearchLocalMessages(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "filter"]) + } + public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol { private let channel: FlutterMethodChannel private let result: FlutterResult diff --git a/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h b/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h index bd04403..851dc0b 100644 --- a/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h +++ b/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h @@ -84,12 +84,16 @@ FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageFromFullPath(N FOUNDATION_EXPORT void Open_im_sdkDeleteConversation(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable conversationID); +FOUNDATION_EXPORT void Open_im_sdkDeleteConversationMsgFromLocalAndSvr(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable conversationID); + FOUNDATION_EXPORT void Open_im_sdkDeleteFriend(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable friendUserID); -FOUNDATION_EXPORT void Open_im_sdkDeleteMessage(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable message); +FOUNDATION_EXPORT void Open_im_sdkDeleteMessageFromLocalAndSvr(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable message); FOUNDATION_EXPORT void Open_im_sdkDeleteMessageFromLocalStorage(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable message); +FOUNDATION_EXPORT void Open_im_sdkDismissGroup(id _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable groupID); + FOUNDATION_EXPORT void Open_im_sdkGetAllConversationList(id _Nullable callback, NSString* _Nullable operationID); FOUNDATION_EXPORT void Open_im_sdkGetBlackList(id _Nullable callback, NSString* _Nullable operationID); diff --git a/ios/Framework/OpenIMCore.framework/OpenIMCore b/ios/Framework/OpenIMCore.framework/OpenIMCore index 598e2d5..c3f578d 100644 Binary files a/ios/Framework/OpenIMCore.framework/OpenIMCore and b/ios/Framework/OpenIMCore.framework/OpenIMCore differ diff --git a/lib/src/manager/im_group_manager.dart b/lib/src/manager/im_group_manager.dart index 4c12a47..25e68b9 100644 --- a/lib/src/manager/im_group_manager.dart +++ b/lib/src/manager/im_group_manager.dart @@ -320,6 +320,19 @@ class GroupManager { 'operationID': Utils.checkOperationID(operationID), })); + /// Dissmiss group + /// 解散群 + Future dismissGroup({ + required String groupID, + String? operationID, + }) => + _channel.invokeMethod( + 'dismissGroup', + _buildParam({ + 'gid': 'groupID', + 'operationID': Utils.checkOperationID(operationID), + })); + static Map _buildParam(Map param) { param["ManagerName"] = "groupManager"; return param; diff --git a/lib/src/manager/im_message_manager.dart b/lib/src/manager/im_message_manager.dart index 37eed17..5f125bb 100644 --- a/lib/src/manager/im_message_manager.dart +++ b/lib/src/manager/im_message_manager.dart @@ -520,6 +520,39 @@ class MessageManager { "operationID": Utils.checkOperationID(operationID), })); + /// Search local message + /// 搜索消息 + Future searchLocalMessages({ + required String sourceID, + required String sessionType, + List keywordList = const [], + int keywordListMatchType = 0, + List senderUserIDList = const [], + List messageTypeList = const [], + int searchTimePosition = 0, + int searchTimePeriod = 0, + int pageIndex = 1, + int count = 40, + String? operationID, + }) => + _channel.invokeMethod( + 'searchLocalMessages', + _buildParam({ + 'filter': { + 'sourceID': sourceID, + 'sessionType': sessionType, + 'keywordList': keywordList, + 'keywordListMatchType': keywordListMatchType, + 'senderUserIDList': senderUserIDList, + 'messageTypeList': messageTypeList, + 'searchTimePosition': searchTimePosition, + 'searchTimePeriod': searchTimePeriod, + 'pageIndex': pageIndex, + 'count': count, + }, + 'operationID': Utils.checkOperationID(operationID), + })); + static Map _buildParam(Map param) { param["ManagerName"] = "messageManager"; return param; diff --git a/pubspec.yaml b/pubspec.yaml index 848bd96..9ffc1bd 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: 2.0.0+3 +version: 2.0.0+4 homepage: https://www.rentsoft.cn repository: https://github.com/OpenIMSDK/Open-IM-SDK-Flutter