186 lines
6.0 KiB
Mathematica
186 lines
6.0 KiB
Mathematica
|
|
//
|
||
|
|
// YYRoomCPRankView.m
|
||
|
|
// SweetParty
|
||
|
|
//
|
||
|
|
// Created by bj_szd on 2023/12/25.
|
||
|
|
//
|
||
|
|
|
||
|
|
#import "YYRoomCPRankView.h"
|
||
|
|
#import "YYRoomCPRankCell.h"
|
||
|
|
|
||
|
|
@interface YYRoomCPRankView () <UITableViewDataSource, UITableViewDelegate, JXCategoryViewDelegate>
|
||
|
|
|
||
|
|
@property (nonatomic, strong) NSArray *titles;
|
||
|
|
@property (nonatomic, strong) JXCategoryTitleView *categoryView;
|
||
|
|
|
||
|
|
@property (nonatomic, assign) NSInteger currentIndex;
|
||
|
|
@property (nonatomic, strong) NSMutableArray *dataArray;
|
||
|
|
@property (nonatomic, assign) NSInteger page;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
@implementation YYRoomCPRankView
|
||
|
|
|
||
|
|
- (void)awakeFromNib {
|
||
|
|
[super awakeFromNib];
|
||
|
|
|
||
|
|
self.titles = @[@"日榜", @"周榜", @"月榜"];
|
||
|
|
self.dataArray = [[NSMutableArray alloc] init];
|
||
|
|
self.page = 1;
|
||
|
|
|
||
|
|
[self createUI];
|
||
|
|
|
||
|
|
[self fetchData];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)createUI {
|
||
|
|
WEAK_SELF
|
||
|
|
[self.touchImgV dg_Tapped:^{
|
||
|
|
[weakSelf removeFromSuperview];
|
||
|
|
}];
|
||
|
|
|
||
|
|
[self.titleBgView addSubview:self.categoryView];
|
||
|
|
[self.categoryView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||
|
|
make.edges.mas_equalTo(0);
|
||
|
|
}];
|
||
|
|
|
||
|
|
self.tableView.separatorStyle = NO;
|
||
|
|
self.tableView.delegate = self;
|
||
|
|
self.tableView.dataSource = self;
|
||
|
|
[self.tableView registerNib:[UINib nibWithNibName:@"YYRoomCPRankCell" bundle:nil] forCellReuseIdentifier:@"YYRoomCPRankCell"];
|
||
|
|
self.tableView.rowHeight = 110;
|
||
|
|
//刷新加载
|
||
|
|
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refreshFetchData)];
|
||
|
|
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(fetchMoreData)];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)fetchData {
|
||
|
|
NSDictionary *params = @{@"time":@(self.currentIndex+1), @"page":@(self.page), @"page_limit":@(10)};
|
||
|
|
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/coupling/get_cp_rank" Loading:NO Hud:NO Success:^(id _Nonnull responseDic) {
|
||
|
|
if (self.page == 1) {
|
||
|
|
[self.dataArray removeAllObjects];
|
||
|
|
[self.tableView reloadData];
|
||
|
|
}
|
||
|
|
[self endRefresh];
|
||
|
|
|
||
|
|
NSArray *arr = [YYRoomCPRankModel mj_objectArrayWithKeyValuesArray:responseDic[@"data"][@"list"]];
|
||
|
|
[self.dataArray addObjectsFromArray:arr];
|
||
|
|
|
||
|
|
[self.tableView reloadData];
|
||
|
|
|
||
|
|
if (arr.count > 0) {
|
||
|
|
[self endFooterRefreshWithMore];
|
||
|
|
}else {
|
||
|
|
[self endFooterRefreshWithNoMore];
|
||
|
|
}
|
||
|
|
|
||
|
|
} Failure:^(id _Nonnull errorData) {
|
||
|
|
[self endRefresh];
|
||
|
|
}];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)refreshFetchData {
|
||
|
|
self.page = 1;
|
||
|
|
[self fetchData];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)fetchMoreData {
|
||
|
|
self.page ++;
|
||
|
|
[self fetchData];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)endRefresh {
|
||
|
|
if ([self.tableView.mj_header isRefreshing]) {
|
||
|
|
[self.tableView.mj_header endRefreshing];
|
||
|
|
} else if ([self.tableView.mj_footer isRefreshing]) {
|
||
|
|
[self.tableView.mj_footer endRefreshing];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
-(void)endFooterRefreshWithMore{
|
||
|
|
self.tableView.mj_footer.hidden = NO;
|
||
|
|
[self.tableView.mj_footer endRefreshing];
|
||
|
|
}
|
||
|
|
|
||
|
|
-(void)endFooterRefreshWithNoMore{
|
||
|
|
self.tableView.mj_footer.hidden = NO;
|
||
|
|
[self.tableView.mj_footer endRefreshingWithNoMoreData];
|
||
|
|
}
|
||
|
|
|
||
|
|
- (IBAction)onDismiss:(id)sender {
|
||
|
|
[self removeFromSuperview];
|
||
|
|
}
|
||
|
|
|
||
|
|
#pragma mark - Table view data source
|
||
|
|
|
||
|
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||
|
|
return 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||
|
|
return self.dataArray.count;
|
||
|
|
}
|
||
|
|
|
||
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||
|
|
YYRoomCPRankCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YYRoomCPRankCell" forIndexPath:indexPath];
|
||
|
|
cell.selectionStyle = NO;
|
||
|
|
|
||
|
|
YYRoomCPRankModel *model = self.dataArray[indexPath.row];
|
||
|
|
cell.model = model;
|
||
|
|
|
||
|
|
// if (indexPath.row < 3) {
|
||
|
|
// cell.orderImgV.hidden = YES;
|
||
|
|
// cell.orderLab.hidden = YES;
|
||
|
|
// cell.orderImgV.image = [UIImage imageNamed:[NSString stringWithFormat:@"cp_rank_%ld", indexPath.row+1]];
|
||
|
|
// }else {
|
||
|
|
// cell.orderImgV.hidden = YES;
|
||
|
|
// cell.orderLab.hidden = NO;
|
||
|
|
// cell.orderLab.text = [NSString stringWithFormat:@"%ld", indexPath.row+1];
|
||
|
|
// }
|
||
|
|
cell.orderLab.text = [NSString stringWithFormat:@"%02ld", indexPath.row+1];
|
||
|
|
|
||
|
|
|
||
|
|
return cell;
|
||
|
|
}
|
||
|
|
|
||
|
|
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
|
||
|
|
self.currentIndex = index;
|
||
|
|
[self refreshFetchData];
|
||
|
|
}
|
||
|
|
|
||
|
|
// 分页菜单视图
|
||
|
|
- (JXCategoryTitleView *)categoryView {
|
||
|
|
if (!_categoryView) {
|
||
|
|
_categoryView = [[JXCategoryTitleView alloc] init];
|
||
|
|
_categoryView.delegate = self;
|
||
|
|
_categoryView.titleFont = YBMediumFont(14);
|
||
|
|
_categoryView.titleSelectedFont = YBBoldFont(14);
|
||
|
|
_categoryView.titleColor = HEXCOLORA(0xFFFFFF, 1);
|
||
|
|
_categoryView.titleSelectedColor = HEXCOLOR(0xE100E1);
|
||
|
|
_categoryView.cellWidth = 240/3;
|
||
|
|
_categoryView.cellSpacing = 0;
|
||
|
|
_categoryView.contentEdgeInsetLeft = 0;
|
||
|
|
_categoryView.contentEdgeInsetRight = 0;
|
||
|
|
_categoryView.averageCellSpacingEnabled = NO;
|
||
|
|
_categoryView.backgroundColor = HEXCOLORA(0x000000, 0.15);
|
||
|
|
_categoryView.layer.cornerRadius =34/2;
|
||
|
|
_categoryView.layer.masksToBounds = YES;
|
||
|
|
|
||
|
|
_categoryView.titles = self.titles;
|
||
|
|
|
||
|
|
JXCategoryIndicatorBackgroundView *backgroundView = [[JXCategoryIndicatorBackgroundView alloc] init];
|
||
|
|
backgroundView.indicatorHeight = 34;
|
||
|
|
backgroundView.indicatorWidthIncrement = 0;
|
||
|
|
backgroundView.indicatorCornerRadius = 17;
|
||
|
|
// backgroundView.indicatorColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(240/3, 34) direction:FXGradientChangeDirectionHorizontal startColor:mainLightColor endColor:mainDeepColor];
|
||
|
|
backgroundView.indicatorColor = kWhiteColor;
|
||
|
|
// backgroundView.layer.borderWidth = 1;
|
||
|
|
// backgroundView.layer.borderColor = HEXCOLOR(0xFFFFFF).CGColor;
|
||
|
|
|
||
|
|
_categoryView.indicators = @[backgroundView];
|
||
|
|
}
|
||
|
|
return _categoryView;
|
||
|
|
}
|
||
|
|
|
||
|
|
@end
|