YOUPAILCFansVC.m 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. //
  2. // YOUPAILCFansVC.m
  3. // LiveChat
  4. //
  5. // Created by 张灿 on 2018/8/26.
  6. // Copyright © 2018年 caicai. All rights reserved.
  7. //
  8. #import "YOUPAILCFansVC.h"
  9. #import "YOUPAILCRelationCell.h"
  10. #import "YOUPAILZUserShowVC.h"
  11. @interface YOUPAILCFansVC ()<UITableViewDelegate,UITableViewDataSource>
  12. @property(nonatomic,assign)NSInteger youpaipcurrentPage;
  13. @property(nonatomic,assign)NSInteger youpaiptotalPage;
  14. @property(nonatomic,strong)NSMutableArray* youpaipuserArray;
  15. @property(nonatomic,strong)NSMutableArray* youpaipuserIdArray;
  16. @end
  17. @implementation YOUPAILCFansVC
  18. - (void)viewDidLoad {
  19. [super viewDidLoad];
  20. self.title = @"我的粉丝";
  21. self.view.backgroundColor = [UIColor whiteColor];
  22. [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(youpaifchangeFollowStateNotification:) name:@"ChangeFollowState" object:nil];;
  23. self.youpaipuserArray = [NSMutableArray array];
  24. self.youpaipuserIdArray = [NSMutableArray array];
  25. [self youpaifsetupTableView];
  26. self.tableView.backgroundColor = [UIColor clearColor];
  27. [self.tableView.mj_header beginRefreshing];
  28. }
  29. -(void)youpaifchangeFollowStateNotification:(NSNotification *)notification{
  30. NSDictionary *dict = [notification userInfo];
  31. NSString *idStr = dict[@"follow_uid"];
  32. NSInteger isfollow = [dict[@"is_follow"] intValue];
  33. NSArray *arr = self.youpaipuserArray;
  34. NSMutableArray *arrM = [NSMutableArray new];
  35. if (arr.count>0) {
  36. NSIndexPath *index;
  37. for (int i = 0; i<arr.count; i++) {
  38. YOUPAILCRelationModel *model = arr[i];
  39. if ([model.youpaipuserid isEqualToString:idStr]) {
  40. model.youpaipis_follow = isfollow;
  41. index = [NSIndexPath indexPathForRow:i inSection:0];
  42. [arrM addObject:index];
  43. }
  44. }
  45. [self.tableView reloadRowsAtIndexPaths:arrM withRowAnimation:UITableViewRowAnimationFade];
  46. }
  47. NSLog(@"%@",dict[@"follow_uid"]);
  48. }
  49. -(void)dealloc{
  50. [[NSNotificationCenter defaultCenter]removeObserver:self];
  51. }
  52. - (void)youpaifsetupTableView{
  53. self.tableView.frame = CGRectMake(0, NavBarHeight, KScreenWidth, KScreenHeight-NavBarHeight);
  54. self.tableView.showsVerticalScrollIndicator = NO;
  55. self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  56. self.tableView.estimatedRowHeight = 74;
  57. self.tableView.delegate = self;
  58. self.tableView.dataSource= self;
  59. self.isAllowScroll = YES;
  60. [self.view addSubview:self.tableView];
  61. self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(youpaifloadNewData)];
  62. MJRefreshAutoNormalFooter* normalFooter = [MJRefreshAutoNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(youpaifloadMoreData)];
  63. [normalFooter setTitle:@"正在加载..." forState:(MJRefreshStateRefreshing)];
  64. [normalFooter setTitle:@"" forState:(MJRefreshStateNoMoreData)];
  65. self.tableView.mj_footer = normalFooter;
  66. self.tableView.mj_footer.automaticallyHidden = YES;
  67. }
  68. - (void)youpaifloadNewData{
  69. self.tableView.mj_footer.hidden = YES;
  70. [self.tableView.mj_footer endRefreshing];//先结束上拉,假如有的话
  71. self.youpaipcurrentPage = 1;
  72. [LCHttpHelper requestWithURLString:FansList parameters:@{@"page":@(self.youpaipcurrentPage)} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  73. NSDictionary* dict = (NSDictionary*)responseObject;
  74. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  75. if (code==0) {//成功
  76. [self.youpaipuserArray removeAllObjects];
  77. [self.youpaipuserIdArray removeAllObjects];
  78. NSArray* array = [[dict objectForKey:@"data"]objectForKey:@"list"];
  79. NSMutableArray* modelArray = [YOUPAILCRelationModel mj_objectArrayWithKeyValuesArray:array];
  80. NSMutableArray* tempArray = [NSMutableArray arrayWithArray:(NSArray*)modelArray];
  81. for (YOUPAILCRelationModel* model in modelArray) {
  82. if ([self.youpaipuserArray containsObject:model.youpaipuserid]) {
  83. [tempArray removeObject:model];
  84. }else{
  85. [self.youpaipuserIdArray addObject:model.youpaipuserid];
  86. }
  87. }
  88. [self.youpaipuserArray addObjectsFromArray:tempArray];
  89. self.youpaiptotalPage = [[[dict objectForKey:@"data"]objectForKey:@"total_page"]integerValue];
  90. self.youpaipcurrentPage = [[[dict objectForKey:@"data"]objectForKey:@"page"]integerValue];
  91. [self.tableView reloadData];
  92. if (self.youpaipcurrentPage>=self.youpaiptotalPage) {
  93. [self.tableView.mj_footer endRefreshingWithNoMoreData];
  94. self.tableView.mj_footer.hidden = YES;
  95. }
  96. if (self.youpaipuserArray.count != 0) {
  97. [self.tableView lz_hideEmptyView];
  98. }else{
  99. [self.tableView lz_showEmptyViewWithImage:[UIImage imageNamed:@"vqu_images_not_home_data"] content:@"暂无数据"];
  100. }
  101. [self.tableView.mj_header endRefreshing];
  102. }else{
  103. [self.tableView.mj_header endRefreshing];
  104. }
  105. } failure:^(NSError *error) {
  106. [self.tableView.mj_header endRefreshing];
  107. }];
  108. }
  109. - (void)youpaifloadMoreData{
  110. [self.tableView.mj_header endRefreshing];
  111. self.tableView.mj_footer.hidden = YES;
  112. [self.tableView.mj_footer endRefreshing];
  113. self.youpaipcurrentPage+=1;
  114. [LCHttpHelper requestWithURLString:FansList parameters:@{@"page":@(self.youpaipcurrentPage)} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  115. NSDictionary* dict = (NSDictionary*)responseObject;
  116. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  117. if (code==0) {//成功
  118. NSArray* array = [[dict objectForKey:@"data"]objectForKey:@"list"];
  119. NSMutableArray* modelArray = [YOUPAILCRelationModel mj_objectArrayWithKeyValuesArray:array];
  120. NSMutableArray* tempArray = [NSMutableArray arrayWithArray:(NSArray*)modelArray];
  121. for (YOUPAILCRelationModel* model in modelArray) {
  122. if ([self.youpaipuserArray containsObject:model.youpaipuserid]) {
  123. [tempArray removeObject:model];
  124. }else{
  125. [self.youpaipuserIdArray addObject:model.youpaipuserid];
  126. }
  127. }
  128. [self.youpaipuserArray addObjectsFromArray:tempArray];
  129. self.youpaiptotalPage = [[[dict objectForKey:@"data"]objectForKey:@"total_page"]integerValue];
  130. self.youpaipcurrentPage = [[[dict objectForKey:@"data"]objectForKey:@"page"]integerValue];
  131. [self.tableView reloadData];
  132. if (self.youpaipcurrentPage>=self.youpaiptotalPage) {
  133. [self.tableView.mj_footer endRefreshingWithNoMoreData];
  134. self.tableView.mj_footer.hidden = YES;
  135. }
  136. [self.tableView.mj_header endRefreshing];
  137. }else{
  138. [self.tableView.mj_header endRefreshing];
  139. }
  140. } failure:^(NSError *error) {
  141. [self.tableView.mj_header endRefreshing];
  142. }];
  143. }
  144. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  145. return 70;
  146. }
  147. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  148. return self.youpaipuserArray.count;
  149. }
  150. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  151. YOUPAILCRelationCell* cell = [[YOUPAILCRelationCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"LCRelationCellfans"];
  152. YOUPAILCRelationModel* model = self.youpaipuserArray[indexPath.row];
  153. cell.youpaiprelationType = @"fans";
  154. cell.youpaiprelationModel = model;
  155. return cell;
  156. }
  157. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  158. //动态无响应事件
  159. YOUPAILCRelationModel* model = self.youpaipuserArray[indexPath.row];
  160. model.youpaipis_watch = 1;
  161. [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
  162. //LCUserShowVC* userShow = [[LCUserShowVC alloc]init];
  163. YOUPAILZUserShowVC *userShow = [[YOUPAILZUserShowVC alloc] init];
  164. userShow.youpaipuserId = model.youpaipuserid;
  165. [self.navigationController pushViewController:userShow animated:YES];
  166. }
  167. @end