124 lines
4.5 KiB
Objective-C
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 = 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
|