// // YOUPAILZLiveConsumeMemberListVC.m // TIANYAN // // Created by CY on 2021/5/13. // Copyright © 2021 leo. All rights reserved. // #import "YOUPAILZLiveConsumeMemberListVC.h" #import "UIScrollView+LZRefresh.h" #import "YOUPAILZLiveOnlineMemberCell.h" #import "YOUPAILZLiveMemberModel.h" #import "YOUPAILZLiveCurrentMemberView.h" @interface YOUPAILZLiveConsumeMemberListVC () @property (nonatomic, weak) UITableView *youpaiptableView; @property (nonatomic, assign) NSInteger youpaippage; @property (nonatomic, strong) NSMutableArray *youpaipdataSource; @property (nonatomic, weak) YOUPAILZLiveCurrentMemberView *youpaipfooterView; @end @implementation YOUPAILZLiveConsumeMemberListVC -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self youpaifrequestMemberListWithStatus:kRefreshNormal]; } - (void)viewDidLoad { [super viewDidLoad]; [self youpaifinitUI]; [self youpaifrequestMemberListWithStatus:kRefreshNormal]; } - (void)youpaifinitUI{ if (!self.youpaipisAnchor) { YOUPAILZLiveCurrentMemberView *youpaipfooterView = [[YOUPAILZLiveCurrentMemberView alloc] init]; youpaipfooterView.backgroundColor = [UIColor colorWithPatternImage:[LCTools ColorImage:CGSizeMake(KScreenWidth - 3.0f, 60.0f + SafeHeight) FromColors:@[HexColorFromRGB(0xFBD893),HexColorFromRGB(0xD66F47)] ByGradientType:GradientTopToBottom]]; [self.view addSubview:youpaipfooterView]; self.youpaipfooterView = youpaipfooterView; [youpaipfooterView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.bottom.right.offset(0.0f); make.height.offset(60.0f + SafeHeight); }]; } UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; tableView.delegate = self; tableView.dataSource = self; tableView.rowHeight = 60.0f; tableView.estimatedRowHeight = 60.0f; tableView.estimatedSectionHeaderHeight = 0.0f; tableView.estimatedSectionFooterHeight = 0.0f; tableView.separatorStyle = UITableViewCellSeparatorStyleNone; tableView.backgroundColor = [UIColor clearColor]; [self.view addSubview:tableView]; self.youpaiptableView = tableView; __weak typeof(self) weakSelf = self; [tableView setRefreshHeaderWithBlock:^{ [weakSelf youpaifrequestMemberListWithStatus:kRefreshHeader]; }]; [tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.right.offset(0.0f); if (!self.youpaipisAnchor) { make.bottom.equalTo(self.youpaipfooterView.mas_top); }else{ make.bottom.equalTo(0); } }]; } #pragma mark - UITableViewDataSource - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.youpaipdataSource.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ NSString *cellID = @"YOUPAILZLiveOnlineMemberCell"; YOUPAILZLiveOnlineMemberCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; if (!cell) { cell = [[YOUPAILZLiveOnlineMemberCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; } [cell youpaifreloadWithModel:self.youpaipdataSource[indexPath.row] indexPath:indexPath type:self.youpaiptype youpaipthemeColor:HexColorFromRGB(0xFFDD8D)]; return cell; } #pragma mark - UITableViewDelegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [self dismissViewControllerAnimated:YES completion:^{ if (self.youpaipisAnchor == YES) { if (self.selectedMemberBlock != nil) { self.selectedMemberBlock(self.youpaipdataSource[indexPath.row]); } }else{ if (self.selectedMemberBlock != nil) { self.selectedMemberBlock(self.youpaipdataSource[indexPath.row]); } } }]; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return CGFLOAT_MIN; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return CGFLOAT_MIN; } /// 设置加载更多 - (void)youpaifrefreshFooterWithHidden:(BOOL)hidden{ __weak typeof(self) weakSelf = self; [self.youpaiptableView setRefreshFooter:hidden withBlock:^{ [weakSelf youpaifrequestMemberListWithStatus:kRefreshFooter]; }]; } /// 获取预约列表数据 - (void)youpaifrequestMemberListWithStatus:(kRefreshStatus)status{ if (status == kRefreshFooter) { self.youpaippage ++; }else{ self.youpaippage = 1; } WeakSelf; [LCHttpHelper requestWithURLString:GetLiveSendList parameters:@{@"page":@(self.youpaippage),@"live_id":self.youpaiplive_id} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) { [weakSelf.youpaiptableView endRefreshing:kRefreshAll]; NSDictionary* dict = (NSDictionary*)responseObject; NSInteger code = [[dict objectForKey:@"code"] integerValue]; if (code == 0) {//成功 if (status != kRefreshFooter) { [weakSelf.youpaipdataSource removeAllObjects]; } NSDictionary *data = [dict objectForKey:@"data"]; NSArray *list = [YOUPAILZLiveMemberModel mj_objectArrayWithKeyValuesArray:[data objectForKey:@"list"]]; [weakSelf.youpaipdataSource addObjectsFromArray:list]; [weakSelf.youpaiptableView reloadData]; YOUPAILZLiveMemberModel *youpaipmemberModel = [YOUPAILZLiveMemberModel mj_objectWithKeyValues:[data objectForKey:@"current"]]; [weakSelf.youpaipfooterView youpaifreloadWithModel:youpaipmemberModel]; weakSelf.youpaipfooterView.youpaiprankL.textColor = HexColorFromRGB(0x75170A); weakSelf.youpaipfooterView.youpaipnicknameL.textColor = HexColorFromRGB(0x75170A); NSMutableAttributedString *attrStr = weakSelf.youpaipfooterView.youpaipcontributionL.attributedText.mutableCopy; [attrStr addAttribute:NSForegroundColorAttributeName value:HexColorFromRGB(0x75170A) range:NSMakeRange(0, weakSelf.youpaipfooterView.youpaipcontributionL.attributedText.string.length)]; weakSelf.youpaipfooterView.youpaipcontributionL.attributedText = attrStr.copy; weakSelf.youpaipfooterView.youpaiplastDifferenceL.textColor = HexColorFromRGB(0x75170A); [weakSelf.youpaiptableView lz_hideEmptyView]; if (weakSelf.youpaipdataSource.count == 0) { [weakSelf.youpaiptableView lz_showEmptyViewWithImage:nil content:@"本场还没有人赠送过哦~"]; } NSInteger youpaiptotalPage = [[data objectForKey:@"total_page"] integerValue]; [weakSelf youpaifrefreshFooterWithHidden:self.youpaippage >= youpaiptotalPage]; } } failure:^(NSError *error) { [weakSelf.youpaiptableView endRefreshing:kRefreshAll]; }]; } - (NSMutableArray *)youpaipdataSource{ if (!_youpaipdataSource) { _youpaipdataSource = [NSMutableArray array]; } return _youpaipdataSource; } #pragma mark - JXCategoryListContentViewDelegate - (UIView *)listView{ return self.view; } @end