This commit is contained in:
启星
2025-09-29 17:21:49 +08:00
parent 9307d88177
commit 2a44a06630
138 changed files with 2802 additions and 439 deletions

View File

@@ -15,6 +15,9 @@
@property(nonatomic,strong)UITableView* tableView;
@property(nonatomic,strong)NSMutableArray* allRecordArray;
@property(nonatomic,assign)NSInteger page;
@property(nonatomic,strong)UIButton* drawRankBtn;
@property(nonatomic,strong)UIButton* luckRankBtn;
@end
@implementation QXMeetActivityRankView
@@ -53,8 +56,32 @@
self.bgCoverView.backgroundColor = RGB16A(0x000000, 0.5);
[self.bgView addSubview:self.bgCoverView];
self.drawRankBtn = [[UIButton alloc] initWithFrame:CGRectMake((self.bgCoverView.width)/2-88-8, 20, 88, 32)];
[self.drawRankBtn setTitle:@"抽奖榜单" forState:(UIControlStateNormal)];
[self.drawRankBtn setTitleColor:RGB16(0xE8E8E8) forState:(UIControlStateNormal)];
self.drawRankBtn.titleLabel.font = [UIFont boldSystemFontOfSize:14];
[self.drawRankBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xD0C2FF)] forState:(UIControlStateNormal)];
[self.drawRankBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0x7C57FB)] forState:(UIControlStateSelected)];
[self.drawRankBtn addTarget:self action:@selector(drawRankAction) forControlEvents:(UIControlEventTouchUpInside)];
[self.bgCoverView addSubview:self.drawRankBtn];
self.drawRankBtn.selected = YES;
self.luckRankBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.drawRankBtn.right+16, 20, 88, 32)];
[self.luckRankBtn setTitle:@"幸运榜单" forState:(UIControlStateNormal)];
[self.luckRankBtn setTitleColor:RGB16(0xE8E8E8) forState:(UIControlStateNormal)];
self.luckRankBtn.titleLabel.font = [UIFont boldSystemFontOfSize:14];
[self.luckRankBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xD0C2FF)] forState:(UIControlStateNormal)];
[self.luckRankBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0x7C57FB)] forState:(UIControlStateSelected)];
[self.luckRankBtn addTarget:self action:@selector(luckRankAction) forControlEvents:(UIControlEventTouchUpInside)];
[self.bgCoverView addSubview:self.luckRankBtn];
[self.drawRankBtn addRoundedCornersWithRadius:16];
[self.luckRankBtn addRoundedCornersWithRadius:16];
[self.bgCoverView addSubview:self.tableView];
}
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
@@ -64,9 +91,9 @@
-(void)setRoomId:(NSString *)roomId{
_roomId = roomId;
self.page = 1;
[self getRecordList];
[self getRecordListWithType:@"1"];
}
-(void)getRecordList{
-(void)getRecordListWithType:(NSString*)type{
if (![self.roomId isExist]) {
return;
}
@@ -75,29 +102,65 @@
@"room_id":self.roomId?self.roomId:@"",
@"page":[NSNumber numberWithInteger:self.page]
};
NSString *url = [NSString stringWithFormat:@"%@%@",ServerUrl,@"api/BlindBoxTurntable/get_xlh_all_record"];
[[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) {
if (weakSelf.page == 1) {
[weakSelf.allRecordArray removeAllObjects];
}
NSArray *arr = [NSArray yy_modelArrayWithClass:[QXActivityRecordModel class] json:responseObject[@"data"]];
[weakSelf.allRecordArray addObjectsFromArray:arr];
[weakSelf.tableView reloadData];
if (arr.count == 0) {
weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData;
}else{
if ([type isEqualToString:@"1"]) {
NSString *url = [NSString stringWithFormat:@"%@%@",ServerUrl,@"api/BlindBoxTurntable/get_xlh_all_record"];
[[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) {
if (weakSelf.page == 1) {
[weakSelf.allRecordArray removeAllObjects];
}
NSArray *arr = [NSArray yy_modelArrayWithClass:[QXActivityRecordModel class] json:responseObject[@"data"]];
[weakSelf.allRecordArray addObjectsFromArray:arr];
[weakSelf.tableView reloadData];
if (arr.count == 0) {
weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData;
}else{
[weakSelf.tableView.mj_footer endRefreshing];
}
[weakSelf.tableView.mj_header endRefreshing];
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
[weakSelf.tableView.mj_footer endRefreshing];
}
[weakSelf.tableView.mj_header endRefreshing];
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
[weakSelf.tableView.mj_footer endRefreshing];
[weakSelf.tableView.mj_header endRefreshing];
}];
[weakSelf.tableView.mj_header endRefreshing];
}];
}else{
NSString *url = [NSString stringWithFormat:@"%@%@",ServerUrl,@"api/BlindBoxTurntable/get_xlh_ranking"];
[[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) {
if (weakSelf.page == 1) {
[weakSelf.allRecordArray removeAllObjects];
}
NSArray *arr = [NSArray yy_modelArrayWithClass:[QXActivityRecordModel class] json:responseObject[@"data"]];
[weakSelf.allRecordArray addObjectsFromArray:arr];
[weakSelf.tableView reloadData];
if (arr.count == 0) {
weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData;
}else{
[weakSelf.tableView.mj_footer endRefreshing];
}
[weakSelf.tableView.mj_header endRefreshing];
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
[weakSelf.tableView.mj_footer endRefreshing];
[weakSelf.tableView.mj_header endRefreshing];
}];
}
}
-(void)drawRankAction{
self.drawRankBtn.selected = YES;
self.luckRankBtn.selected = NO;
self.page = 1;
[self getRecordListWithType:@"1"];
}
-(void)luckRankAction{
self.drawRankBtn.selected = NO;
self.luckRankBtn.selected = YES;
self.page = 1;
[self getRecordListWithType:@"2"];
}
-(UITableView *)tableView{
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 10, self.bgCoverView.width, self.bgCoverView.height-10) style:(UITableViewStylePlain)];
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, self.drawRankBtn.bottom+10, self.bgCoverView.width, self.bgCoverView.height-self.drawRankBtn.bottom-10) style:(UITableViewStylePlain)];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.rowHeight = 70;
@@ -105,11 +168,19 @@
MJWeakSelf
_tableView.mj_footer = [MJRefreshBackStateFooter footerWithRefreshingBlock:^{
weakSelf.page++;
[weakSelf getRecordList];
if (self.drawRankBtn.selected) {
[weakSelf getRecordListWithType:@"1"];
}else{
[weakSelf getRecordListWithType:@"2"];
}
}];
_tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
weakSelf.page = 1;
[weakSelf getRecordList];
if (self.drawRankBtn.selected) {
[weakSelf getRecordListWithType:@"1"];
}else{
[weakSelf getRecordListWithType:@"2"];
}
}];
}
return _tableView;
@@ -119,9 +190,15 @@
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
QXMeetRankCell *cell = [QXMeetRankCell cellWithTableView:tableView];
cell.model = self.allRecordArray[indexPath.row];
return cell;
if (self.drawRankBtn.selected) {
QXMeetRankCell *cell = [QXMeetRankCell cellWithTableView:tableView];
cell.model = self.allRecordArray[indexPath.row];
return cell;
}else{
QXMeetRankLuckCell *cell = [QXMeetRankLuckCell cellWithTableView:tableView];
cell.model = self.allRecordArray[indexPath.row];
return cell;
}
}
@@ -229,3 +306,95 @@
}
@end
@implementation QXMeetRankLuckCell
+(instancetype)cellWithTableView:(UITableView*)tableView{
static NSString *cellId = @"QXMeetRankLuckCell";
QXMeetRankLuckCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (!cell) {
cell = [[QXMeetRankLuckCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:cellId];
cell.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
return cell;
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubviews];
}
return self;
}
-(void)setModel:(QXActivityRecordModel *)model{
_model = model;
self.numberLabel.text = model.periods;
self.giftInfoLabel.text = [NSString stringWithFormat:@"%@",model.gift_name];
self.recieveInfoLabel.text = [NSString stringWithFormat:@"%@",model.nickname];
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
self.timeLabel.text = model.createtime;
}
-(void)initSubviews{
self.contentView.backgroundColor = [UIColor clearColor];
self.numberLabel = [[UILabel alloc] init];
self.numberLabel.textColor = RGB16(0xA085FF);
self.numberLabel.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:self.numberLabel];
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(12);
make.left.mas_equalTo(12);
make.height.mas_equalTo(21);
}];
self.timeLabel = [[UILabel alloc] init];
self.timeLabel.textColor = RGB16(0x5B5B5B);
self.timeLabel.font = [UIFont systemFontOfSize:10];
[self.contentView addSubview:self.timeLabel];
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-12);
make.centerY.equalTo(self.numberLabel);
}];
self.recieveInfoLabel = [[UILabel alloc] init];
self.recieveInfoLabel.textColor = RGB16(0xffffff);
self.recieveInfoLabel.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:self.recieveInfoLabel];
[self.recieveInfoLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-12);
make.left.mas_equalTo(12);
make.height.mas_equalTo(21);
}];
self.giftImageView = [[UIImageView alloc] init];
self.giftImageView.contentMode = UIViewContentModeScaleAspectFit;
[self.contentView addSubview:self.giftImageView];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.contentView).offset(-12);
make.height.width.mas_equalTo(21);
make.centerY.equalTo(self.recieveInfoLabel);
}];
self.giftInfoLabel = [[UILabel alloc] init];
self.giftInfoLabel.textColor = RGB16(0xffffff);
self.giftInfoLabel.font = [UIFont systemFontOfSize:16];
[self.contentView addSubview:self.giftInfoLabel];
[self.giftInfoLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.giftImageView.mas_left);
make.centerY.equalTo(self.recieveInfoLabel);
}];
self.bottomLine = [[UIView alloc] init];
self.bottomLine.backgroundColor = RGB16(0xffffff);
[self.contentView addSubview:self.bottomLine];
[self.bottomLine mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(self.contentView);
make.left.mas_equalTo(12);
make.right.mas_equalTo(-12);
make.height.mas_equalTo(1);
}];
}
@end