getPublicGroupsFromServer method

void getPublicGroupsFromServer ({int pageSize, String cursor, dynamic onSuccess(EMCursorResult<EMGroupInfo> result), dynamic onError(int errorCode, String desc) })

从服务器获取公开群组,EMCursorResult加泛型

Implementation

void getPublicGroupsFromServer({
  final int pageSize,
  final String cursor,
  onSuccess(EMCursorResult<EMGroupInfo> result),
  onError(int errorCode, String desc)}){
  Future<Map<String, dynamic>> result = _emGroupManagerChannel
      .invokeMethod(EMSDKMethod.getPublicGroupsFromServer, {"pageSize" : pageSize, "cursor" : cursor});
  result.then((response){
    if (response['success']) {
        if (onSuccess != null) {
          if(response['value'] != null) {
            print(response['value']);
            var data = List<EMGroupInfo>();
            EMCursorResult emCursorResult = EMCursorResult.from(response['value']);
            emCursorResult.getData().forEach((item) => data.add(EMGroupInfo.from(item)));

            EMCursorResult<EMGroupInfo> cursorResult =  EMCursorResult.from(Map());
            cursorResult.setCursor(emCursorResult.getCursor());
            cursorResult.setData(data);
            onSuccess(cursorResult);
          }else{
            onSuccess(null);
          }
      }
    } else {
      if (onError != null) onError(response['code'], response['desc']);
    }
  });
}