From 025334d32fcb9f0e69292a02b1dd1be1c920c47e Mon Sep 17 00:00:00 2001 From: hrxiang Date: Wed, 16 Nov 2022 16:45:12 +0800 Subject: [PATCH] Fix bug --- CHANGELOG.md | 3 +++ android/build.gradle | 9 ++------- .../manager/ConversationManager.java | 9 +++++++++ lib/src/manager/im_conversation_manager.dart | 16 ++++++++++++++++ lib/src/models/conversation_info.dart | 6 ++++++ lib/src/models/message.dart | 6 ++++++ 6 files changed, 42 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d04553..8aa84fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ ## 2.3.4+5 - Fix bug +- Add setOneConversationBurnDuration method for ConversationManager +- Add burnDuration field for ConversationInfo +- Add burnDuration field for AttachedInfoElem ## 2.3.4+4 diff --git a/android/build.gradle b/android/build.gradle index ef3540d..a700d05 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,9 +3,6 @@ version '1.0' buildscript { repositories { - maven { - url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/' - } google() mavenCentral() } @@ -17,9 +14,7 @@ buildscript { rootProject.allprojects { repositories { - maven { - url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/' - } + maven { url 'https://open-im-online.rentsoft.cn:51000/repository/maven2/' } google() mavenCentral() } @@ -39,5 +34,5 @@ android { } } dependencies { - implementation 'io.openim:core-sdk:2.3.4-rc3@aar' + api 'io.openim:core-sdk:2.3.4-rc4@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 623b491..8eb6333 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 @@ -162,4 +162,13 @@ public class ConversationManager extends BaseManager { int2long(methodCall, "status") ); } + + public void setOneConversationBurnDuration(MethodCall methodCall, MethodChannel.Result result) { + Open_im_sdk.setOneConversationBurnDuration( + new OnBaseListener(result, methodCall), + value(methodCall, "operationID"), + value(methodCall, "conversationID"), + value(methodCall, "burnDuration") + ); + } } diff --git a/lib/src/manager/im_conversation_manager.dart b/lib/src/manager/im_conversation_manager.dart index 48f4b77..ccd9a62 100644 --- a/lib/src/manager/im_conversation_manager.dart +++ b/lib/src/manager/im_conversation_manager.dart @@ -262,6 +262,22 @@ class ConversationManager { "operationID": Utils.checkOperationID(operationID), })); + /// 设置阅后即焚时长 + /// [conversationID] 会话id + /// [burnDuration] 时长s,默认30s + Future setOneConversationBurnDuration({ + required String conversationID, + int burnDuration = 30, + String? operationID, + }) => + _channel.invokeMethod( + 'setOneConversationBurnDuration', + _buildParam({ + "conversationID": conversationID, + "burnDuration": burnDuration, + "operationID": Utils.checkOperationID(operationID), + })); + /// 会话列表自定义排序规则。 List simpleSort(List list) => list ..sort((a, b) { diff --git a/lib/src/models/conversation_info.dart b/lib/src/models/conversation_info.dart index ac9fa6f..ee339ad 100644 --- a/lib/src/models/conversation_info.dart +++ b/lib/src/models/conversation_info.dart @@ -48,6 +48,9 @@ class ConversationInfo { /// 是否开启了私聊(阅后即焚) bool? isPrivateChat; + /// 可阅读期限 s + int? burnDuration; + /// 附加内容 String? ext; @@ -68,6 +71,7 @@ class ConversationInfo { this.draftText, this.draftTextTime, this.isPrivateChat, + this.burnDuration, this.isPinned, this.isNotInGroup, }); @@ -93,6 +97,7 @@ class ConversationInfo { draftTextTime = json['draftTextTime']; isPinned = json['isPinned']; isPrivateChat = json['isPrivateChat']; + burnDuration = json['burnDuration']; isNotInGroup = json['isNotInGroup']; groupAtType = json['groupAtType']; } @@ -113,6 +118,7 @@ class ConversationInfo { data['draftTextTime'] = this.draftTextTime; data['isPinned'] = this.isPinned; data['isPrivateChat'] = this.isPrivateChat; + data['burnDuration'] = this.burnDuration; data['isNotInGroup'] = this.isNotInGroup; data['groupAtType'] = this.groupAtType; return data; diff --git a/lib/src/models/message.dart b/lib/src/models/message.dart index 5ee11f3..6ea4423 100644 --- a/lib/src/models/message.dart +++ b/lib/src/models/message.dart @@ -790,6 +790,9 @@ class AttachedInfoElem { /// 已读时间 int? hasReadTime; + /// 私聊消息保留时长 + int? burnDuration; + /// 离线不发送推送 bool? notSenderNotificationPush; @@ -797,6 +800,7 @@ class AttachedInfoElem { this.groupHasReadInfo, this.isPrivateChat, this.hasReadTime, + this.burnDuration, this.notSenderNotificationPush, }); @@ -806,6 +810,7 @@ class AttachedInfoElem { : GroupHasReadInfo.fromJson(json['groupHasReadInfo']); isPrivateChat = json['isPrivateChat']; hasReadTime = json['hasReadTime']; + burnDuration = json['burnDuration']; notSenderNotificationPush = json['notSenderNotificationPush']; } @@ -814,6 +819,7 @@ class AttachedInfoElem { data['groupHasReadInfo'] = this.groupHasReadInfo?.toJson(); data['isPrivateChat'] = this.isPrivateChat; data['hasReadTime'] = this.hasReadTime; + data['burnDuration'] = this.burnDuration; data['notSenderNotificationPush'] = this.notSenderNotificationPush; return data; }