request2GetListData method
dynamic
request2GetListData(})
Implementation
request2GetListData(BuildContext context, String url, {String? loadingText, Map<String, dynamic>? params, isLoadMore = false, String pagingKey = "pageParamVo", Success? success, Fail? fail}) async {
_pageIndex = hasMore && isLoadMore ? _pageIndex + 1 : 1;
_isRefreshing = true;
if(_pageIndex==1){
//为了在空页面后刷新的时候把空组件隐藏掉
setState(() {
});
}
// if (params != null && pagingKey.isNotEmpty) {
// dynamic pageParams = {
// 'curPage': _pageIndex,
// 'pageSize': _pageSize,
// };
// try {
// params![pagingKey] = pageParams;
// } catch (msg) {
// debugPrint(msg.toString());
// }
// }
dynamic pageParams = {
'current': _pageIndex,
'size': _pageSize,
};
Map<String, dynamic> mergedMap = {...pageParams, ...params ?? {}};
try {
dynamic res = await request2Post(url, context, data: mergedMap, isShowLoading: false);
var tempData;
if (res is List) {
hasMore = false;
tempData = res;
} else {
int totalRecordsCount = res["total"] ?? 0;
int pageIndex = res["current"] ?? 0;
int pageSize = res["size"] ?? 0;
hasMore = pageIndex * pageSize < totalRecordsCount;
tempData = res["records"];
}
if (isLoadMore) {
_dataArr.addAll(tempData);
} else {
_dataArr = tempData;
}
setState(() {
_isNetWorkError = false;
});
try {
success?.call(_dataArr, otherObj: res is List ? {} : (res["otherObject"] ?? {}));
} catch (e) {
debugPrint(e.toString());
}
_handleRefresh(isLoadMore);
} on AppException catch (e) {
setState(() {
_isNetWorkError = true;
});
_handleRefresh(isLoadMore);
fail?.call(-1008611, e.getMessage());
}
}