修改完成

This commit is contained in:
启星
2025-09-11 18:25:41 +08:00
parent 349cab1499
commit 35709d4e8e
67 changed files with 1344 additions and 223 deletions

View File

@@ -43,6 +43,7 @@
@property (nonatomic,strong) QXRoomOnlineUserListView *onlineListView;
@property (nonatomic,strong) QXRoomNoticeView *noticeView;
@property (nonatomic,strong)QXRoomRankView *rankView;
@end
@@ -292,7 +293,9 @@
}
-(void)previewUserInfoWithUserId:(NSString *)userId{
[self.onlineListView hide];
[self.rankView hide];
_onlineListView = nil;
_rankView = nil;
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[self.delegate previewUserInfoWithUserId:userId];
}
@@ -322,7 +325,13 @@
return _noticeView;
}
-(QXRoomRankView *)rankView{
if (!_rankView) {
_rankView = [[QXRoomRankView alloc] initWithFrame:[UIScreen mainScreen].bounds];
_rankView.delegate = self;
}
return _rankView;
}
-(void)noticeAction{
// self.noticeView.roomNotice = @"本房间严禁刷屏,禁止非法广告及宣传,禁止引战,地域黑,语言攻击等本房间严禁刷屏,禁止非法广告及宣传,禁止引战,地域黑,语言攻击等本房间严禁刷屏,禁止非法广告及宣传。本房间严禁刷屏,禁止非法广告及宣传,禁止引战,地域黑,语言攻击等本房间严禁刷屏,禁止非法广告及宣传,禁止引战,地域黑,语言攻击等本房间严禁刷屏,禁止非法广告及宣传。";
self.noticeView.roomNotice = self.roomModel.room_info.room_intro;
@@ -332,9 +341,8 @@
}
-(void)rankAction{
QXRoomRankView *rankView = [[QXRoomRankView alloc] initWithFrame:[UIScreen mainScreen].bounds];
rankView.roomId = self.roomId;
[rankView showInView:self.viewController.view];
self.rankView.roomId = self.roomId;
[self.rankView showInView:self.viewController.view];
}
-(void)followAction:(UIButton*)sender{

View File

@@ -0,0 +1,34 @@
//
// QXRoomUserCharmView.h
// QXLive
//
// Created by 启星 on 2025/9/8.
//
#import <UIKit/UIKit.h>
#import "QXRoomUserCharmModel.h"
#import "QXUserHomeHeaderView.h"
#import "QXRoomSeatDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface QXRoomUserCharmView : UIView
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
@property (nonatomic,strong)NSString *roomId;
@property (nonatomic,strong)NSString *userId;
-(void)showInView:(UIView *)view;
-(void)hide;
@end
@interface QXRoomUserCharmCell : UITableViewCell<UICollectionViewDelegate,UICollectionViewDataSource>
+(instancetype)cellWithTableView:(UITableView*)tableView;
@property (nonatomic,strong)UIImageView *headImageView;
@property (nonatomic,strong)UILabel *nameLabel;
@property (nonatomic,strong)UILabel *IdLabel;
@property (nonatomic,strong)UICollectionView *collectionView;
@property (nonatomic,strong)UIImageView *charmIconView;
@property (nonatomic,strong)UILabel* charmLabel;
@property (nonatomic,strong)QXRoomUserCharmModel *model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,232 @@
//
// QXRoomUserCharmView.m
// QXLive
//
// Created by on 2025/9/8.
//
#import "QXRoomUserCharmView.h"
#import "QXMineNetwork.h"
#import "NSString+QX.h"
@interface QXRoomUserCharmView()<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong)UILabel *titleLabel;
@property (nonatomic,strong)UITableView *tableView;
@property (nonatomic,strong)UIView *bgView;
@property (nonatomic,strong)NSMutableArray *dataArray;
@end
@implementation QXRoomUserCharmView
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self initSubviews];
}
return self;
}
-(void)initSubviews{
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hide)];
tap.delegate = self;
[self addGestureRecognizer:tap];
self.bgView = [[UIView alloc] initWithFrame:CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, ScaleWidth(429)+kSafeAreaBottom)];
self.bgView.backgroundColor = [UIColor whiteColor];
[self.bgView addRoundedCornersWithRadius:16 byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight)];
[self addSubview:self.bgView];
self.titleLabel = [[UILabel alloc] init];
self.titleLabel.textAlignment = NSTextAlignmentCenter;
self.titleLabel.text = @"魅力值详情";
self.titleLabel.textColor = QXConfig.textColor;
self.titleLabel.font = [UIFont boldSystemFontOfSize:16];
[self.bgView addSubview:self.titleLabel];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(27);
make.left.right.equalTo(self.bgView);
make.height.mas_equalTo(24);
}];
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:(UITableViewStylePlain)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.rowHeight = 55;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
MJWeakSelf
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
[weakSelf getCharmList];
}];
[self.bgView addSubview:self.tableView];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleLabel.mas_bottom).offset(12);
make.bottom.equalTo(self.bgView);
make.left.right.equalTo(self.bgView);
}];
}
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
return touch.view == self;
}
-(void)setRoomId:(NSString *)roomId{
_roomId = roomId;
}
-(void)setUserId:(NSString *)userId{
_userId = userId;
[self getCharmList];
}
-(void)getCharmList{
MJWeakSelf
[QXMineNetwork getRoomUserCharmListWithRoomId:self.roomId userId:self.userId successBlock:^(NSArray * _Nonnull list) {
[weakSelf.dataArray removeAllObjects];
[weakSelf.dataArray addObjectsFromArray:list];
[weakSelf.tableView reloadData];
[weakSelf.tableView.mj_header endRefreshing];
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
[weakSelf.tableView.mj_header endRefreshing];
}];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.dataArray.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
QXRoomUserCharmCell *cell = [QXRoomUserCharmCell cellWithTableView:tableView];
cell.model = self.dataArray[indexPath.row];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
QXRoomUserCharmModel *model = self.dataArray[indexPath.row];
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[self.delegate previewUserInfoWithUserId:model.user_id];
}
}
-(void)showInView:(UIView *)view{
[view addSubview:self];
[UIView animateWithDuration:0.3 animations:^{
self.bgView.y = SCREEN_HEIGHT-ScaleWidth(429)-kSafeAreaBottom;
}];
}
-(void)hide{
[UIView animateWithDuration:0.3 animations:^{
self.bgView.y = SCREEN_HEIGHT;
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
-(NSMutableArray *)dataArray{
if (!_dataArray) {
_dataArray = [NSMutableArray array];
}
return _dataArray;
}
@end
@implementation QXRoomUserCharmCell
+(instancetype)cellWithTableView:(UITableView*)tableView{
static NSString *cellId = @"QXRoomUserCharmCell";
QXRoomUserCharmCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (!cell) {
cell = [[QXRoomUserCharmCell 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:(QXRoomUserCharmModel *)model{
_model = model;
self.nameLabel.text = model.nickname;
self.IdLabel.text= [NSString stringWithFormat:@"ID:%@",model.user_code];
[self.headImageView sd_setImageWithURL:[NSURL URLWithString:model.avatar] placeholderImage:[UIImage imageNamed:@"user_header_placehoulder"]];
self.charmLabel.text = [NSString qx_showHotCountNumDouble:model.charm.longLongValue];
[self.collectionView reloadData];
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return self.model.icon.count;
}
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
QXTagImageCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXTagImageCell" forIndexPath:indexPath];
cell.imageUrl = self.model.icon[indexPath.row];
return cell;
}
-(void)initSubviews{
self.headImageView = [[UIImageView alloc] init];
self.headImageView.contentMode = UIViewContentModeScaleAspectFill;
self.headImageView.clipsToBounds = YES;
[self.headImageView addRoundedCornersWithRadius:ScaleWidth(21.5)];
[self.contentView addSubview:self.headImageView];
[self.headImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(16);
make.width.height.mas_equalTo(43);
make.centerY.equalTo(self.contentView);
}];
self.nameLabel = [[UILabel alloc] init];
self.nameLabel.textColor = RGB16(0x333333);
self.nameLabel.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:self.nameLabel];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.headImageView.mas_right).offset(8);
make.top.equalTo(self.headImageView);
make.height.mas_equalTo(21);
}];
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.itemSize = CGSizeMake(42, 16);
layout.minimumLineSpacing = 7;
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
self.collectionView.delegate = self;
self.collectionView.dataSource = self;
self.collectionView.backgroundColor = UIColor.clearColor;
[self.collectionView registerClass:[QXTagImageCell class] forCellWithReuseIdentifier:@"QXTagImageCell"];
[self addSubview:self.collectionView];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.nameLabel.mas_right).offset(8);
make.height.mas_equalTo(21);
make.centerY.equalTo(self.nameLabel);
make.width.mas_equalTo(126);
}];
self.IdLabel = [[UILabel alloc] init];
self.IdLabel.textColor = RGB16(0x999999);
self.IdLabel.font = [UIFont systemFontOfSize:12];
[self.contentView addSubview:self.IdLabel];
[self.IdLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.headImageView.mas_right).offset(8);
make.bottom.equalTo(self.headImageView);
make.height.mas_equalTo(18);
}];
self.charmLabel = [[UILabel alloc] init];
self.charmLabel.textColor = RGB16(0x333333);
self.charmLabel.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:self.charmLabel];
[self.charmLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-16);
make.centerY.equalTo(self.contentView);
make.height.mas_equalTo(21);
}];
self.charmIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_user_charm_icon"]];
self.charmIconView.contentMode = UIViewContentModeScaleAspectFill;
[self.contentView addSubview:self.charmIconView];
[self.charmIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.charmLabel.mas_left).offset(-6);
make.width.height.mas_equalTo(18);
make.centerY.equalTo(self.contentView);
}];
}
@end

View File

@@ -8,11 +8,13 @@
#import <UIKit/UIKit.h>
#import "JXCategoryView.h"
#import "QXRoomModel.h"
#import "QXRoomSeatDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface QXRoomRankSubView : UIView<JXCategoryListContentViewDelegate>
@property (nonatomic,strong)NSString*roomId;
@property (nonatomic,strong)NSString*type;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
@end
@@ -28,5 +30,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,assign)NSInteger number;
@property (nonatomic,strong)QXRoomOnlineList*md;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -9,7 +9,7 @@
#import "QXBlackListCell.h"
#import "QXMineNetwork.h"
@interface QXRoomRankSubView()<UITableViewDataSource,UITableViewDelegate>
@interface QXRoomRankSubView()<UITableViewDataSource,UITableViewDelegate,QXRoomSeatDelegate>
@property (nonatomic,strong)UIView *topBgView;
@property (nonatomic,strong)UIButton *hourBtn;
@property (nonatomic,strong)UIButton *dayBtn;
@@ -110,15 +110,18 @@
self.secondView = [[QXRoomRankTopThreeView alloc] initWithFrame:CGRectMake(18, 50, itemWidth, 135)];
self.secondView.number = 2;
self.secondView.delegate = self;
[self.tableHeaderView addSubview:self.secondView];
self.firstView = [[QXRoomRankTopThreeView alloc] initWithFrame:CGRectMake(self.secondView.right, 0, itemWidth, 161)];
self.firstView.number = 1;
self.firstView.delegate = self;
[self.tableHeaderView addSubview:self.firstView];
self.thirdView = [[QXRoomRankTopThreeView alloc] initWithFrame:CGRectMake(self.firstView.right, 50, itemWidth, 135)];
self.thirdView.number = 3;
self.thirdView.delegate = self;
[self.tableHeaderView addSubview:self.thirdView];
[self addSubview:self.tableHeaderView];
@@ -197,6 +200,11 @@
}];
}
-(void)previewUserInfoWithUserId:(NSString *)userId{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[self.delegate previewUserInfoWithUserId:userId];
}
}
-(void)typeAction:(UIButton*)sender{
self.selectedBtn.selected = !self.selectedBtn.selected;
@@ -218,7 +226,12 @@
cell.rankModel = self.dataArray[indexPath.row];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
QXRoomOnlineList *model = self.dataArray[indexPath.row];
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[self.delegate previewUserInfoWithUserId:model.user_id];
}
}
-(NSMutableArray *)dataArray{
if (!_dataArray) {
_dataArray = [NSMutableArray array];
@@ -331,6 +344,14 @@
[self.headerImageView addRoundedCornersWithRadius:32];
self.headerImageView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:self.headerImageView];
MJWeakSelf
[self.headerImageView addTapBlock:^(id _Nonnull obj) {
if ([weakSelf.md.user_id isExist]) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[weakSelf.delegate previewUserInfoWithUserId:weakSelf.md.user_id];
}
}
}];
[self.headerImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self);
make.top.equalTo(self).offset(10);

View File

@@ -6,12 +6,14 @@
//
#import <UIKit/UIKit.h>
#import "QXRoomSeatDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@interface QXRoomRankView : UIView
@property (nonatomic,strong)NSString*roomId;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
-(void)showInView:(UIView *)view;
-(void)hide;
@end
NS_ASSUME_NONNULL_END

View File

@@ -9,11 +9,13 @@
#import "JXCategoryView.h"
#import "QXRoomRankSubView.h"
@interface QXRoomRankView()<JXCategoryViewDelegate,JXCategoryListContainerViewDelegate,UIGestureRecognizerDelegate>
@interface QXRoomRankView()<JXCategoryViewDelegate,JXCategoryListContainerViewDelegate,UIGestureRecognizerDelegate,QXRoomSeatDelegate>
@property (nonatomic,strong)UIImageView *bgImageView;
@property (nonatomic,strong)UIView *bgView;
@property (nonatomic,strong)JXCategoryTitleView *categoryView;
@property (nonatomic,strong)JXCategoryListContainerView *containerView;
@property (nonatomic,strong)QXRoomRankSubView *moneyView;
@property (nonatomic,strong)QXRoomRankSubView *charmView;
@end
@implementation QXRoomRankView
@@ -70,7 +72,11 @@
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
return touch.view == self;
}
-(void)setRoomId:(NSString *)roomId{
_roomId = roomId;
self.charmView.roomId = roomId;
self.moneyView.roomId = roomId;
}
-(void)showInView:(UIView *)view{
self.bgView.y = SCREEN_HEIGHT;
[view addSubview:self];
@@ -85,7 +91,11 @@
[self removeFromSuperview];
}];
}
-(void)previewUserInfoWithUserId:(NSString *)userId{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
[self.delegate previewUserInfoWithUserId:userId];
}
}
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView{
return 2;
@@ -94,10 +104,13 @@
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index{
QXRoomRankSubView *vc = [[QXRoomRankSubView alloc] initWithFrame:CGRectMake(0, 0, self.width, self.height-ScaleWidth(144)-44)];
vc.delegate = self;
if (index == 0) {
vc.type = @"1";
self.moneyView = vc;
}else{
vc.type = @"2";
self.charmView = vc;
}
vc.roomId = self.roomId;
return vc;

View File

@@ -15,7 +15,9 @@ typedef NS_ENUM(NSInteger) {
/// 拉黑
QXRoomUserInfoViewEventTypeBlack = 2,
/// 举报
QXRoomUserInfoViewEventTypeReport ,
QXRoomUserInfoViewEventTypeReport = 3,
/// 清除魅力
QXRoomUserInfoViewEventTypeClearCharm = 4 ,
/// @TA
QXRoomUserInfoViewEventTypeAtTA = 301,
/// 聊天

View File

@@ -40,6 +40,8 @@
@property (nonatomic,strong)UIButton *blackBtn;
///
@property (nonatomic,strong)UIButton *followBtn;
///
@property (nonatomic,strong)UIButton *clearBtn;
///
@property (nonatomic,strong)UIButton *moreBtn;
/// iconbgView
@@ -173,6 +175,25 @@
make.height.mas_equalTo(40);
}];
self.clearBtn = [[UIButton alloc] init];
[self.clearBtn setTitle:QXText(@"清魅力") forState:(UIControlStateNormal)];
[self.clearBtn setImage:[UIImage imageNamed:@"room_clear_charm"] forState:(UIControlStateNormal)];
self.clearBtn.titleLabel.font = [UIFont systemFontOfSize:12];
self.clearBtn.backgroundColor = RGB16A(0xffffff, 0.2);
self.clearBtn.hidden = YES;
[self.clearBtn addRoundedCornersWithRadius:ScaleWidth(10)];
self.clearBtn.imageView.contentMode = UIViewContentModeScaleAspectFit;
[self.clearBtn addTarget:self action:@selector(clearCharmAction) forControlEvents:(UIControlEventTouchUpInside)];
[self.clearBtn setTitleColor:[UIColor whiteColor] forState:(UIControlStateNormal)];
[self.bgView addSubview:self.clearBtn];
[self.clearBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(22);
make.top.mas_equalTo(ScaleWidth(24)+26);
make.height.mas_equalTo(ScaleWidth(20));
make.width.mas_greaterThanOrEqualTo(ScaleWidth(66));
}];
self.remindBtn = [[UIButton alloc] init];
// [self.remindBtn setImage:[UIImage imageNamed:@"room_up_notice_icon"] forState:(UIControlStateNormal)];
[self.remindBtn setTitle:QXText(@"转币") forState:(UIControlStateNormal)];
@@ -186,11 +207,13 @@
[self.bgView addSubview:self.remindBtn];
[self.remindBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(22);
make.top.mas_equalTo(ScaleWidth(24)+26);
make.centerY.equalTo(self.guildLabel);
make.height.mas_equalTo(ScaleWidth(20));
make.width.mas_greaterThanOrEqualTo(ScaleWidth(66));
}];
self.followBtn = [[UIButton alloc] init];
self.followBtn.hidden = YES;
@@ -199,7 +222,7 @@
[self.bgView addSubview:self.followBtn];
[self.followBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(22);
make.top.equalTo(self.remindBtn.mas_bottom).offset(25);
make.top.equalTo(self.remindBtn.mas_bottom).offset(17);
make.height.mas_equalTo(ScaleWidth(24));
make.width.mas_equalTo(ScaleWidth(70));
}];
@@ -215,7 +238,7 @@
[self.bgView addSubview:self.upSeatBtn];
[self.upSeatBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-ScaleWidth(64));
make.centerY.equalTo(self.remindBtn);
make.centerY.equalTo(self.clearBtn);
make.height.mas_equalTo(ScaleWidth(24));
make.width.mas_equalTo(ScaleWidth(44));
}];
@@ -243,7 +266,7 @@
[self.bgView addSubview:self.reportBtn];
[self.reportBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-ScaleWidth(64));
make.centerY.equalTo(self.remindBtn);
make.centerY.equalTo(self.upSeatBtn);
make.height.mas_equalTo(ScaleWidth(24));
make.width.mas_equalTo(ScaleWidth(44));
}];
@@ -259,7 +282,7 @@
[self.bgView addSubview:self.blackBtn];
[self.blackBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-16);
make.centerY.equalTo(self.remindBtn);
make.centerY.equalTo(self.upSeatBtn);
make.height.mas_equalTo(ScaleWidth(24));
make.width.mas_equalTo(ScaleWidth(44));
}];
@@ -404,6 +427,14 @@
}
[self.relationTableView reloadData];
}
-(void)clearCharmAction{
[QXMineNetwork roomClearCharmWithRoomId:self.roomId userId:self.userId successBlock:^(NSDictionary * _Nonnull dict) {
showToast(@"清除成功");
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
showToast(msg);
}];
}
//-(void)getRelationList{
// MJWeakSelf
// [QXMineNetwork roomUserRelationWithUserId:self.userId successBlock:^(QXRelationshipList * list) {
@@ -454,15 +485,18 @@
self.upSeatBtn.hidden = NO;
self.reportBtn.hidden = YES;
self.blackBtn.hidden = YES;
self.clearBtn.hidden = NO;
}else if (self.isManager){
self.moreBtn.hidden = NO;
self.reportBtn.hidden = YES;
self.blackBtn.hidden = YES;
self.clearBtn.hidden = NO;
}else if (self.isOwner){
self.moreBtn.hidden = NO;
self.upSeatBtn.hidden = NO;
self.reportBtn.hidden = YES;
self.blackBtn.hidden = YES;
self.clearBtn.hidden = NO;
}else{
//
self.moreBtn.hidden = YES;
@@ -479,6 +513,7 @@
self.upSeatBtn.hidden = YES;
self.bottomView.hidden = NO;
}
self.clearBtn.hidden = YES;
}
if ([userId isEqualToString:[QXGlobal shareGlobal].loginModel.user_id]) {
/// @TA....

View File

@@ -8,6 +8,8 @@
#import <UIKit/UIKit.h>
#import "QXRoomModel.h"
#import "QXSongListModel.h"
#import "QXRoomSeatDelegate.h"
typedef NS_ENUM(NSInteger) {
/// 名称名称在下显示魅力
QXRoomSeatContentViewTypeNormal = 0,
@@ -32,6 +34,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong) NSString* numberString;
@property (nonatomic,assign) BOOL isPK;
@property (nonatomic,weak)id<QXRoomSeatDelegate>delegate;
/// 麦位视图类型
@property (nonatomic,assign)QXRoomSeatContentViewType type;

View File

@@ -40,6 +40,8 @@
@property (nonatomic,strong) QXEffectSvgaView *micSvgaView;
@property (nonatomic,strong) VAPView *micMp4View;
@property (nonatomic,strong)UIButton *headerBtn;
@end
@implementation QXRoomSeatContentView
@@ -143,7 +145,13 @@
make.height.mas_equalTo(18);
}];
MJWeakSelf
self.charmBgView = [[UIView alloc] init];
[self.charmBgView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[weakSelf.delegate previewRoomUserCharmListWithUserId:weakSelf.pitModel.user_id];
}
}];
self.charmBgView.backgroundColor = RGB16A(0xffffff, 0.2);
[self.charmBgView addRoundedCornersWithRadius:ScaleWidth(7.5)];
self.charmBgView.hidden = YES;
@@ -174,8 +182,20 @@
make.centerX.equalTo(self.charmBgView).offset(7);
}];
self.headerBtn = [[UIButton alloc] init];
[self.headerBtn addTarget:self action:@selector(headerAction) forControlEvents:(UIControlEventTouchUpInside)];
[self addSubview:self.headerBtn];
[self.headerBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.noUserImageView);
}];
}
-(void)headerAction{
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:seatView:)]) {
[self.delegate didClickUserHeaderWithPitModel:self.pitModel seatView:self];
}
}
-(void)onlineStatusDidChanged:(NSNotification*)notice{
NSDictionary *parm = notice.object;
NSString *uid = [NSString stringWithFormat:@"%@",[parm objectForKey:@"user_id"]];
@@ -198,6 +218,7 @@
}
if ((info.uid == self.pitModel.user_id.longLongValue)) {
if (info.volume > 0) {
self.offlineImageView.hidden = YES;
[self startAudioAnimation];
}else{
[self stopAudioAnimation];

View File

@@ -7,12 +7,16 @@
#import "QXRoomModel.h"
//#import "QXRoomSeatContentView.h"
@class QXRoomSeatContentView;
@protocol QXRoomSeatDelegate <NSObject>
@optional
//-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel*)pitModel userModel:(id)userModel;
/// 麦位视图
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel*)pitModel seatView:(QXRoomSeatContentView*)seatView;
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel*)pitModel userModel:(id)userModel isPkRoom:(BOOL)isPkRoom pkRoomId:(NSString*)pkRoomId isNoTakeOff:(BOOL)isNoTakeOff;
-(void)didHugSeatWithPitNumber:(NSString*)pitNumber;
@@ -30,4 +34,7 @@
/// 助力
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString*)heartId;
/// 查看房间内用户魅力
-(void)previewRoomUserCharmListWithUserId:(NSString *)userId;
@end

View File

@@ -18,6 +18,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number;
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;
/// 设置麦位锁麦状态

View File

@@ -297,6 +297,9 @@
-(void)clearCharm{
[self.leftSeatView clearCharm];
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
[self.leftSeatView roomClearUserCharmWithUserId:userId];
}
-(void)setSeatIsLock:(NSString *)isLock pitNumber:(NSString *)pitNumber{
[self.leftSeatView setSeatIsLock:isLock pitNumber:pitNumber];
}

View File

@@ -33,6 +33,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;

View File

@@ -15,7 +15,7 @@
#import "QXAlertView.h"
#import "QXRoomAuctionRankView.h"
@interface QXRoomSeatTypeAuctionView()
@interface QXRoomSeatTypeAuctionView()<QXRoomSeatDelegate>
@property (nonatomic,strong)UIButton *delayBtn;
@property (nonatomic,strong)UIButton *endBtn;
@@ -155,6 +155,7 @@
self.compereView = [[QXRoomSeatContentView alloc] init];
[self.bgView addSubview:self.compereView];
self.compereView.tagString = @"主持";
self.compereView.number = 9;
// self.compereView.isAutionSeat = YES;
// self.compereView.type = QXRoomSeatContentViewTypeAuction;
[self.compereView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -162,19 +163,7 @@
make.left.mas_equalTo(10);
make.size.mas_equalTo(CGSizeMake(ScaleWidth(50), ScaleWidth(50)+5+18));
}];
[self.compereView addTapBlock:^(id _Nonnull obj) {
if (self.compereView.pitModel.user_id.intValue > 0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.compereView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
}
}else{
[QXMineNetwork roomUpSeatWithRoomId:weakSelf.roomModel.room_info.room_id pit_number:@"9" isUpSeat:YES successBlock:^(NSDictionary * _Nonnull dict) {
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
showToast(msg);
}];
}
}];
self.compereView.delegate = self;
//
//
//
@@ -239,20 +228,7 @@
self.auctionView = [[QXRoomSeatContentView alloc] init];
[self.auctionBgView addSubview:self.auctionView];
[self.auctionView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.auctionView.pitModel == nil || weakSelf.auctionView.pitModel.user_id.intValue <= 0) {
if (weakSelf.myPitNumber == 9 || weakSelf.roomModel.user_info.is_room_owner.intValue == 1 || weakSelf.roomModel.user_info.is_host.intValue == 1 || weakSelf.roomModel.user_info.is_management.intValue == 1) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didHugSeatWithPitNumber:)]) {
[weakSelf.delegate didHugSeatWithPitNumber:@"888"];
}
}
}else{
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.auctionView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
}
}
}];
self.auctionView.delegate = self;
self.auctionView.isAutionSeat = YES;
self.auctionView.numberString = @"拍卖位";
[self.auctionView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -263,6 +239,14 @@
//
self.auctionCharmView = [[UIView alloc] init];
self.auctionCharmView.hidden = YES;
[self.auctionCharmView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.auctionView.pitModel.user_id.longLongValue <= 0) {
return;
}
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[weakSelf.delegate previewRoomUserCharmListWithUserId:weakSelf.auctionView.pitModel.user_id];
}
}];
[self.auctionBgView addSubview:self.auctionCharmView];
[self.auctionCharmView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(73);
@@ -348,13 +332,15 @@
self.firstSeatView.bgImageView.image = [UIImage imageNamed:@"room_auction_first_bg"];
self.firstSeatView.rankView.image = [UIImage imageNamed:@"room_auction_first"];
self.firstSeatView.seatView.numberString = @"一号麦";
[self.firstSeatView.seatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.firstSeatView.seatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.firstSeatView.seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
[self.firstSeatView.auctionCharmView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.firstSeatView.seatView.pitModel.user_id.intValue<=0) {
return;
}
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[weakSelf.delegate previewRoomUserCharmListWithUserId:weakSelf.firstSeatView.seatView.pitModel.user_id];
}
}];
self.firstSeatView.seatView.delegate = self;
[self.bgView addSubview:self.firstSeatView];
[self.firstSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.auctionBgView.mas_right).offset(6);
@@ -367,13 +353,15 @@
self.secondSeatView.bgImageView.image = [UIImage imageNamed:@"room_auction_second_bg"];
self.secondSeatView.rankView.image = [UIImage imageNamed:@"room_auction_second"];
self.secondSeatView.seatView.numberString = @"二号麦";
[self.secondSeatView.seatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.secondSeatView.seatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.secondSeatView.seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
[self.secondSeatView.auctionCharmView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.secondSeatView.seatView.pitModel.user_id.intValue<=0) {
return;
}
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[weakSelf.delegate previewRoomUserCharmListWithUserId:weakSelf.secondSeatView.seatView.pitModel.user_id];
}
}];
self.secondSeatView.seatView.delegate = self;
[self.bgView addSubview:self.secondSeatView];
[self.secondSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.firstSeatView);
@@ -386,13 +374,15 @@
self.thirdSeatView.bgImageView.image = [UIImage imageNamed:@"room_auction_third_bg"];
self.thirdSeatView.rankView.image = [UIImage imageNamed:@"room_auction_third"];
self.thirdSeatView.seatView.numberString = @"三号麦";
[self.thirdSeatView.seatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.thirdSeatView.seatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.thirdSeatView.seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
[self.thirdSeatView.auctionCharmView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.thirdSeatView.seatView.pitModel.user_id.intValue<=0) {
return;
}
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[weakSelf.delegate previewRoomUserCharmListWithUserId:weakSelf.thirdSeatView.seatView.pitModel.user_id];
}
}];
self.thirdSeatView.seatView.delegate = self;
[self.bgView addSubview:self.thirdSeatView];
[self.thirdSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.firstSeatView);
@@ -405,13 +395,14 @@
[self.bgView addSubview:self.forthSeatView];
// self.forthSeatView.isAutionSeat = YES;
self.forthSeatView.numberString = @"4";
[self.forthSeatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.forthSeatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.forthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
}
}];
// [self.forthSeatView addTapBlock:^(id _Nonnull obj) {
// if (weakSelf.forthSeatView.pitModel.user_id.intValue>0) {
// if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
// [weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.forthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
// }
// }
// }];
self.forthSeatView.delegate = self;
[self.forthSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.thirdSeatView);
make.width.mas_equalTo(ScaleWidth(42));
@@ -423,13 +414,14 @@
[self.bgView addSubview:self.fifthSeatView];
// self.fifthSeatView.isAutionSeat = YES;
self.fifthSeatView.numberString = @"5";
[self.fifthSeatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.fifthSeatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.fifthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
}
}];
// [self.fifthSeatView addTapBlock:^(id _Nonnull obj) {
// if (weakSelf.fifthSeatView.pitModel.user_id.intValue>0) {
// if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
// [weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.fifthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
// }
// }
// }];
self.fifthSeatView.delegate = self;
[self.fifthSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.forthSeatView.mas_right).offset(5);
make.width.mas_equalTo(ScaleWidth(42));
@@ -441,13 +433,14 @@
[self.bgView addSubview:self.sixthSeatView];
// self.sixthSeatView.isAutionSeat = YES;
self.sixthSeatView.numberString = @"6";
[self.sixthSeatView addTapBlock:^(id _Nonnull obj) {
if (weakSelf.sixthSeatView.pitModel.user_id.intValue>0) {
if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.sixthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
}
}];
// [self.sixthSeatView addTapBlock:^(id _Nonnull obj) {
// if (weakSelf.sixthSeatView.pitModel.user_id.intValue>0) {
// if (weakSelf.delegate && [weakSelf.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
// [weakSelf.delegate didClickUserHeaderWithPitModel:weakSelf.sixthSeatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
// }
// }
// }];
self.sixthSeatView.delegate = self;
[self.sixthSeatView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.fifthSeatView.mas_right).offset(5);
make.width.mas_equalTo(ScaleWidth(42));
@@ -571,7 +564,7 @@
break;
}
}
self.myPitNumber = roomModel.user_info.pit_number;
self.myPitNumber = roomModel.user_info.pit_number.integerValue;
if (self.roomModel.room_auction.auction_user) {
QXRoomPitModel *model = [[QXRoomPitModel alloc] init];
model.user_id = self.roomModel.room_auction.auction_user.user_id;
@@ -649,7 +642,45 @@
}
}
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
if (seatView.number == 9) {
if (self.compereView.pitModel.user_id.intValue > 0) {
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[self.delegate didClickUserHeaderWithPitModel:self.compereView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
}
}else{
[QXMineNetwork roomUpSeatWithRoomId:self.roomModel.room_info.room_id pit_number:@"9" isUpSeat:YES successBlock:^(NSDictionary * _Nonnull dict) {
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
showToast(msg);
}];
}
return;
}
if (seatView.isAutionSeat) {
///
if (self.auctionView.pitModel == nil || self.auctionView.pitModel.user_id.intValue <= 0) {
if (self.myPitNumber == 9 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_host.intValue == 1 || self.roomModel.user_info.is_management.intValue == 1) {
if (self.delegate && [self.delegate respondsToSelector:@selector(didHugSeatWithPitNumber:)]) {
[self.delegate didHugSeatWithPitNumber:@"888"];
}
}
}else{
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[self.delegate didClickUserHeaderWithPitModel:self.auctionView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
}
}
return;
}
if (seatView.pitModel.user_id <= 0) {
return;
}
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[self.delegate didClickUserHeaderWithPitModel:seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:YES];
}
}
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number{
QXRoomSeatContentView *contentView;
if (pit_number == 9) {
@@ -853,12 +884,48 @@
QXRoomPitModel*model1 = self.compereView.pitModel;
model1.charm = @"0";
self.compereView.pitModel = model1;
[self.compereView hideCharm];
QXRoomPitModel*model2 = self.auctionView.pitModel;
model2.charm = @"0";
self.auctionView.pitModel = model2;
[self.auctionView hideCharm];
self.charmLabel.text = @"0";
self.firstSeatView.charmLabel.text = @"0";
self.secondSeatView.charmLabel.text = @"0";
self.thirdSeatView.charmLabel.text = @"0";
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
for (int i = 0; i < self.roomModel.room_auction.auction_list.count; i++) {
if (i < 6) {
QXRoomPitModel*pitModel = self.roomModel.room_auction.auction_list[i];
if ([pitModel.user_id isEqualToString:userId]) {
pitModel.charm = @"0";
UIView *contentView = self.seatArray[i];
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
seatView.pitModel = pitModel;
}
break;
}
}
}
QXRoomPitModel*model1 = self.compereView.pitModel;
if ([model1.user_id isEqualToString:userId]) {
model1.charm = @"0";
self.compereView.pitModel = model1;
[self.compereView hideCharm];
}
QXRoomPitModel*model2 = self.auctionView.pitModel;
if ([model2.user_id isEqualToString:userId]) {
model2.charm = @"0";
self.auctionView.pitModel = model2;
[self.auctionView hideCharm];
self.charmLabel.text = @"0";
}
}
-(void)auctionListDidChanged:(NSArray<QXRoomPitModel *> *)list{
[self reSetPitList];
self.roomModel.room_auction.auction_list = list;

View File

@@ -343,6 +343,9 @@
}
na.viewControllers = viewControllers;
[na popViewControllerAnimated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[UIApplication sharedApplication].idleTimerDisabled = YES;
});
QXGlobal.shareGlobal.superRoomId = @"";
}else{
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id];

View File

@@ -45,6 +45,8 @@ typedef NS_ENUM(NSInteger) {
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel*)model;
/// 用户信息发生改变

View File

@@ -101,9 +101,7 @@
self.compereView = [[QXRoomSeatContentView alloc] init];
[self.compereView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.compereView.delegate = self;
self.compereView.tagString = QXText(@"主持");
self.compereView.number = 9;
[self addSubview:self.compereView];
@@ -119,9 +117,7 @@
self.guestView = [[QXRoomSeatContentView alloc] init];
self.guestView.tagString = QXText(@"嘉宾");
self.guestView.number = 10;
[self.guestView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.guestView.delegate = self;
[self addSubview:self.guestView];
[self.guestView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self);
@@ -493,24 +489,12 @@
make.edges.equalTo(self.heartBottomLineImageView);
}];
[self.leftSeatView1.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
[self.leftSeatView2.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
[self.leftSeatView3.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
[self.rightSeatView1.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
[self.rightSeatView2.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
[self.rightSeatView3.contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.leftSeatView1.contentView.delegate = self;
self.leftSeatView2.contentView.delegate = self;
self.leftSeatView3.contentView.delegate = self;
self.rightSeatView1.contentView.delegate = self;
self.rightSeatView2.contentView.delegate = self;
self.rightSeatView3.contentView.delegate = self;
[self.allSeatViewArray replaceObjectAtIndex:8 withObject:self.compereView];
@@ -529,6 +513,7 @@
self.heartTopImageView.hidden = YES;
self.heartCenterImageView.hidden = YES;
self.heartBottomImageView.hidden = YES;
[self bringSubviewToFront:self.tenSecondLabel];
}
#pragma mark - QXRoomSeatDelegate
-(void)friendPowerSendGiftWithUser:(QXRoomPitModel *)user heartId:(NSString *)heartId{
@@ -536,6 +521,11 @@
[self.delegate friendPowerSendGiftWithUser:user heartId:heartId];
}
}
-(void)previewRoomUserCharmListWithUserId:(NSString *)userId{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[self.delegate previewRoomUserCharmListWithUserId:userId];
}
}
-(void)setRoomModel:(QXRoomModel *)roomModel{
_roomModel = roomModel;
@@ -889,7 +879,7 @@
fromSeatView.pitModel = totModel;
}
}
-(void)didClickSeatView:(QXRoomSeatContentView*)seatView{
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
NSString *pit_number = [NSString stringWithFormat:@"%ld",seatView.number] ;
QXLOG(@"点击了%ld麦位",seatView.number);
@@ -1050,6 +1040,7 @@
if (step.intValue == 1) {
self.roomModel.friend_info.heart_list = @[];
self.tenSecondLabel.hidden = YES;
[self.cpView removeFromSuperview];
}
self.roomModel.friend_info.step = [NSString stringWithFormat:@"%@",step];
self.roomModel.friend_info.friend_id = friend_id;
@@ -1097,6 +1088,20 @@
}
}
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
QXRoomPitModel *model = contentView.pitModel;
if ([model.user_id isEqualToString:userId]) {
model.charm = @"0";
contentView.pitModel = model;
break;
}
}
}
}
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {

View File

@@ -28,6 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number;
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;
/// 设置麦位锁麦状态

View File

@@ -11,7 +11,7 @@
#import "QXRoomSeatSettingView.h"
static NSInteger maxSeat = 8;
@interface QXRoomSeatTypeNormalView()
@interface QXRoomSeatTypeNormalView()<QXRoomSeatDelegate>
///
@property (nonatomic,strong)QXRoomSeatContentView *compereView;
///
@@ -35,9 +35,10 @@ static NSInteger maxSeat = 8;
-(void)initSubviews{
MJWeakSelf
self.compereView = [[QXRoomSeatContentView alloc] init];
[self.compereView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
// [self.compereView addTapBlock:^(id _Nonnull obj) {
// [weakSelf didClickSeatView:obj];
// }];
self.compereView.delegate = self;
self.compereView.tagString = QXText(@"主持");
self.compereView.number = 9;
[self addSubview:self.compereView];
@@ -53,9 +54,10 @@ static NSInteger maxSeat = 8;
self.guestView = [[QXRoomSeatContentView alloc] init];
self.guestView.tagString = QXText(@"嘉宾");
self.guestView.number = 10;
[self.guestView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
// [self.guestView addTapBlock:^(id _Nonnull obj) {
// [weakSelf didClickSeatView:obj];
// }];
self.guestView.delegate = self;
[self addSubview:self.guestView];
[self.guestView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self);
@@ -72,9 +74,10 @@ static NSInteger maxSeat = 8;
for (int i = 0 ; i < maxSeat ; i++) {
QXRoomSeatContentView *contentView = [[QXRoomSeatContentView alloc] init];
contentView.number = i+1;
[contentView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
// [contentView addTapBlock:^(id _Nonnull obj) {
// [weakSelf didClickSeatView:obj];
// }];
contentView.delegate = self;
[self addSubview:contentView];
[contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.compereView.mas_bottom).offset(1+(seatHeight+topSpace)*(i/4));
@@ -90,9 +93,7 @@ static NSInteger maxSeat = 8;
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.viewController.view endEditing:YES];
}
-(void)didClickSeatView:(QXRoomSeatContentView*)seatView{
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
NSString *pit_number = [NSString stringWithFormat:@"%ld",seatView.number] ;
QXLOG(@"点击了%ld麦位",seatView.number);
if (seatView.pitModel.user_id.longLongValue > 0) {
@@ -180,6 +181,11 @@ static NSInteger maxSeat = 8;
}
}
-(void)previewRoomUserCharmListWithUserId:(NSString *)userId{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[self.delegate previewRoomUserCharmListWithUserId:userId];
}
}
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number{
if (pit_number > 10) {
@@ -316,11 +322,25 @@ static NSInteger maxSeat = 8;
QXRoomPitModel *model = seatView.pitModel;
model.charm = @"0";
seatView.pitModel = model;
if (self.isPKMyRoom || self.isPKOtherRoom) {
[seatView hideCharm];
}
// if (self.isPKMyRoom || self.isPKOtherRoom) {
// [seatView hideCharm];
// }
}
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
for (QXRoomSeatContentView *seatView in self.seatArray) {
QXRoomPitModel *model = seatView.pitModel;
if ([model.user_id isEqualToString:userId]) {
model.charm = @"0";
seatView.pitModel = model;
break;
}
// if (self.isPKMyRoom || self.isPKOtherRoom) {
// [seatView hideCharm];
// }
}
}
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{
for (QXRoomSeatContentView *seatView in self.seatArray) {
QXRoomPitModel *md = seatView.pitModel;

View File

@@ -27,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;

View File

@@ -18,7 +18,8 @@
@import AgoraLyricsScore;
@interface QXRoomSeatTypeSongView()<KaraokeDelegate
,UICollectionViewDelegate,UICollectionViewDataSource
,UICollectionViewDelegate,UICollectionViewDataSource,
QXRoomSeatDelegate
>
///
@property (nonatomic,strong)UIView *leftBgView;
@@ -177,9 +178,7 @@
MJWeakSelf
self.singerSeatView = [[QXRoomSeatContentView alloc] init];
self.singerSeatView.tagString = QXText(@"演唱者");
[self.singerSeatView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.singerSeatView.delegate = self;
[self.leftBgView addSubview:self.singerSeatView];
[self.leftBgView addSubview:self.originalBtn];
@@ -193,9 +192,7 @@
self.compereView = [[QXRoomSeatContentView alloc] init];
[self.compereView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.compereView.delegate = self;
self.compereView.tagString = QXText(@"主持");
self.compereView.number = 9;
[self addSubview:self.compereView];
@@ -204,9 +201,7 @@
self.guestView = [[QXRoomSeatContentView alloc] init];
self.guestView.tagString = QXText(@"嘉宾");
self.guestView.number = 10;
[self.guestView addTapBlock:^(id _Nonnull obj) {
[weakSelf didClickSeatView:obj];
}];
self.guestView.delegate = self;
[self addSubview:self.guestView];
@@ -230,7 +225,7 @@
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.viewController.view endEditing:YES];
}
-(void)didClickSeatView:(QXRoomSeatContentView*)seatView{
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
NSString *pit_number = [NSString stringWithFormat:@"%ld",seatView.number] ;
QXLOG(@"点击了%ld麦位",seatView.number);
@@ -267,6 +262,11 @@
}
}
}
-(void)previewRoomUserCharmListWithUserId:(NSString *)userId{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewRoomUserCharmListWithUserId:)]) {
[self.delegate previewRoomUserCharmListWithUserId:userId];
}
}
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number{
// if (pit_number==9999) {
// for (<#type *object#> in <#collection#>) {
@@ -502,7 +502,33 @@
}
[self.collectionView reloadData];
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
QXRoomPitModel *singerModel = self.singerSeatView.pitModel;
if ([singerModel.user_id isEqualToString:userId]) {
singerModel.charm = @"0";
self.singerSeatView.pitModel = singerModel;
}
QXRoomPitModel *compereModel = self.compereView.pitModel;
if ([compereModel.user_id isEqualToString:userId]) {
compereModel.charm = @"0";
self.compereView.pitModel = compereModel;
}
QXRoomPitModel *guestModel = self.guestView.pitModel;
if ([guestModel.user_id isEqualToString:userId]) {
guestModel.charm = @"0";
self.guestView.pitModel = guestModel;
}
for (QXRoomPitModel *md in self.dataArray) {
if ([userId isEqualToString:md.user_id]) {
md.charm = @"0";
break;
}
}
[self.collectionView reloadData];
}
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{
QXRoomPitModel *singerModel = self.singerSeatView.pitModel;
if ([singerModel.user_id isEqualToString:model.user_id]) {
@@ -577,18 +603,19 @@
QXSongSeatCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXSongSeatCell" forIndexPath:indexPath];
QXRoomPitModel *model = self.dataArray[indexPath.row];
cell.seatContentView.pitModel = model;
cell.seatContentView.delegate = self;
return cell;
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
QXRoomPitModel *model = self.dataArray[indexPath.row];
// QXRoomPitModel *model = self.dataArray[indexPath.row];
// self.userInfoView.isUpSeat = YES;
// self.userInfoView.roomId = self.roomModel.room_info.room_id;
//// self.userInfoView.pitNumber = [NSString stringWithFormat:@"%ld",seatView.number];
// self.userInfoView.userId = model.user_id;
// [self.userInfoView showInView:self.viewController.view];
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[self.delegate didClickUserHeaderWithPitModel:model userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
}
// if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
// [self.delegate didClickUserHeaderWithPitModel:model userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO];
// }
}
-(void)nextAction{

View File

@@ -49,6 +49,8 @@ typedef NS_ENUM(NSInteger) {
/// 清除魅力
-(void)clearCharm;
/// 清除个人魅力
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel*)model;
/// 设置麦位锁麦状态

View File

@@ -13,6 +13,7 @@
#import "QXRoomSeatTypeCabinView.h"
#import "QXRoomSeatPKView.h"
#import "QXRoomSeatTypeFrientView.h"
#import "QXRoomUserCharmView.h"
@interface QXRoomSeatView()<QXRoomSeatDelegate>
@property (nonatomic,strong)QXRoomSeatTypeNormalView *normalSeatView;
@@ -27,6 +28,8 @@
@property (nonatomic,strong)QXRoomSeatPKView *roomPkView;
@property (nonatomic,strong)QXRoomSeatTypeFrientView *roomFriendView;
@property (nonatomic,strong)QXRoomUserCharmView *charmListView;
@end
@@ -627,6 +630,7 @@
return;
}
if (_songView) {
[[QXAgoraEngine sharedEngine] ktv_EndSing];
_songView.transform = CGAffineTransformIdentity;
//
[UIView animateWithDuration:0.5
@@ -813,6 +817,12 @@
}
}
-(void)previewRoomUserCharmListWithUserId:(NSString *)userId{
self.charmListView.roomId = self.roomModel.room_info.room_id;
self.charmListView.userId = userId;
[self.charmListView showInView:self.viewController.view];
}
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel userModel:(id)userModel isPkRoom:(BOOL)isPkRoom pkRoomId:(NSString *)pkRoomId isNoTakeOff:(BOOL)isNoTakeOff{
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickUserHeaderWithPitModel:userModel:isPkRoom:pkRoomId:isNoTakeOff:)]) {
[self.delegate didClickUserHeaderWithPitModel:pitModel userModel:userModel isPkRoom:isPkRoom pkRoomId:pkRoomId isNoTakeOff:isNoTakeOff];
@@ -850,6 +860,7 @@
[self.songView clearCharm];
break;
case QXRoomSeatViewTypeAuction:
[self.auctionView clearCharm];
break;
case QXRoomSeatViewTypeCabin:
break;
@@ -863,6 +874,30 @@
break;
}
}
///
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
switch (self.type) {
case QXRoomSeatViewTypeNormal:
[self.normalSeatView roomClearUserCharmWithUserId:userId];
break;
case QXRoomSeatViewTypeSing:
[self.songView roomClearUserCharmWithUserId:userId];
break;
case QXRoomSeatViewTypeAuction:
[self.auctionView roomClearUserCharmWithUserId:userId];
break;
case QXRoomSeatViewTypeCabin:
break;
case QXRoomSeatViewTypePK:
[self.roomPkView roomClearUserCharmWithUserId:userId];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView roomClearUserCharmWithUserId:userId];
break;
default:
break;
}
}
///
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
switch (self.type) {
@@ -1227,4 +1262,12 @@
}
return _roomFriendView;
}
-(QXRoomUserCharmView *)charmListView{
if (!_charmListView) {
_charmListView = [[QXRoomUserCharmView alloc] initWithFrame:[UIScreen mainScreen].bounds];
_charmListView.delegate = self;
}
return _charmListView;
}
@end