main
hrxiang 3 years ago
parent cce41e0991
commit 2a9d4a0587
  1. 2
      CHANGELOG.md
  2. 2
      android/build.gradle
  3. 7
      android/src/main/java/io/openim/flutter_openim_sdk/manager/BaseManager.java
  4. 12
      android/src/main/java/io/openim/flutter_openim_sdk/manager/GroupManager.java
  5. 31
      lib/src/manager/im_group_manager.dart
  6. 3
      lib/src/models/message.dart

@ -1,6 +1,8 @@
## 2.1.0
1.Fix bug </br>
2.New getGroupMemberListByJoinTime method </br>
3.New group message need read count field groupMemberCount </br>
## 2.0.9+3

@ -41,5 +41,5 @@ android {
}
}
dependencies {
implementation 'io.openim:core-sdk:2.0.9.28@aar'
implementation 'io.openim:core-sdk:2.1.0.1@aar'
}

@ -18,7 +18,10 @@ class BaseManager {
}
static Long int2long(MethodCall methodCall, String key) {
Integer i = value(methodCall, key);
return Long.valueOf(i);
Object i = value(methodCall, key);
if (i instanceof Long) {
return (Long) i;
}
return Long.valueOf((Integer) i);
}
}

@ -199,4 +199,16 @@ public class GroupManager extends BaseManager {
int2long(methodCall, "roleLevel")
);
}
public void getGroupMemberListByJoinTimeFilter(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.getGroupMemberListByJoinTimeFilter(new OnBaseListener(result, methodCall),
value(methodCall, "operationID"),
value(methodCall, "groupID"),
value(methodCall, "offset"),
value(methodCall, "count"),
int2long(methodCall, "joinTimeBegin"),
int2long(methodCall, "joinTimeEnd"),
jsonValue(methodCall, "excludeUserIDList")
);
}
}

@ -457,6 +457,37 @@ class GroupManager {
'operationID': Utils.checkOperationID(operationID),
}));
/// Get the list of group members
///
/// [groupID] ID
/// [joinTimeBegin]
/// [joinTimeEnd]
/// [offset]
/// [count]
Future<List<GroupMembersInfo>> getGroupMemberListByJoinTime({
required String groupID,
int offset = 0,
int count = 0,
int joinTimeBegin = 0,
int joinTimeEnd = 0,
List<String> excludeUserIDList = const [],
String? operationID,
}) =>
_channel
.invokeMethod(
'getGroupMemberListByJoinTimeFilter',
_buildParam({
'groupID': groupID,
'offset': offset,
'count': count,
'joinTimeBegin': joinTimeBegin,
'joinTimeEnd': joinTimeEnd,
'excludeUserIDList': excludeUserIDList,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) =>
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
static Map _buildParam(Map param) {
param["ManagerName"] = "groupManager";
return param;

@ -639,6 +639,7 @@ class AttachedInfoElem {
class GroupHasReadInfo {
List<String>? hasReadUserIDList;
int? hasReadCount;
int? groupMemberCount;
GroupHasReadInfo.fromJson(Map<String, dynamic> json) {
if (json['hasReadUserIDList'] == null) {
@ -647,12 +648,14 @@ class GroupHasReadInfo {
hasReadUserIDList = (json['hasReadUserIDList'] as List).cast<String>();
}
hasReadCount = json['hasReadCount'] ?? 0;
groupMemberCount = json['groupMemberCount'] ?? 0;
}
Map<String, dynamic> toJson() {
final data = Map<String, dynamic>();
data['hasReadUserIDList'] = this.hasReadUserIDList;
data['hasReadCount'] = this.hasReadCount;
data['groupMemberCount'] = this.groupMemberCount;
return data;
}
}

Loading…
Cancel
Save