diff --git a/CHANGELOG.md b/CHANGELOG.md index cb0f648..1183713 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ 7.New clearGroupHistoryMessageFromLocalAndSvr method </br> 8.New markMessageAsReadByConID method </br> 9.New wakeUp method </br> +10.New deleteAllConversationFromLocal method </br> ## 2.0.0+4 diff --git a/android/build.gradle b/android/build.gradle index bbb6112..04079f1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -41,5 +41,5 @@ android { } } dependencies { - implementation 'io.openim:client-sdk:2.0.30@aar' + implementation 'io.openim:client-sdk:2.0.31@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 993321d..ac04226 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 @@ -135,4 +135,11 @@ public class ConversationManager extends BaseManager { value(methodCall, "conversationID") ); } + + public void deleteAllConversationFromLocal(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.deleteAllConversationFromLocal( + new OnBaseListener(result), + value(methodCall, "operationID") + ); + } } diff --git a/ios/Classes/Module/ConversationManager.swift b/ios/Classes/Module/ConversationManager.swift index 35a7041..d908a32 100644 --- a/ios/Classes/Module/ConversationManager.swift +++ b/ios/Classes/Module/ConversationManager.swift @@ -21,6 +21,7 @@ public class ConversationManager: BaseServiceManager { self["getConversationRecvMessageOpt"] = getConversationRecvMessageOpt self["setOneConversationPrivateChat"] = setOneConversationPrivateChat self["deleteConversationFromLocalAndSvr"] = deleteConversationFromLocalAndSvr + self["deleteAllConversationFromLocal"] = deleteAllConversationFromLocal } func setConversationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ @@ -88,6 +89,10 @@ public class ConversationManager: BaseServiceManager { func deleteConversationFromLocalAndSvr(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ Open_im_sdkDeleteConversationFromLocalAndSvr(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"]) } + + func deleteAllConversationFromLocal(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + Open_im_sdkDeleteAllConversationFromLocal(BaseCallback(result: result), methodCall[string: "operationID"]) + } } 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 888eb37..834b275 100644 --- a/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h +++ b/ios/Framework/OpenIMCore.framework/Headers/Open_im_sdk.objc.h @@ -90,6 +90,8 @@ FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageByURL(NSString FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkCreateVideoMessageFromFullPath(NSString* _Nullable operationID, NSString* _Nullable videoFullPath, NSString* _Nullable videoType, int64_t duration, NSString* _Nullable snapshotFullPath); +FOUNDATION_EXPORT void Open_im_sdkDeleteAllConversationFromLocal(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID); + FOUNDATION_EXPORT void Open_im_sdkDeleteAllMsgFromLocal(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID); FOUNDATION_EXPORT void Open_im_sdkDeleteAllMsgFromLocalAndSvr(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID); diff --git a/ios/Framework/OpenIMCore.framework/OpenIMCore b/ios/Framework/OpenIMCore.framework/OpenIMCore index 58a5d78..c34ef27 100644 Binary files a/ios/Framework/OpenIMCore.framework/OpenIMCore and b/ios/Framework/OpenIMCore.framework/OpenIMCore differ diff --git a/lib/src/manager/im_conversation_manager.dart b/lib/src/manager/im_conversation_manager.dart index 9d364fe..43e3b5f 100644 --- a/lib/src/manager/im_conversation_manager.dart +++ b/lib/src/manager/im_conversation_manager.dart @@ -232,6 +232,17 @@ class ConversationManager { "operationID": Utils.checkOperationID(operationID), })); + /// Delete conversation from local + /// 删除会话 + Future<dynamic> deleteAllConversationFromLocal({ + String? operationID, + }) => + _channel.invokeMethod( + 'deleteAllConversationFromLocal', + _buildParam({ + "operationID": Utils.checkOperationID(operationID), + })); + /// Custom sort for conversation list /// 会话列表自定义排序规则。 List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list