YOUPAILZLiveConsumeMemberListVC.m 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //
  2. // YOUPAILZLiveConsumeMemberListVC.m
  3. // TIANYAN
  4. //
  5. // Created by CY on 2021/5/13.
  6. // Copyright © 2021 leo. All rights reserved.
  7. //
  8. #import "YOUPAILZLiveConsumeMemberListVC.h"
  9. #import "UIScrollView+LZRefresh.h"
  10. #import "YOUPAILZLiveOnlineMemberCell.h"
  11. #import "YOUPAILZLiveMemberModel.h"
  12. #import "YOUPAILZLiveCurrentMemberView.h"
  13. @interface YOUPAILZLiveConsumeMemberListVC () <UITableViewDelegate,UITableViewDataSource>
  14. @property (nonatomic, weak) UITableView *youpaiptableView;
  15. @property (nonatomic, assign) NSInteger youpaippage;
  16. @property (nonatomic, strong) NSMutableArray<YOUPAILZLiveMemberModel *> *youpaipdataSource;
  17. @property (nonatomic, weak) YOUPAILZLiveCurrentMemberView *youpaipfooterView;
  18. @end
  19. @implementation YOUPAILZLiveConsumeMemberListVC
  20. -(void)viewWillAppear:(BOOL)animated{
  21. [super viewWillAppear:animated];
  22. [self youpaifrequestMemberListWithStatus:kRefreshNormal];
  23. }
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. [self youpaifinitUI];
  27. [self youpaifrequestMemberListWithStatus:kRefreshNormal];
  28. }
  29. - (void)youpaifinitUI{
  30. if (!self.youpaipisAnchor) {
  31. YOUPAILZLiveCurrentMemberView *youpaipfooterView = [[YOUPAILZLiveCurrentMemberView alloc] init];
  32. youpaipfooterView.backgroundColor = [UIColor colorWithPatternImage:[LCTools ColorImage:CGSizeMake(KScreenWidth - 3.0f, 60.0f + SafeHeight) FromColors:@[HexColorFromRGB(0xFBD893),HexColorFromRGB(0xD66F47)] ByGradientType:GradientTopToBottom]];
  33. [self.view addSubview:youpaipfooterView];
  34. self.youpaipfooterView = youpaipfooterView;
  35. [youpaipfooterView mas_makeConstraints:^(MASConstraintMaker *make) {
  36. make.left.bottom.right.offset(0.0f);
  37. make.height.offset(60.0f + SafeHeight);
  38. }];
  39. }
  40. UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
  41. tableView.delegate = self;
  42. tableView.dataSource = self;
  43. tableView.rowHeight = 60.0f;
  44. tableView.estimatedRowHeight = 60.0f;
  45. tableView.estimatedSectionHeaderHeight = 0.0f;
  46. tableView.estimatedSectionFooterHeight = 0.0f;
  47. tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  48. tableView.backgroundColor = [UIColor clearColor];
  49. [self.view addSubview:tableView];
  50. self.youpaiptableView = tableView;
  51. __weak typeof(self) weakSelf = self;
  52. [tableView setRefreshHeaderWithBlock:^{
  53. [weakSelf youpaifrequestMemberListWithStatus:kRefreshHeader];
  54. }];
  55. [tableView mas_makeConstraints:^(MASConstraintMaker *make) {
  56. make.left.top.right.offset(0.0f);
  57. if (!self.youpaipisAnchor) {
  58. make.bottom.equalTo(self.youpaipfooterView.mas_top);
  59. }else{
  60. make.bottom.equalTo(0);
  61. }
  62. }];
  63. }
  64. #pragma mark - UITableViewDataSource
  65. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
  66. return self.youpaipdataSource.count;
  67. }
  68. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
  69. NSString *cellID = @"YOUPAILZLiveOnlineMemberCell";
  70. YOUPAILZLiveOnlineMemberCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
  71. if (!cell) {
  72. cell = [[YOUPAILZLiveOnlineMemberCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
  73. }
  74. [cell youpaifreloadWithModel:self.youpaipdataSource[indexPath.row] indexPath:indexPath type:self.youpaiptype youpaipthemeColor:HexColorFromRGB(0xFFDD8D)];
  75. return cell;
  76. }
  77. #pragma mark - UITableViewDelegate
  78. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  79. [self dismissViewControllerAnimated:YES completion:^{
  80. if (self.youpaipisAnchor == YES) {
  81. if (self.selectedMemberBlock != nil) {
  82. self.selectedMemberBlock(self.youpaipdataSource[indexPath.row]);
  83. }
  84. }else{
  85. if (self.selectedMemberBlock != nil) {
  86. self.selectedMemberBlock(self.youpaipdataSource[indexPath.row]);
  87. }
  88. }
  89. }];
  90. }
  91. - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
  92. return CGFLOAT_MIN;
  93. }
  94. - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
  95. return CGFLOAT_MIN;
  96. }
  97. /// 设置加载更多
  98. - (void)youpaifrefreshFooterWithHidden:(BOOL)hidden{
  99. __weak typeof(self) weakSelf = self;
  100. [self.youpaiptableView setRefreshFooter:hidden withBlock:^{
  101. [weakSelf youpaifrequestMemberListWithStatus:kRefreshFooter];
  102. }];
  103. }
  104. /// 获取预约列表数据
  105. - (void)youpaifrequestMemberListWithStatus:(kRefreshStatus)status{
  106. if (status == kRefreshFooter) {
  107. self.youpaippage ++;
  108. }else{
  109. self.youpaippage = 1;
  110. }
  111. WeakSelf;
  112. [LCHttpHelper requestWithURLString:GetLiveSendList parameters:@{@"page":@(self.youpaippage),@"live_id":self.youpaiplive_id} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  113. [weakSelf.youpaiptableView endRefreshing:kRefreshAll];
  114. NSDictionary* dict = (NSDictionary*)responseObject;
  115. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  116. if (code == 0) {//成功
  117. if (status != kRefreshFooter) {
  118. [weakSelf.youpaipdataSource removeAllObjects];
  119. }
  120. NSDictionary *data = [dict objectForKey:@"data"];
  121. NSArray <YOUPAILZLiveMemberModel *>*list = [YOUPAILZLiveMemberModel mj_objectArrayWithKeyValuesArray:[data objectForKey:@"list"]];
  122. [weakSelf.youpaipdataSource addObjectsFromArray:list];
  123. [weakSelf.youpaiptableView reloadData];
  124. YOUPAILZLiveMemberModel *youpaipmemberModel = [YOUPAILZLiveMemberModel mj_objectWithKeyValues:[data objectForKey:@"current"]];
  125. [weakSelf.youpaipfooterView youpaifreloadWithModel:youpaipmemberModel];
  126. weakSelf.youpaipfooterView.youpaiprankL.textColor = HexColorFromRGB(0x75170A);
  127. weakSelf.youpaipfooterView.youpaipnicknameL.textColor = HexColorFromRGB(0x75170A);
  128. NSMutableAttributedString *attrStr = weakSelf.youpaipfooterView.youpaipcontributionL.attributedText.mutableCopy;
  129. [attrStr addAttribute:NSForegroundColorAttributeName value:HexColorFromRGB(0x75170A) range:NSMakeRange(0, weakSelf.youpaipfooterView.youpaipcontributionL.attributedText.string.length)];
  130. weakSelf.youpaipfooterView.youpaipcontributionL.attributedText = attrStr.copy;
  131. weakSelf.youpaipfooterView.youpaiplastDifferenceL.textColor = HexColorFromRGB(0x75170A);
  132. [weakSelf.youpaiptableView lz_hideEmptyView];
  133. if (weakSelf.youpaipdataSource.count == 0) {
  134. [weakSelf.youpaiptableView lz_showEmptyViewWithImage:nil content:@"本场还没有人赠送过哦~"];
  135. }
  136. NSInteger youpaiptotalPage = [[data objectForKey:@"total_page"] integerValue];
  137. [weakSelf youpaifrefreshFooterWithHidden:self.youpaippage >= youpaiptotalPage];
  138. }
  139. } failure:^(NSError *error) {
  140. [weakSelf.youpaiptableView endRefreshing:kRefreshAll];
  141. }];
  142. }
  143. - (NSMutableArray<YOUPAILZLiveMemberModel *> *)youpaipdataSource{
  144. if (!_youpaipdataSource) {
  145. _youpaipdataSource = [NSMutableArray array];
  146. }
  147. return _youpaipdataSource;
  148. }
  149. #pragma mark - JXCategoryListContentViewDelegate
  150. - (UIView *)listView{
  151. return self.view;
  152. }
  153. @end