// // QXSingerSongListCell.m // QXLive // // Created by 启星 on 2025/11/14. // #import "QXSingerSongListCell.h" #import "QXMineNetwork.h" #import "QXCustomAlertView.h" @implementation QXSingerSongListCell +(instancetype)cellWithTableView:(UITableView *)tableView{ static NSString *cellId = @"QXSingerSongListCell"; QXSingerSongListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId]; if (!cell) { cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject; cell.backgroundColor = [UIColor clearColor]; } return cell; } -(void)setType:(NSInteger)type{ _type = type; if (type == 0) { [self.requestBtn setTitle:@"点歌" forState:(UIControlStateNormal)]; self.giftImageView.hidden = NO; self.giftInfoLabel.hidden = NO; self.giftPriceLabel.hidden = NO; self.giftCoinImageView.hidden = NO; self.bossLabel.hidden = YES; self.songNameTopConstraint.constant = 12; self.singerNameTopConstraint.constant = 2; }else if (type == 1){ self.giftImageView.hidden = YES; self.giftInfoLabel.hidden = YES; self.giftPriceLabel.hidden = YES; self.giftCoinImageView.hidden = YES; self.bossLabel.hidden = NO; self.songNameTopConstraint.constant = 8; self.singerNameTopConstraint.constant = 2; [self.requestBtn setTitle:@"置顶" forState:(UIControlStateNormal)]; }else{ self.giftImageView.hidden = NO; self.giftInfoLabel.hidden = NO; self.giftPriceLabel.hidden = NO; self.giftCoinImageView.hidden = NO; self.bossLabel.hidden = NO; self.songNameTopConstraint.constant = 8; self.singerNameTopConstraint.constant = 2; [self.requestBtn setTitle:@"点歌" forState:(UIControlStateNormal)]; self.requestBtn.hidden = YES; } } -(void)setIsCompere:(BOOL)isCompere{ _isCompere = isCompere; if (self.type == 1) { self.requestBtn.hidden = !isCompere; }else if(self.type == 2){ self.requestBtn.hidden = YES; }else{ self.requestBtn.hidden = NO; } } -(void)setIndex:(NSInteger)index{ _index = index; if (self.type == 1) { if (index == 0) { self.playingLabel.hidden = NO; self.requestBtn.hidden = YES; }else{ self.requestBtn.hidden = NO; self.playingLabel.hidden = YES; } } } -(void)setModel:(QXUserSongListModel *)model{ _model = model; self.songNameLabel.text = model.song_name; self.singerNameLabel.text = [NSString stringWithFormat:@"演唱者:%@",model.singer_nickname]; [self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]]; self.giftInfoLabel.text = [NSString stringWithFormat:@"%@*%@",model.gift_name,model.gift_num]; self.giftPriceLabel.text = model.gift_price; self.bossLabel.text = [NSString stringWithFormat:@"老板:%@",model.boss_nickname]; } - (IBAction)requestAction:(UIButton*)sender { if ([sender.titleLabel.text isEqualToString:@"点歌"]) { QXCustomAlertView *alert = [[QXCustomAlertView alloc] init]; NSString *message = [NSString stringWithFormat:@"您是否确认点歌\"%@\" \n演唱者:%@ \n礼物价值:%@金币",self.model.song_name,self.model.singer_nickname,self.model.gift_price]; [alert showInView:KEYWINDOW title:@"温馨提示" message:message cancleTitle:@"取消" commitTitle:@"确定"]; alert.commitBlock = ^{ [QXMineNetwork requestSongWithSongId:self.model.id roomId:self.roomId successBlock:^(NSDictionary * _Nonnull dict) { showToast(@"点歌成功"); } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg); }]; }; }else{ MJWeakSelf [QXMineNetwork requestSongToTopWithId:self.model.id successBlock:^(NSDictionary * _Nonnull dict) { showToast(@"置顶成功"); if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(updateSongList)]) { [weakSelf.delegate updateSongList]; } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg); }]; } } - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end