Add regularly delete

This commit is contained in:
hrxiang
2023-07-10 17:15:24 +08:00
parent b06dbe122e
commit b1fa710117
4 changed files with 61 additions and 6 deletions

View File

@@ -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'
} }

View File

@@ -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")
);
}
} }

View File

@@ -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) {

View File

@@ -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;
} }