- (void)searchUserListDataWithPull:(BOOL)isPull atBegin:(void(^)(void))begin atComplateHandle:(void(^)(void))complateHandle
{
if(_isRequest == YES) {
[self.refreshManager endRefreshWithType:HHRefreshTypeHeader];
[self.refreshManager endRefreshWithType:HHRefreshTypeFooter];
return;
}
if(isPull == NO){
double currentRequestTime = [[NSDate date] timeIntervalSince1970];
if(currentRequestTime - _firstRequesttamp < RequestRefreshControlTime){
[self.refreshManager endRefreshWithType:HHRefreshTypeHeader];
[[PublicTopAlertView initTopAlertViewWithWindow] setTopAlertString:@"操作太频繁了!" atStayTime:1.5 atSelectedHandle:nil];
return;
}else{
_firstRequesttamp = currentRequestTime;
}
}
if(_isRequestEnd == YES && isPull == YES){
[self.refreshManager endRefreshWithType:HHRefreshTypeFooter];
[[PublicTopAlertView initTopAlertViewWithWindow] setTopAlertString:@"没有那么多伙伴了!" atStayTime:1.5 atSelectedHandle:nil];
return;
};
_isRequest = YES;
NSInteger currentPageNum = YES == isPull ? _currentPageNum : 1;
NSInteger tempPageNum = _currentPageNum == 1 ? _currentPageNum : _currentPageNum - 1;
NSInteger listDefaultNubmer = YES == isPull ? RequestListDefaultNubmer : tempPageNum * RequestListDefaultNubmer;
NSDictionary *params = @{@"currentPage":@(currentPageNum),@"pageSize":@(listDefaultNubmer)};
[self IM_SearchPage_Latest_User_ListInfo:params atWillRequestHandle:begin atComplateHandle:^(NSError *error, IMSuperModel *superModel) {
_isRequest = NO;
if(complateHandle != nil) complateHandle();
if(superModel.code == RequestSucceedCode){
NSMutableArray *tempDatasource = [IMSearchUserModel getAllDataByFormatWithResponseObjectArray:superModel.data];
if(NO == isPull){
if([tempDatasource count] >= RequestListDefaultNubmer){
if(self.datasource != nil && self.datasource.count > 0){
if(self.datasource.count > RequestListDefaultNubmer){
NSInteger divisor = self.datasource.count / RequestListDefaultNubmer;
_currentPageNum = divisor + 1;
}
}else{
_currentPageNum++;
}
}else{
_isRequestEnd = YES;
}
self.datasource = tempDatasource;
}else{
if(tempDatasource != nil && tempDatasource.count > 0){
if([tempDatasource count] < RequestListDefaultNubmer){
_isRequestEnd = YES;
}else{
_currentPageNum++;
}
if(self.datasource != nil)
[self.datasource addObjectsFromArray:tempDatasource];
else
self.datasource = tempDatasource;
}else{
_isRequestEnd = YES;
}
}
if(self.datasource == nil || self.datasource.count == 0){
[self.listCollectionView showNoDataViewDefaultImageWithText:@"还没有数据呢"];
}else{
[self.listCollectionView hiddenNoDataView];
WeakSelf(weakSelf);
[self.listCollectionView performBatchUpdates:^{
[weakSelf.listCollectionView reloadSections:[NSIndexSet indexSetWithIndex:0]];
} completion:nil];
}
}else{
[[PublicTopAlertView initTopAlertViewWithWindow] setTopAlertString:@"请求出错,请再次尝试!" atStayTime:1.5 atSelectedHandle:nil];
if(self.datasource == nil)
[self.listCollectionView showNoDataViewDefaultImageWithText:@"出错啦,请重新请求"];
}
}];
}