From 98a1c1f95d00c9f22eedfa93b5ab7056f64a512c Mon Sep 17 00:00:00 2001 From: dujiepeng <347302029@qq.com> Date: Tue, 7 Dec 2021 14:51:04 +0800 Subject: [PATCH 1/2] fix: fetch room members result type error. --- CHANGELOG.md | 4 ++-- lib/src/em_chat_room_manager.dart | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34d4d4ad..5c1adf80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ * 支持gcm推送点击 ## 3.8.3+2 -增加群组已读回执; -不在提供EMContact类,直接返回String类型username; +* 增加群组已读回执; +* 不在提供EMContact类,直接返回String类型username; ## 3.8.3 * 增加用户属性; diff --git a/lib/src/em_chat_room_manager.dart b/lib/src/em_chat_room_manager.dart index a094e144..9f4fcec9 100644 --- a/lib/src/em_chat_room_manager.dart +++ b/lib/src/em_chat_room_manager.dart @@ -220,7 +220,7 @@ class EMChatRoomManager { } /// @nodoc 获取聊天室成员列表,[roomId] [cursor] [pageSize] - Future> fetchChatRoomMembers( + Future> fetchChatRoomMembers( String roomId, { String cursor = '', int pageSize = 200, @@ -229,7 +229,7 @@ class EMChatRoomManager { Map result = await _channel.invokeMethod(EMSDKMethod.fetchChatRoomMembers, req); EMError.hasErrorFromResult(result); - return EMCursorResult.fromJson( + return EMCursorResult.fromJson( result[EMSDKMethod.fetchChatRoomMembers], dataItemCallback: (obj) => obj); } From 67e4706deb8c602c74643c29eda727d2be4ea637 Mon Sep 17 00:00:00 2001 From: dujiepeng <347302029@qq.com> Date: Tue, 7 Dec 2021 17:09:28 +0800 Subject: [PATCH 2/2] fix ios group read count crash. --- ios/Classes/EMMessage+Flutter.m | 3 +++ lib/src/models/em_message.dart | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ios/Classes/EMMessage+Flutter.m b/ios/Classes/EMMessage+Flutter.m index 099c4ffa..678bb0ed 100644 --- a/ios/Classes/EMMessage+Flutter.m +++ b/ios/Classes/EMMessage+Flutter.m @@ -49,6 +49,8 @@ + (EMMessage *)fromJson:(NSDictionary *)aJson msg.isDeliverAcked = [aJson[@"hasDeliverAck"] boolValue]; msg.isRead = [aJson[@"hasRead"] boolValue]; msg.isNeedGroupAck = [aJson[@"needGroupAck"] boolValue]; + // read only + // msg.groupAckCount = [aJson[@"groupAckCount"] intValue] msg.ext = aJson[@"attributes"]; return msg; } @@ -65,6 +67,7 @@ - (NSDictionary *)toJson ret[@"hasReadAck"] = @(self.isReadAcked); ret[@"needGroupAck"] = @(self.isNeedGroupAck); ret[@"serverTime"] = @(self.timestamp); + ret[@"groupAckCount"] = @(self.groupAckCount); ret[@"attributes"] = self.ext ?: @{}; ret[@"localTime"] = @(self.localTime); ret[@"status"] = @([self statusToInt:self.status]); diff --git a/lib/src/models/em_message.dart b/lib/src/models/em_message.dart index 14f11277..88a8a271 100644 --- a/lib/src/models/em_message.dart +++ b/lib/src/models/em_message.dart @@ -394,7 +394,7 @@ class EMMessage { ..hasRead = map.boolValue('hasRead') ..hasReadAck = map.boolValue('hasReadAck') ..needGroupAck = map.boolValue('needGroupAck') - ..groupAckCount = map["groupAckCount"] as int + ..groupAckCount = map["groupAckCount"] as int? ?? 0 ..hasDeliverAck = map.boolValue('hasDeliverAck') .._msgId = map['msgId'] as String? ..conversationId = map['conversationId'] as String?