Add regularly delete

hrxiang 2 years ago
parent b06dbe122e
commit b1fa710117
  1. 2
      android/build.gradle
  2. 18
      android/src/main/java/io/openim/flutter_openim_sdk/manager/ConversationManager.java
  3. 30
      lib/src/manager/im_conversation_manager.dart
  4. 17
      lib/src/models/conversation_info.dart

@ -53,5 +53,5 @@ dependencies {
// aar复制到libs/io/openim/core-sdk/0.0.1/ core-sdk-0.0.1.aar // 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:0.0.1@aar'
// api 'io.openim:core-sdk:2.3.5-t44@aar' // api 'io.openim:core-sdk:2.3.5-t44@aar'
implementation 'io.openim:core-sdk:3.0.0-enterprise-beta08@aar' implementation 'io.openim:core-sdk:3.0.0-enterprise-beta11@aar'
} }

@ -175,4 +175,22 @@ public class ConversationManager extends BaseManager {
value(methodCall, "burnDuration") value(methodCall, "burnDuration")
); );
} }
public void setConversationIsMsgDestruct(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setConversationIsMsgDestruct(
new OnBaseListener(result, methodCall),
value(methodCall, "operationID"),
value(methodCall, "conversationID"),
value(methodCall, "isMsgDestruct")
);
}
public void setConversationMsgDestructTime(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setConversationMsgDestructTime(
new OnBaseListener(result, methodCall),
value(methodCall, "operationID"),
value(methodCall, "conversationID"),
int2long(methodCall, "duration")
);
}
} }

@ -304,6 +304,36 @@ class ConversationManager {
"operationID": Utils.checkOperationID(operationID), "operationID": Utils.checkOperationID(operationID),
})); }));
///
/// [isMsgDestruct] true
Future<dynamic> setConversationIsMsgDestruct({
required String conversationID,
bool isMsgDestruct = true,
String? operationID,
}) =>
_channel.invokeMethod(
'setConversationIsMsgDestruct',
_buildParam({
"conversationID": conversationID,
"isMsgDestruct": isMsgDestruct,
"operationID": Utils.checkOperationID(operationID),
}));
///
/// [duration]
Future<dynamic> setConversationMsgDestructTime({
required String conversationID,
int duration = 1 * 24 * 60 * 60,
String? operationID,
}) =>
_channel.invokeMethod(
'setConversationMsgDestructTime',
_buildParam({
"conversationID": conversationID,
"duration": duration,
"operationID": Utils.checkOperationID(operationID),
}));
/// ///
List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list
..sort((a, b) { ..sort((a, b) {

@ -51,8 +51,11 @@ class ConversationInfo {
/// s /// s
int? burnDuration; int? burnDuration;
/// ///
String? ext; bool? isMsgDestruct;
/// s
int? msgDestructTime;
/// ///
String? ex; String? ex;
@ -78,7 +81,9 @@ class ConversationInfo {
this.isPinned, this.isPinned,
this.isNotInGroup, this.isNotInGroup,
this.ex, this.ex,
this.ext, this.groupAtType,
this.isMsgDestruct,
this.msgDestructTime,
}); });
ConversationInfo.fromJson(Map<String, dynamic> json) ConversationInfo.fromJson(Map<String, dynamic> json)
@ -106,7 +111,8 @@ class ConversationInfo {
isNotInGroup = json['isNotInGroup']; isNotInGroup = json['isNotInGroup'];
groupAtType = json['groupAtType']; groupAtType = json['groupAtType'];
ex = json['ex']; ex = json['ex'];
ext = json['ext']; isMsgDestruct = json['isMsgDestruct'];
msgDestructTime = json['msgDestructTime'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -129,7 +135,8 @@ class ConversationInfo {
data['isNotInGroup'] = this.isNotInGroup; data['isNotInGroup'] = this.isNotInGroup;
data['groupAtType'] = this.groupAtType; data['groupAtType'] = this.groupAtType;
data['ex'] = this.ex; data['ex'] = this.ex;
data['ext'] = this.ext; data['isMsgDestruct'] = this.isMsgDestruct;
data['msgDestructTime'] = this.msgDestructTime;
return data; return data;
} }

Loading…
Cancel
Save