// // DDSearchUserListViewController.m // DingDangApp // // Created by apple on 2023/5/31. // #import "DDSearchUserListViewController.h" #import "DDMyInfoCommonListTableView.h" @interface DDSearchUserListViewController () @end @implementation DDSearchUserListViewController -(UITableView *)myTableView { if (!_myTableView) { _myTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; _myTableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; _myTableView.estimatedSectionHeaderHeight = 0; _myTableView.estimatedSectionFooterHeight = 0; _myTableView.dataSource = self; _myTableView.delegate = self; _myTableView.estimatedRowHeight = 0; _myTableView.separatorStyle = UITableViewCellSeparatorStyleNone; _myTableView.separatorColor = [UIColor clearColor]; _myTableView.backgroundColor = [UIColor clearColor]; [_myTableView registerClass:DDMyInfoCommonListTableView.class forCellReuseIdentifier:@"DDMyInfoCommonListTableView"]; [ToolsObject customResetTableView:_myTableView]; WeakSelf(weakSelf) _myTableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ weakSelf.pageNum = 1; [weakSelf refreshListData]; }]; _myTableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ weakSelf.pageNum ++ ; [weakSelf refreshListData]; }]; } return _myTableView; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self.view addSubview:self.myTableView]; [self.myTableView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.equalTo(self.view); make.left.right.mas_equalTo(0); }]; } - (void)refreshListData{ NSMutableDictionary * requestDict = [NSMutableDictionary dictionary]; [requestDict setObject:[ToolsObject IsNullWithObject:self.searchStr]?@"":self.searchStr forKey:@"keywords"]; [requestDict setObject:@"user" forKey:@"type"]; [requestDict setObject:@(20) forKey:@"current_page"]; [requestDict setObject:@(self.pageNum) forKey:@"page_number"]; WeakSelf(weakSelf) /// /home/search NSString *url = [DDEncryptManager dd_aesDecryptWithText:@"9IiqdwQ2vgAWrRrCUnNGlA=="]; [NetworkRequest requestPOST:url parameters:requestDict block:^(BaseResponse * _Nonnull response) { if (response.code == 200) { if ([ToolsObject IsNullWithObject:response.data]) { [weakSelf.myTableView.mj_header endRefreshing]; [weakSelf.myTableView.mj_footer endRefreshing]; return; } if (weakSelf.pageNum == 1) { [weakSelf.listArr removeAllObjects]; } [weakSelf.listArr addObjectsFromArray:[NSArray yy_modelArrayWithClass:DDFansFollowVisitModel.class json:response.data[@"record"][@"userList"][@"list"]]]; dispatch_async(dispatch_get_main_queue(), ^{ [weakSelf.myTableView.mj_header endRefreshing]; [weakSelf.myTableView.mj_footer endRefreshing]; [weakSelf.myTableView reloadData]; }); if ([response.data[@"next"]integerValue] == 0) { [weakSelf.myTableView.mj_footer endRefreshingWithNoMoreData]; } } }]; } - (void)setSearchStr:(NSString *)searchStr{ _searchStr = searchStr; if (![ToolsObject IsNullWithObject:searchStr]){ self.pageNum = 1; [self refreshListData]; } } -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return CGFLOAT_MIN; } -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return CGFLOAT_MIN; } -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.listArr.count; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 100; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *indentifiers = @"DDMyInfoCommonListTableView"; DDMyInfoCommonListTableView *cell = [tableView dequeueReusableCellWithIdentifier:indentifiers]; if (!cell) { cell = [[DDMyInfoCommonListTableView alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indentifiers]; } cell.rowIndex = indexPath; cell.model = self.listArr[indexPath.row]; WeakSelf(weakSelf) cell.didFollowBlock = ^(DDFansFollowVisitModel * _Nonnull fansModel, NSIndexPath * _Nonnull index) { if (fansModel.is_attention) { [weakSelf requestcancelFollow:fansModel withIndexPath:index]; }else{ [weakSelf requestAddFollow:fansModel withIndexPath:index]; } }; cell.selectionStyle = UITableViewCellSelectionStyleNone; return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { DDFansFollowVisitModel *model = self.listArr[indexPath.row]; [ToolsObject pushMyInformationViewController:model.id]; } - (void)requestAddFollow:(DDFansFollowVisitModel *)userModel withIndexPath:(NSIndexPath *)index{ if ([ToolsObject IsNullWithObject:userModel.id]) { [ToolsObject addPopVieToText:@"未获取到该用户信息,请刷新重试"]; return; } [ToolsObject ShowSVProgressHUD:@""]; NSMutableDictionary *parameter =@{@"followed_user_id":userModel.id}.mutableCopy; WeakSelf(weakSelf) __block DDFansFollowVisitModel * tempModel = userModel; [NetworkRequest requestPOST:@"/dynamic/attention" parameters:parameter block:^(BaseResponse * _Nonnull response) { if (response.code == 200) { tempModel.is_attention = !tempModel.is_attention; [ToolsObject addPopVieToText:@"关注成功"]; [weakSelf.listArr replaceObjectAtIndex:index.row withObject:tempModel]; [weakSelf.myTableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationNone]; } }]; } - (void)requestcancelFollow:(DDFansFollowVisitModel *)userModel withIndexPath:(NSIndexPath *)index{ if ([ToolsObject IsNullWithObject:userModel.id]) { [ToolsObject addPopVieToText:@"未获取到该用户信息,请刷新重试"]; return; } [ToolsObject ShowSVProgressHUD:@""]; NSMutableDictionary *parameter =@{@"followed_user_id":userModel.id}.mutableCopy; __block DDFansFollowVisitModel * tempModel = userModel; WeakSelf(weakSelf) [NetworkRequest requestPOST:@"/dynamic/cancel/attention" parameters:parameter block:^(BaseResponse * _Nonnull response) { if (response.code == 200) { tempModel.is_attention = !tempModel.is_attention; [weakSelf.listArr replaceObjectAtIndex:index.row withObject:tempModel]; [weakSelf.myTableView reloadRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationNone]; } }]; } @end