Files
featherVoice/QXLive/Room(房间)/View/点唱/QXSingerSongListCell.m
2025-12-04 23:35:49 +08:00

124 lines
4.5 KiB
Objective-C

//
// 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 = !self.isCompere;
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