Commit 33d7b9feb0ba5f2734a6533fbe7257ccf4b614f9
1 parent
13383471
no message
Showing
2 changed files
with
35 additions
and
26 deletions
CNLiveIntegralModule/Classes/Controller/CNLiveIntegralDetailsController.m
| @@ -20,6 +20,8 @@ | @@ -20,6 +20,8 @@ | ||
| 20 | #import "CNLiveUserAgreementManager.h" | 20 | #import "CNLiveUserAgreementManager.h" |
| 21 | #import "CNLiveRefreshHeader.h" | 21 | #import "CNLiveRefreshHeader.h" |
| 22 | #import "CNLiveRefreshFooter.h" | 22 | #import "CNLiveRefreshFooter.h" |
| 23 | +#import "CNLiveCategory.h" | ||
| 24 | +#import "CNLiveBaseKit.h" | ||
| 23 | 25 | ||
| 24 | #import "CNLiveIntegralDetailsTableViewCell.h" | 26 | #import "CNLiveIntegralDetailsTableViewCell.h" |
| 25 | #import "CNLiveScoreModel.h" | 27 | #import "CNLiveScoreModel.h" |
| @@ -46,47 +48,54 @@ | @@ -46,47 +48,54 @@ | ||
| 46 | [CNLiveNetworking setAllowRequestDefaultArgument:YES]; | 48 | [CNLiveNetworking setAllowRequestDefaultArgument:YES]; |
| 47 | [CNLiveNetworking setupShowDataResult:NO]; | 49 | [CNLiveNetworking setupShowDataResult:NO]; |
| 48 | [QMUITips showLoadingInView:[UIApplication sharedApplication].keyWindow]; | 50 | [QMUITips showLoadingInView:[UIApplication sharedApplication].keyWindow]; |
| 51 | + __weak typeof(self) weakSelf = self; | ||
| 49 | [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodGET URLString:CNIntegralDetailsUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) { | 52 | [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodGET URLString:CNIntegralDetailsUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) { |
| 53 | + | ||
| 54 | + __strong typeof(weakSelf) strongSelf = weakSelf; | ||
| 55 | + if(!strongSelf) return ; | ||
| 50 | [QMUITips hideAllTipsInView:[UIApplication sharedApplication].keyWindow]; | 56 | [QMUITips hideAllTipsInView:[UIApplication sharedApplication].keyWindow]; |
| 51 | - [self hideEmptyView]; | ||
| 52 | - [self.tableView.mj_header endRefreshing]; | ||
| 53 | - [self.tableView.mj_footer endRefreshing]; | 57 | + |
| 58 | + [strongSelf.tableView.mj_header endRefreshing]; | ||
| 59 | + [strongSelf.tableView.mj_footer endRefreshing]; | ||
| 60 | + strongSelf.isRefreshing = NO; | ||
| 54 | 61 | ||
| 55 | if (error) { | 62 | if (error) { |
| 56 | - if (self.data.count == 0) { | ||
| 57 | - if (error.code == -1001||error.code == -1003||error.code == -1009) { | ||
| 58 | - [self showEmptyViewWithImage:[UIImage imageNamed:@"dd_wlcw"] text:@"无法连接网络" detailText:@"别紧张,试试看刷新页面~" buttonTitle:@" 重试 " buttonAction:@selector(loadData)]; | ||
| 59 | - [self setCNAPIErrorEmptyView]; | ||
| 60 | - self.tableView.mj_footer.hidden = self.data.count == 0; | ||
| 61 | - } | 63 | + if (error.code == -1001||error.code == -1003||error.code == -1009) { |
| 64 | + [strongSelf.tableView showEmptyViewWithType:CNLiveCustomTipsTypeNoNet noData:strongSelf.data.count == 0 block:^{ | ||
| 65 | + [self.tableView.mj_header beginRefreshing]; | ||
| 66 | + | ||
| 67 | + }]; | ||
| 68 | + }else{ | ||
| 69 | + [strongSelf.tableView showEmptyViewWithType:CNLiveCustomTipsTypeLoadFail noData:strongSelf.data.count == 0 block:^{ | ||
| 70 | + [self.tableView.mj_header beginRefreshing]; | ||
| 62 | 71 | ||
| 72 | + }]; | ||
| 63 | } | 73 | } |
| 74 | + strongSelf.tableView.emptyView.top = 0; | ||
| 75 | + strongSelf.tableView.mj_footer.hidden = self.data.count == 0; | ||
| 64 | return; | 76 | return; |
| 65 | } | 77 | } |
| 66 | if ([responseObject isKindOfClass:[NSDictionary class]] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { | 78 | if ([responseObject isKindOfClass:[NSDictionary class]] && [responseObject[@"errorCode"] isEqualToString:@"0"]) { |
| 67 | - if(self.pageNo == 1 && self.data.count>0){ | ||
| 68 | - [self.data removeAllObjects]; | 79 | + if(strongSelf.pageNo == 1 && strongSelf.data.count>0){ |
| 80 | + [strongSelf.data removeAllObjects]; | ||
| 69 | } | 81 | } |
| 70 | - self.isRefreshing = NO; | ||
| 71 | - self.pageNo++; | 82 | + strongSelf.pageNo++; |
| 72 | NSArray *arr = [CNLiveScoreModel mj_objectArrayWithKeyValuesArray:responseObject[@"data"][@"list"]]; | 83 | NSArray *arr = [CNLiveScoreModel mj_objectArrayWithKeyValuesArray:responseObject[@"data"][@"list"]]; |
| 73 | - [self.data addObjectsFromArray:arr]; | 84 | + [strongSelf.data addObjectsFromArray:arr]; |
| 74 | if (arr.count < 15) { | 85 | if (arr.count < 15) { |
| 75 | - [self.tableView.mj_footer endRefreshingWithNoMoreData]; | 86 | + [strongSelf.tableView.mj_footer endRefreshingWithNoMoreData]; |
| 76 | 87 | ||
| 77 | } else { | 88 | } else { |
| 78 | - [self.tableView.mj_footer endRefreshing]; | 89 | + [strongSelf.tableView.mj_footer endRefreshing]; |
| 79 | 90 | ||
| 80 | } | 91 | } |
| 81 | } | 92 | } |
| 82 | - self.tableView.mj_footer.hidden = self.data.count == 0; | ||
| 83 | - [self.tableView reloadData]; | 93 | + strongSelf.tableView.mj_footer.hidden = strongSelf.data.count == 0; |
| 94 | + [strongSelf.tableView reloadData]; | ||
| 84 | 95 | ||
| 85 | - if (self.data.count == 0) {//显示empty | ||
| 86 | -// [self showEmptyViewWithImage:[UIImage imageNamed:@"zhuangtai_kong"] text:@"您现在没有相关内容哦" detailText:@"" buttonTitle:@"" buttonAction:nil]; | ||
| 87 | -// [self setCNNoDataEmptyView]; | ||
| 88 | - self.tableView.tableFooterView = nil; | ||
| 89 | - } | 96 | + [strongSelf.tableView showEmptyViewWithType:CNLiveCustomTipsTypeNoData noData:strongSelf.data.count == 0 block:nil]; |
| 97 | + strongSelf.tableView.emptyView.top = 0; | ||
| 98 | + | ||
| 90 | }]; | 99 | }]; |
| 91 | 100 | ||
| 92 | } | 101 | } |
| @@ -199,7 +208,7 @@ | @@ -199,7 +208,7 @@ | ||
| 199 | __weak __typeof(self)weakSelf = self; | 208 | __weak __typeof(self)weakSelf = self; |
| 200 | CNLiveRefreshHeader *header = [CNLiveRefreshHeader headerWithRefreshingBlock:^{ | 209 | CNLiveRefreshHeader *header = [CNLiveRefreshHeader headerWithRefreshingBlock:^{ |
| 201 | weakSelf.pageNo = 1; | 210 | weakSelf.pageNo = 1; |
| 202 | - [weakSelf loadMoreData]; | 211 | + [weakSelf loadData]; |
| 203 | }]; | 212 | }]; |
| 204 | _tableView.mj_header = header; | 213 | _tableView.mj_header = header; |
| 205 | CNLiveRefreshFooter *footer = [CNLiveRefreshFooter footerWithRefreshingBlock:^{ | 214 | CNLiveRefreshFooter *footer = [CNLiveRefreshFooter footerWithRefreshingBlock:^{ |
Example/CNLiveIntegralModule.xcodeproj/project.pbxproj
| @@ -207,7 +207,7 @@ | @@ -207,7 +207,7 @@ | ||
| 207 | 6003F586195388D20070C39A /* Sources */, | 207 | 6003F586195388D20070C39A /* Sources */, |
| 208 | 6003F587195388D20070C39A /* Frameworks */, | 208 | 6003F587195388D20070C39A /* Frameworks */, |
| 209 | 6003F588195388D20070C39A /* Resources */, | 209 | 6003F588195388D20070C39A /* Resources */, |
| 210 | - 7148D6BFD50DE630902E3EF2 /* [CP] Embed Pods Frameworks */, | 210 | + 4C70DA34FB6E827DD499274A /* [CP] Embed Pods Frameworks */, |
| 211 | ); | 211 | ); |
| 212 | buildRules = ( | 212 | buildRules = ( |
| 213 | ); | 213 | ); |
| @@ -320,7 +320,7 @@ | @@ -320,7 +320,7 @@ | ||
| 320 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; | 320 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
| 321 | showEnvVarsInLog = 0; | 321 | showEnvVarsInLog = 0; |
| 322 | }; | 322 | }; |
| 323 | - 7148D6BFD50DE630902E3EF2 /* [CP] Embed Pods Frameworks */ = { | 323 | + 4C70DA34FB6E827DD499274A /* [CP] Embed Pods Frameworks */ = { |
| 324 | isa = PBXShellScriptBuildPhase; | 324 | isa = PBXShellScriptBuildPhase; |
| 325 | buildActionMask = 2147483647; | 325 | buildActionMask = 2147483647; |
| 326 | files = ( | 326 | files = ( |