Commit 0b99cbcb88a3e589d5206c8db9d08b94d954903e

Authored by zhangxiaowen
1 parent d0838c4b

no message

CNLiveCollectionModule/Classes/Controller/CNLiveCollectionController.m
... ... @@ -40,55 +40,51 @@ static const CGFloat timeValue = 1.5;
40 40  
41 41 #pragma mark - 数据
42 42 - (void)loadData{
43   - NSDictionary *params = @{
44   - @"pageSize":@"10",
45   - @"pageNo":[NSString stringWithFormat:@"%ld",_pageNo],
46   - @"appId":AppId,
47   - @"plat":@"i",
48   - @"sid":CNUserShareModel.uid};
49   - [CNLiveNetworking setAllowRequestDefaultArgument:YES];
50 43 [QMUITips showLoadingInView:self.view];
51   - [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodGET URLString:CNDarenCollectListDataSourceUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
52   - if(_pageNo == 1 && self.data.count > 0){
53   - [self.data removeAllObjects];
54   - }
55   - [QMUITips hideAllTipsInView:self.view];
56   - [self hideEmptyView];
  44 + __weak typeof(self) weakSelf = self;
  45 + [CNLiveCollectionRequest getCollectionList:CNUserShareModel.uid pageNo:[NSString stringWithFormat:@"%ld",_pageNo] block:^(BOOL isSuccess, NSArray * _Nonnull array, NSError * _Nonnull error) {
  46 + __strong typeof(weakSelf) strongSelf = weakSelf;
  47 + if(!strongSelf) return ;
  48 + [QMUITips hideAllTipsInView:strongSelf.view];
  49 + [strongSelf hideEmptyView];
  50 +
  51 + [strongSelf.tableView.mj_header endRefreshing];
  52 + [strongSelf.tableView.mj_footer endRefreshing];
57 53  
58 54 if (error) {
59   - if (self.data.count == 0) {
  55 + if (strongSelf.data.count == 0) {
60 56 if (error.code == -1001||error.code == -1003||error.code == -1009) {
61   - [self showEmptyViewWithImage:[UIImage imageNamed:@"dd_wlcw"] text:@"无法连接网络" detailText:@"别紧张,试试看刷新页面~" buttonTitle:@" 重试 " buttonAction:@selector(loadData)];
62   - [self setCNAPIErrorEmptyView];
63   - self.tableView.mj_footer.hidden = self.data.count == 0;
  57 + [strongSelf showEmptyViewWithImage:[UIImage imageNamed:@"dd_wlcw"] text:@"无法连接网络" detailText:@"别紧张,试试看刷新页面~" buttonTitle:@" 重试 " buttonAction:@selector(loadData)];
  58 + [strongSelf setCNAPIErrorEmptyView];
  59 + strongSelf.tableView.mj_footer.hidden = strongSelf.data.count == 0;
64 60 }
65 61 }
66 62 return;
67 63 }
68   - [self.tableView.mj_header endRefreshing];
69   - [self.tableView.mj_footer endRefreshing];
70   - if ([responseObject isKindOfClass:[NSDictionary class]] && [responseObject[@"errorCode"] isEqualToString:@"0"]) {
71   - _isRefreshing = NO;
72   - _pageNo++;
73   - NSArray *arr = [CNLiveCollectionModel mj_objectArrayWithKeyValuesArray:responseObject[@"data"][@"list"]];
74   - [self.data addObjectsFromArray:arr];
75   - if (arr.count < 10) {
76   - [self.tableView.mj_footer endRefreshingWithNoMoreData];
  64 +
  65 + if (isSuccess) {
  66 + if(strongSelf.pageNo == 1 && strongSelf.data.count > 0){
  67 + [strongSelf.data removeAllObjects];
  68 + }
  69 + strongSelf.isRefreshing = NO;
  70 + strongSelf.pageNo++;
  71 + [strongSelf.data addObjectsFromArray:array];
  72 + if (array.count < 10) {
  73 + [strongSelf.tableView.mj_footer endRefreshingWithNoMoreData];
77 74  
78 75 } else {
79   - [self.tableView.mj_footer endRefreshing];
  76 + [strongSelf.tableView.mj_footer endRefreshing];
80 77  
81 78 }
82 79 }
83   -
84   - if (self.data.count == 0) {//显示empty
85   -// [self showEmptyViewWithImage:[UIImage imageNamed:@"zhuangtai_kong"] text:@"您现在没有相关内容哦" detailText:@"" buttonTitle:@"" buttonAction:nil];
86   - [self setCNNoDataEmptyView];
87   - self.tableView.tableFooterView = nil;
  80 +
  81 + if (strongSelf.data.count == 0) {//显示empty
  82 + [strongSelf showEmptyViewWithImage:[UIImage imageNamed:@"zhuangtai_kong"] text:@"您现在没有相关内容哦" detailText:@"" buttonTitle:@"" buttonAction:nil];
  83 + [strongSelf setCNNoDataEmptyView];
  84 + strongSelf.tableView.tableFooterView = nil;
88 85 }
89   - self.tableView.mj_footer.hidden = self.data.count == 0;
90   - [self.tableView reloadData];
91   -
  86 + strongSelf.tableView.mj_footer.hidden = self.data.count == 0;
  87 + [strongSelf.tableView reloadData];
92 88 }];
93 89  
94 90 }
... ... @@ -133,7 +129,6 @@ static const CGFloat timeValue = 1.5;
133 129 - (void)goBack {
134 130 if (self.presentingViewController != nil) {
135 131 [self dismissViewControllerAnimated:YES completion:nil];
136   -
137 132 }
138 133 else {
139 134 [self.navigationController popViewControllerAnimated:YES];
... ... @@ -169,21 +164,23 @@ static const CGFloat timeValue = 1.5;
169 164 [QMUITips showLoadingInView:self.view];
170 165 __weak typeof(self) weakSelf = self;
171 166 [CNLiveCollectionRequest cancelCollection:cell.model.collectionId block:^(BOOL isSuccess, NSError * _Nonnull error) {
172   - [QMUITips hideAllToastInView:weakSelf.view animated:YES];
  167 + __strong typeof(weakSelf) strongSelf = weakSelf;
  168 + if(!strongSelf) return ;
  169 + [QMUITips hideAllToastInView:strongSelf.view animated:YES];
173 170 if (error) {
174   - [QMUITips showError:error.localizedDescription inView:weakSelf.view hideAfterDelay:timeValue];
  171 + [QMUITips showError:error.localizedDescription inView:strongSelf.view hideAfterDelay:timeValue];
175 172 return;
176 173 }
177 174 if (isSuccess) {
178   - [weakSelf.data removeObject:cell.model];
179   - [weakSelf.tableView reloadData];
180   - [QMUITips showSucceed:@"取消收藏成功" inView:weakSelf.view hideAfterDelay:timeValue];
181   - if (weakSelf.data.count == 0) {
182   - [weakSelf showEmptyViewWithImage:[UIImage imageNamed:@"zhuangtai_kong"] text:@"您现在没有相关内容哦" detailText:@"" buttonTitle:@"" buttonAction:nil];
183   - [weakSelf setCNNoDataEmptyView];
184   - weakSelf.tableView.tableFooterView = nil;
  175 + [strongSelf.data removeObject:cell.model];
  176 + [strongSelf.tableView reloadData];
  177 + [QMUITips showSucceed:@"取消收藏成功" inView:strongSelf.view hideAfterDelay:timeValue];
  178 + if (strongSelf.data.count == 0) {
  179 + [strongSelf showEmptyViewWithImage:[UIImage imageNamed:@"zhuangtai_kong"] text:@"您现在没有相关内容哦" detailText:@"" buttonTitle:@"" buttonAction:nil];
  180 + [strongSelf setCNNoDataEmptyView];
  181 + strongSelf.tableView.tableFooterView = nil;
185 182 }
186   - weakSelf.tableView.mj_footer.hidden = weakSelf.data.count == 0;
  183 + strongSelf.tableView.mj_footer.hidden = strongSelf.data.count == 0;
187 184 }
188 185 }];
189 186 }
... ...
CNLiveCollectionModule/Classes/Model/CNLiveCollectionRequest.h
... ... @@ -9,11 +9,15 @@
9 9 #import <Foundation/Foundation.h>
10 10  
11 11 NS_ASSUME_NONNULL_BEGIN
12   -typedef void(^Block)(BOOL isSuccess, NSError *error);
  12 +
  13 +typedef void(^CollectionListBlock)(BOOL isSuccess, NSArray *array, NSError *error);
  14 +typedef void(^CancelCollectionBlock)(BOOL isSuccess, NSError *error);
13 15  
14 16 @interface CNLiveCollectionRequest : NSObject
15 17  
16   -+ (void)cancelCollection:(NSString *)ID block:(Block)block;
  18 ++ (void)getCollectionList:(NSString *)ID pageNo:(NSString *)pageNo block:(CollectionListBlock)block;
  19 +
  20 ++ (void)cancelCollection:(NSString *)ID block:(CancelCollectionBlock)block;
17 21  
18 22 @end
19 23  
... ...
CNLiveCollectionModule/Classes/Model/CNLiveCollectionRequest.m
... ... @@ -12,9 +12,33 @@
12 12 #import "CNLiveEnvironment.h"
13 13 #import "CNUserInfoManager.h"
14 14  
  15 +#import "CNLiveCollectionModel.h"
  16 +#import "MJExtension.h"
  17 +
15 18 @implementation CNLiveCollectionRequest
16 19  
17   -+ (void)cancelCollection:(NSString *)ID block:(Block)block{
  20 ++ (void)getCollectionList:(NSString *)ID pageNo:(NSString *)pageNo block:(CollectionListBlock)block{
  21 + NSDictionary *params = @{
  22 + @"pageSize":@"10",
  23 + @"pageNo":pageNo,
  24 + @"appId":AppId,
  25 + @"plat":@"i",
  26 + @"sid":ID};
  27 + [CNLiveNetworking setAllowRequestDefaultArgument:YES];
  28 + [CNLiveNetworking requestNetworkWithMethod:CNLiveRequestMethodGET URLString:CNDarenCollectListDataSourceUrl Param:params CacheType:CNLiveNetworkCacheTypeNetworkOnly CompletionBlock:^(NSURLSessionTask *requestTask, id responseObject, NSError *error) {
  29 + if (responseObject&&[responseObject isKindOfClass:[NSDictionary class]]) {
  30 + NSString *errorCode = [NSString stringWithFormat:@"%@", responseObject[@"errorCode"]];
  31 + NSArray *arr = [CNLiveCollectionModel mj_objectArrayWithKeyValuesArray:responseObject[@"data"][@"list"]];
  32 + block?block([errorCode isEqualToString:@"0"], arr, error):@"";
  33 + }else{
  34 + block?block(NO, nil, error):@"";
  35 + }
  36 +
  37 + }];
  38 +
  39 +}
  40 +
  41 ++ (void)cancelCollection:(NSString *)ID block:(CancelCollectionBlock)block{
18 42 NSDictionary *params = @{@"appId":AppId,
19 43 @"plat":@"i",
20 44 @"sid":CNUserShareModel.uid,
... ...