getRecordFile method

Future<List<RecordFile>> getRecordFile({
  1. int pageIndex = 0,
  2. int pageSize = 20,
  3. bool cache = true,
  4. bool supportRecordTypeSeach = false,
  5. String? dateName,
  6. int timeout = 5,
})

Implementation

Future<List<RecordFile>> getRecordFile({
  int pageIndex = 0,
  int pageSize = 20,
  bool cache = true,
  bool supportRecordTypeSeach = false,
  String? dateName,
  int timeout = 5,
}) async {
  if (supportRecordTypeSeach == true) {
    if (dateName != null) {
      List<RecordFile> files = await _getTypeSeachRecordFile(dateName);
      recordFileList.addAll(files);
      return recordFileList;
    } else if (cache == false) {
      recordFileList.clear();
      List<String> recordDatas = await getRecordTypeSearchDate();
      for (int i = 0; i < recordDatas.length; i++) {
        String dateName = recordDatas[i];
        List<RecordFile> files = await _getTypeSeachRecordFile(dateName);
        recordFileList.addAll(files);
      }
      return recordFileList;
    } else {
      return recordFileList;
    }
  } else {
    if (pageIndex == null) {
      if (cache == true) {
        return recordFileList;
      }
      pageIndex = 0;
      if (pageCount == 0) {
        pageCount = 1;
      }
      recordFileList.clear();
      while (pageIndex < pageCount) {
        List<RecordFile> files = await _getRecordFile(pageSize, pageIndex);
        pageIndex += 1;
        recordFileList.addAll(files);
      }
      return recordFileList;
    } else {
      if (pageIndex == 0) {
        List<RecordFile> files = await _getRecordFile(pageSize, pageIndex);
        recordFileList.addAll(files);

        ///首次获取数据,把files 添加到recordFileList
        return recordFileList;
      } else {
        if (recordFileList.length >= pageSize * pageIndex + pageSize) {
          return recordFileList;
        }
        List<RecordFile> files = await _getRecordFile(pageSize, pageIndex);
        recordFileList.addAll(files);
        return recordFileList;
      }
    }
  }
}