This commit is contained in:
启星
2025-09-08 08:49:04 +08:00
parent ddeec09ea5
commit 349cab1499
290 changed files with 8627 additions and 760 deletions

View File

@@ -78,10 +78,36 @@
/// 退
-(void)friendCabinRoomIsQuit{
[[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId];
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
for (int i = 0; i < viewControllers.count; i++) {
UIViewController *vc = [viewControllers objectAtIndex:i];
if ([vc isEqual:self]) {
QXRoomViewController *roomVc = [[QXRoomViewController alloc] init];
roomVc.roomId = QXGlobal.shareGlobal.superRoomId;
[viewControllers insertObject:roomVc atIndex:i];
break;
}
}
self.navigationController.viewControllers = viewControllers;
[self.navigationController popViewControllerAnimated:YES];
QXGlobal.shareGlobal.superRoomId = @"";
// [self.navigationController popViewControllerAnimated:YES];
}
///
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{
[self.seatContentView friendCabinRoomTimeDelayWithTime:end_time];
}
-(void)meetActivityProgressIsUpdate:(NSDictionary *)updateDict{
QXXLHModel *model = [QXXLHModel yy_modelWithJSON:updateDict[@"xlh_data"]];
[self.skyView updateProgress:model];
[self.ageView updateProgress:model];
[self.timeView updateProgress:model];
}
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel *)giftInfo{
[self.meetView updateUserAndGiftInfoWithModel:giftInfo];
}
@end

View File

@@ -13,6 +13,12 @@
#import "QXRoomBottomView.h"
#import "QXRoomMessageManager.h"
#import "QXSendGiftView.h"
/// 活动
#import "QXSkyPraizeView.h"/// 天空之境
#import "QXAgePraizeView.h"/// 岁月之城
#import "QXTimePraizeView.h"/// 时空之巅
#import "QXMeetActivityView.h"
NS_ASSUME_NONNULL_BEGIN
@interface QXRoomViewController : QXBaseViewController<QXRoomMessageManagerDelegate,QXRoomSeatDelegate>
@@ -32,7 +38,16 @@ NS_ASSUME_NONNULL_BEGIN
/// 发送礼物
@property (nonatomic,strong)QXSendGiftView *sendGiftView;
@property (nonatomic,strong)QXSkyPraizeView *skyView;
@property (nonatomic,strong)QXAgePraizeView *ageView;
@property (nonatomic,strong)QXTimePraizeView *timeView;
/// 巡乐会
@property (nonatomic,strong)QXMeetActivityView *meetView;
-(void)configBottomTools;
-(void)destroyViews;
@end
NS_ASSUME_NONNULL_END

View File

@@ -278,6 +278,7 @@ QXRoomUserInfoViewDelegate
}
-(void)resetSubviews{
[UIApplication sharedApplication].idleTimerDisabled = NO;
if (self.roomModel.room_info.type_id.intValue != 6) {
[self.roomBgImageView sd_setImageWithURL:[NSURL URLWithString:self.roomModel.room_info.room_background]];
}else{
@@ -397,16 +398,21 @@ QXRoomUserInfoViewDelegate
self.micTeamView.countLabel.text = self.roomModel.room_info.queue_number;
self.titleView.roomModel = self.roomModel;
if (self.roomModel.user_info.pit_number.intValue > 0) {
if (self.roomModel.room_info.type_id.intValue == 6) {
self.bottomView.isCabinRoom = YES;
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:YES];
[[QXAgoraEngine sharedEngine] enableAudio:NO];
[[QXAgoraEngine sharedEngine] muteLocalAudioStream:NO];
self.seatContentView.myPitNumber = self.roomModel.user_info.pit_number.intValue;
}else{
self.seatContentView.myPitNumber = -1;
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:NO];
[[QXAgoraEngine sharedEngine] enableAudio:NO];
[[QXAgoraEngine sharedEngine] muteLocalAudioStream:YES];
if (self.roomModel.user_info.pit_number.intValue > 0) {
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:YES];
[[QXAgoraEngine sharedEngine] enableAudio:NO];
[[QXAgoraEngine sharedEngine] muteLocalAudioStream:NO];
self.seatContentView.myPitNumber = self.roomModel.user_info.pit_number.intValue;
}else{
self.seatContentView.myPitNumber = -1;
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:NO];
[[QXAgoraEngine sharedEngine] enableAudio:NO];
[[QXAgoraEngine sharedEngine] muteLocalAudioStream:YES];
}
}
self.seatContentView.roomModel = self.roomModel;
if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4) && self.roomModel.room_info.label_id.intValue == 2){
@@ -464,6 +470,9 @@ QXRoomUserInfoViewDelegate
//// _movieView = nil;
//// }
[[QXAgoraEngine sharedEngine] startPreViewWithUid:uid view:self.movieView.videoView];
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:YES];
[[QXAgoraEngine sharedEngine] enableAudio:NO];
[[QXAgoraEngine sharedEngine] muteLocalAudioStream:NO];
}
}];
@@ -481,10 +490,7 @@ QXRoomUserInfoViewDelegate
}
[QXRoomMessageManager shared].delegate = self;
[QXAgoraEngine sharedEngine].delegate = self;
if (self.roomModel.room_info.type_id.intValue == 6) {
self.bottomView.isCabinRoom = YES;
[[QXAgoraEngine sharedEngine] setClientRoleBroadcaster:YES];
}
if (self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4) {
//
@@ -523,6 +529,10 @@ QXRoomUserInfoViewDelegate
}
-(void)configBottomTools{
if (self.roomModel.room_info.type_id.intValue == 6) {
self.bottomView.isCabinRoom = YES;
return;
}
self.bottomView.roomModel = self.roomModel;
BOOL hasPK = NO;
if ((self.roomModel.room_info.type_id.intValue == 1 || self.roomModel.room_info.type_id.intValue == 3 || self.roomModel.room_info.type_id.intValue == 4) && self.roomModel.room_info.label_id.intValue == 1) {
@@ -731,6 +741,9 @@ QXRoomUserInfoViewDelegate
}
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
[self.seatContentView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
}
//
-(void)userDidTakeOffWithUserInfo:(QXUserHomeModel *)userInfo{
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
@@ -1606,6 +1619,28 @@ QXRoomUserInfoViewDelegate
}
};
_sendGiftView.jumpActivityGiftBlock = ^(QXGiftModel * _Nonnull gift, NSString * _Nonnull userIds) {
if (gift.gift_bag.intValue == 10) {
weakSelf.skyView.giftModel = gift;
weakSelf.skyView.roomId = weakSelf.roomId;
weakSelf.skyView.userIds = userIds;
[weakSelf.sendGiftView hide];
[weakSelf.skyView showInView:weakSelf.view];
}else if(gift.gift_bag.intValue == 11) {
weakSelf.ageView.giftModel = gift;
weakSelf.ageView.roomId = weakSelf.roomId;
weakSelf.ageView.userIds = userIds;
[weakSelf.sendGiftView hide];
[weakSelf.ageView showInView:weakSelf.view];
}else if(gift.gift_bag.intValue == 12) {
weakSelf.timeView.giftModel = gift;
weakSelf.timeView.roomId = weakSelf.roomId;
weakSelf.timeView.userIds = userIds;
[weakSelf.sendGiftView hide];
[weakSelf.timeView showInView:weakSelf.view];
}
};
}
return _sendGiftView;
}
@@ -1727,6 +1762,62 @@ QXRoomUserInfoViewDelegate
}
return _micTeamView;
}
//
-(QXSkyPraizeView *)skyView{
if (!_skyView) {
_skyView = [[QXSkyPraizeView alloc] init];
MJWeakSelf
_skyView.startBlock = ^{
[weakSelf.skyView hide];
weakSelf.meetView.roomId = weakSelf.roomId;
[weakSelf.meetView showInView:weakSelf.view];
};
}
return _skyView;
}
-(QXAgePraizeView *)ageView{
if (!_ageView) {
_ageView = [[QXAgePraizeView alloc] init];
MJWeakSelf
_ageView.startBlock = ^{
[weakSelf.ageView hide];
weakSelf.meetView.roomId = weakSelf.roomId;
[weakSelf.meetView showInView:weakSelf.view];
};
}
return _ageView;
}
-(QXTimePraizeView *)timeView{
if (!_timeView) {
_timeView = [[QXTimePraizeView alloc] init];
MJWeakSelf
_timeView.startBlock = ^{
[weakSelf.timeView hide];
weakSelf.meetView.roomId = weakSelf.roomId;
[weakSelf.meetView showInView:weakSelf.view];
};
}
return _timeView;
}
-(QXMeetActivityView *)meetView{
if (!_meetView) {
_meetView = [[QXMeetActivityView alloc] init];
_meetView.roomId = self.roomId;
}
return _meetView;
}
-(void)destroyViews{
if (_skyView) {
[_skyView destroyViews];
_skyView = nil;
}
if (_ageView) {
[_ageView destroyViews];
_ageView = nil;
}
if (_timeView) {
[_timeView destroyViews];
_timeView = nil;
}
}
@end

View File

@@ -88,5 +88,8 @@ typedef NS_ENUM(NSInteger) {
@property (nonatomic,strong)NSString* end_time;
@property (nonatomic,strong)QXRoomFriendRelationModel* friend_user;
/// 礼物数量 巡乐会
@property (nonatomic,strong)NSString *gift_num;
@end
NS_ASSUME_NONNULL_END

View File

@@ -147,7 +147,11 @@ NSInteger maxMessageCount = 20;
[self scrollToBottom];
}
-(void)insertMessage:(QXRoomChatListModel *)model{
[self.dataArray addObject:model];
///
if (model.messageType != QXRoomChatMessageTypeGift) {
[self.dataArray addObject:model];
}
if (model.messageType == QXRoomChatMessageTypeChat) {
[self.chatArray addObject:model];
}

View File

@@ -71,7 +71,10 @@
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
return touch.view == self;
}
-(void)didHugSeatWithModel:(QXRoomUserInfoModel *)model{
-(void)didHugSeatWithModel:(QXRoomUserInfoModel *)model isUpSeat:(BOOL)isUpSeat{
if (isUpSeat) {
return;
}
MJWeakSelf
[QXMineNetwork roomCompereApplyPitWithRoomId:self.roomId pit_number:self.pitNumber user_id:model.user_id type:@"1" successBlock:^(NSDictionary * _Nonnull dict) {
[weakSelf hide];
@@ -117,7 +120,11 @@
}else{
cell.cellType = QXBlackListCellTypeOnline;
}
if (indexPath.section == 0) {
cell.isUpSeat = YES;
}else{
cell.isUpSeat = NO;
}
NSMutableArray *arr = self.dataArray[indexPath.section];
cell.onlineUser = arr[indexPath.row];
cell.delegate = self;

View File

@@ -366,10 +366,12 @@
-(void)closeAction{
MJWeakSelf
UIAlertController *al = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:(UIAlertControllerStyleActionSheet)];
[al addAction:[UIAlertAction actionWithTitle:@"最小化房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[weakSelf miniRoom];
[[QXGlobal shareGlobal] miniRoomWithRoomId:weakSelf.roomId roomCover:weakSelf.roomModel.room_info.room_cover];
}]];
if (![self.roomModel.room_info.type_id isEqualToString:@"6"]) {
[al addAction:[UIAlertAction actionWithTitle:@"最小化房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[weakSelf miniRoom];
[[QXGlobal shareGlobal] miniRoomWithRoomId:weakSelf.roomId roomCover:weakSelf.roomModel.room_info.room_cover];
}]];
}
[al addAction:[UIAlertAction actionWithTitle:@"退出房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[weakSelf leaveRoom];
}]];
@@ -384,9 +386,25 @@
[self.navigationController popViewControllerAnimated:YES];
}
-(void)leaveRoom{
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId];
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationController popViewControllerAnimated:YES];
if ([self.roomModel.room_info.type_id isEqualToString:@"6"] && [self.roomModel.room_info.label_id isEqualToString:@"5"]) {
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId];
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
for (int i = 0; i < viewControllers.count; i++) {
UIViewController *vc = [viewControllers objectAtIndex:i];
if ([vc isEqual:self.viewController]) {
QXRoomViewController *roomVc = [[QXRoomViewController alloc] init];
roomVc.roomId = QXGlobal.shareGlobal.superRoomId;
[viewControllers insertObject:roomVc atIndex:i];
break;
}
}
self.navigationController.viewControllers = viewControllers;
[self.navigationController popViewControllerAnimated:YES];
QXGlobal.shareGlobal.superRoomId = @"";
}else{
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId];
[self.navigationController popViewControllerAnimated:YES];
}
}

View File

@@ -93,7 +93,7 @@
-(void)getGiftList{
MJWeakSelf
[QXMineNetwork giftListWithLabel:@"0" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
[QXMineNetwork giftListWithLabel:@"0" roomId:self.roomId successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
weakSelf.selectedIndex = -1;
[weakSelf.dataArray removeAllObjects];
[weakSelf.dataArray addObjectsFromArray:list];

View File

@@ -134,7 +134,7 @@
-(void)getGiftList{
MJWeakSelf
[QXMineNetwork giftListWithLabel:@"99" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
[QXMineNetwork giftListWithLabel:@"99" roomId:self.roomId successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
[weakSelf.giftArray removeAllObjects];
[weakSelf.giftArray addObjectsFromArray:list];
[weakSelf.collectionView reloadData];

View File

@@ -23,7 +23,7 @@ typedef NS_ENUM(NSInteger) {
/// 常用工具
/// 房间补贴
QXRoomSettingTypeRoomSubsidy = 14,
QXRoomSettingTypeRoomSubsidy = 9,
/// 主持设置
QXRoomSettingTypeRoomCompere = 15,
/// 清空消息

View File

@@ -601,6 +601,7 @@
self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
[self.collectionView registerClass:[QXRoomSettingSubCell class] forCellWithReuseIdentifier:@"QXRoomSettingSubCell"];
self.collectionView.delegate = self;
self.collectionView.backgroundColor = [UIColor clearColor];
self.collectionView.dataSource = self;
self.collectionView.showsHorizontalScrollIndicator = NO;
self.collectionView.bounces = NO;

View File

@@ -77,6 +77,18 @@
make.height.equalTo(self.noUserImageView.mas_width);
}];
[self addSubview:self.micSvgaView];
[self.micSvgaView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.headerView).offset(-8);
make.right.bottom.equalTo(self.headerView).offset(8);
}];
[self addSubview:self.micMp4View];
[self.micMp4View mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.headerView).offset(-8);
make.right.bottom.equalTo(self.headerView).offset(8);
}];
self.muteImageView.hidden = YES;
[self addSubview:self.muteImageView];
[self.muteImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
@@ -162,17 +174,7 @@
make.centerX.equalTo(self.charmBgView).offset(7);
}];
[self addSubview:self.micSvgaView];
[self.micSvgaView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.headerView).offset(-8);
make.right.bottom.equalTo(self.headerView).offset(8);
}];
[self addSubview:self.micMp4View];
[self.micMp4View mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.headerView).offset(-8);
make.right.bottom.equalTo(self.headerView).offset(8);
}];
}
-(void)onlineStatusDidChanged:(NSNotification*)notice{
NSDictionary *parm = notice.object;
@@ -300,7 +302,7 @@
make.left.right.equalTo(self);
}];
self.nameLabel.textColor = RGB16(0xEFEAFF);
// self.numberLabel.backgroundColor = RGB16(0xdb7fff);
self.numberLabel.textColor = RGB16(0xEFEAFF);
[self.numberLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.charmBgView.mas_bottom).offset(0);
make.centerX.equalTo(self.noUserImageView);

View File

@@ -22,6 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;
/// 设置麦位锁麦状态
-(void)setSeatIsLock:(NSString*)isLock pitNumber:(NSString*)pitNumber;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
/// pk开始
-(void)pkStartWithPkEndTimes:(NSString *)pk_end_times pk_id:(NSString*)pk_id;

View File

@@ -288,7 +288,9 @@
}
[self.leftSeatView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number];
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
[self.leftSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
}
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user{
[self.leftSeatView roomUserInfoDidChanged:user];
}

View File

@@ -31,7 +31,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)auctionTypeDidChanged:(NSString *)type;
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model;
/// 清除魅力
-(void)clearCharm;
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;

View File

@@ -95,6 +95,7 @@
[self.endBtn addTarget:self action:@selector(endAuction) forControlEvents:(UIControlEventTouchUpInside)];
[self.endBtn addRoundedCornersWithRadius:ScaleWidth(11)];
self.endBtn.backgroundColor = RGB16(0x333333);
self.endBtn.hidden = YES;
[self addSubview:self.endBtn];
[self.endBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-16);
@@ -110,6 +111,7 @@
[self.delayBtn addRoundedCornersWithRadius:ScaleWidth(11)];
[self.delayBtn addTarget:self action:@selector(delayAction) forControlEvents:(UIControlEventTouchUpInside)];
self.delayBtn.backgroundColor = QXConfig.themeColor;
self.delayBtn.hidden = YES;
[self addSubview:self.delayBtn];
[self.delayBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.endBtn.mas_left).offset(-5);
@@ -569,6 +571,7 @@
break;
}
}
self.myPitNumber = roomModel.user_info.pit_number;
if (self.roomModel.room_auction.auction_user) {
QXRoomPitModel *model = [[QXRoomPitModel alloc] init];
model.user_id = self.roomModel.room_auction.auction_user.user_id;
@@ -623,13 +626,6 @@
}
-(void)upDateBtnShowOrHide{
if (self.myPitNumber == 9 || self.roomModel.user_info.is_management.intValue == 1 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_host.intValue == 1) {
self.delayBtn.hidden = NO;
self.endBtn.hidden = NO;
}else{
self.delayBtn.hidden = YES;
self.endBtn.hidden = YES;
}
if ([self.roomModel.room_auction.auction_user.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.auctionBtn.hidden = YES;
}else{
@@ -639,6 +635,19 @@
self.auctionBtn.hidden = YES;
}
}
if (self.myPitNumber == 9 || self.roomModel.user_info.is_management.intValue == 1 || self.roomModel.user_info.is_room_owner.intValue == 1 || self.roomModel.user_info.is_host.intValue == 1) {
if (self.myPitNumber == 9){
self.delayBtn.hidden = NO;
}else{
self.delayBtn.hidden = YES;
}
self.endBtn.hidden = NO;
}else{
self.delayBtn.hidden = YES;
self.endBtn.hidden = YES;
}
}
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number{
@@ -827,6 +836,28 @@
}
}
}
-(void)clearCharm{
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];
pitModel.charm = @"0";
UIView *contentView = self.seatArray[i];
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
seatView.pitModel = pitModel;
}
}
}
QXRoomPitModel*model1 = self.compereView.pitModel;
model1.charm = @"0";
self.compereView.pitModel = model1;
QXRoomPitModel*model2 = self.auctionView.pitModel;
model2.charm = @"0";
self.auctionView.pitModel = model2;
}
-(void)auctionListDidChanged:(NSArray<QXRoomPitModel *> *)list{
[self reSetPitList];

View File

@@ -16,6 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
-(void)cabinRoomHotValueDidChanged:(NSString*)hot_value;
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
-(void)friendCabinRoomIsQuit;
-(void)destroyViews;
@end

View File

@@ -96,7 +96,7 @@
self.numberLabel.font = [UIFont fontWithName:@"DIN Alternate" size:18];
[self addSubview:self.numberLabel];
[self.numberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.heartCenterImageView).offset(-18);
make.centerY.equalTo(self.heartCenterImageView).offset(-5);
make.centerX.equalTo(self.heartCenterImageView);
}];
@@ -106,7 +106,7 @@
make.right.equalTo(self.heartCenterImageView.mas_left);
make.width.mas_equalTo(ScaleWidth(75));
make.height.mas_equalTo(ScaleWidth(75)+25);
make.top.equalTo(self.heartCenterImageView).offset(-5);
make.top.equalTo(self.heartCenterImageView).offset(-7);
}];
self.rightSeatView = [[QXRoomSeatContentView alloc] init];
@@ -132,7 +132,7 @@
self.timeDownBgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"room_cabin_timedown_bg"]];
self.timeDownBgView.contentMode = UIViewContentModeScaleToFill;
[self addSubview:self.timeDownBgView];
[self insertSubview:self.timeDownBgView belowSubview:self.timeDownLabel];
[self.timeDownBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.timeDownLabel);
}];
@@ -140,7 +140,7 @@
CGFloat margin = (SCREEN_WIDTH-77*3)/4;
CGFloat margin = (SCREEN_WIDTH-88*3)/4;
self.micBtn = [[UIButton alloc] init];
[self.micBtn setImage:[UIImage imageNamed:@"room_cabin_open"] forState:(UIControlStateNormal)];
[self.micBtn setImage:[UIImage imageNamed:@"room_cabin_close"] forState:(UIControlStateSelected)];
@@ -149,8 +149,8 @@
[self.micBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(0);
make.left.mas_equalTo(margin);
make.width.mas_equalTo(77);
make.height.mas_equalTo(119);
make.width.mas_equalTo(88);
make.height.mas_equalTo(108);
}];
@@ -161,8 +161,8 @@
[self.giftBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(self.micBtn);
make.left.equalTo(self.micBtn.mas_right).offset(margin);
make.width.mas_equalTo(77);
make.height.mas_equalTo(119);
make.width.mas_equalTo(88);
make.height.mas_equalTo(108);
}];
@@ -173,8 +173,8 @@
[self.movieBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.giftBtn.mas_right).offset(margin);
make.bottom.equalTo(self.micBtn);
make.width.mas_equalTo(77);
make.height.mas_equalTo(119);
make.width.mas_equalTo(88);
make.height.mas_equalTo(108);
}];
// [[QXAgoraEngine sharedEngine].agoraKit muteAllRemoteVideoStreams:NO];
// [[QXAgoraEngine sharedEngine] startPreViewWithUid:54 view:self];
@@ -224,20 +224,20 @@
}
if (![roomModel.room_owner.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.movieBtn.hidden = YES;
CGFloat margin = (SCREEN_WIDTH-77*2)/3;
CGFloat margin = (SCREEN_WIDTH-88*2)/3;
[self.micBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(0);
make.left.mas_equalTo(margin);
make.width.mas_equalTo(77);
make.height.mas_equalTo(119);
make.width.mas_equalTo(88);
make.height.mas_equalTo(108);
}];
[self.giftBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(self.micBtn);
make.left.equalTo(self.micBtn.mas_right).offset(margin);
make.width.mas_equalTo(77);
make.height.mas_equalTo(119);
make.width.mas_equalTo(88);
make.height.mas_equalTo(108);
}];
}
@@ -307,10 +307,10 @@
-(void)closeAction{
MJWeakSelf
UIAlertController *al = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:(UIAlertControllerStyleActionSheet)];
[al addAction:[UIAlertAction actionWithTitle:@"最小化房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[weakSelf miniRoom];
[[QXGlobal shareGlobal] miniRoomWithRoomId:weakSelf.roomModel.room_info.room_id roomCover:weakSelf.roomModel.room_info.room_cover];
}]];
// [al addAction:[UIAlertAction actionWithTitle:@"最小化房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
// [weakSelf miniRoom];
// [[QXGlobal shareGlobal] miniRoomWithRoomId:weakSelf.roomModel.room_info.room_id roomCover:weakSelf.roomModel.room_info.room_cover];
// }]];
[al addAction:[UIAlertAction actionWithTitle:@"退出房间" style:(UIAlertActionStyleDefault) handler:^(UIAlertAction * _Nonnull action) {
[weakSelf leaveRoom];
}]];
@@ -319,15 +319,36 @@
}]];
[self.viewController presentViewController:al animated:YES completion:nil];
}
-(void)friendCabinRoomIsQuit{
}
-(void)miniRoom{
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationController popViewControllerAnimated:YES];
}
-(void)leaveRoom{
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id];
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[self.navigationController popViewControllerAnimated:YES];
UINavigationController *na = (UINavigationController *)KEYWINDOW.rootViewController;
if ([self.roomModel.room_info.type_id isEqualToString:@"6"] && [self.roomModel.room_info.label_id isEqualToString:@"5"]) {
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id];
NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:na.viewControllers];
for (int i = 0; i < viewControllers.count; i++) {
UIViewController *vc = [viewControllers objectAtIndex:i];
if ([vc isEqual:self.viewController]) {
QXRoomViewController *roomVc = [[QXRoomViewController alloc] init];
roomVc.roomId = QXGlobal.shareGlobal.superRoomId;
[viewControllers insertObject:roomVc atIndex:i];
break;
}
}
na.viewControllers = viewControllers;
[na popViewControllerAnimated:YES];
QXGlobal.shareGlobal.superRoomId = @"";
}else{
[[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id];
// self.navigationController.interactivePopGestureRecognizer.enabled = YES;
[na popViewControllerAnimated:YES];
}
}
-(void)destroyViews{
if (_leftSeatView) {

View File

@@ -42,13 +42,15 @@ typedef NS_ENUM(NSInteger) {
-(void)friendRelationIsCreatedWithrelationModel:(QXRoomFriendRelationModel*)relationModel;
/// 清除魅力
-(void)clearCharm;
/// 设置魅力
-(void)setSeatCharmWithUser:(QXUserHomeModel*)model;
/// 用户信息发生改变
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
/// 销毁视图
-(void)destroyViews;
@end

View File

@@ -296,6 +296,7 @@
self.startBtn = [[UIButton alloc] init];
self.startBtn.needEventInterval = 0.5;
[self.startBtn setTitle:@"开始" forState:(UIControlStateNormal)];
self.startBtn.titleLabel.font = [UIFont systemFontOfSize:12];
[self.startBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)];
@@ -343,6 +344,7 @@
self.endBtn = [[UIButton alloc] init];
self.endBtn.hidden = YES;
self.endBtn.needEventInterval = 0.5;
[self.endBtn setTitle:@"结束" forState:(UIControlStateNormal)];
self.endBtn.titleLabel.font = [UIFont systemFontOfSize:12];
[self.endBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateNormal)];
@@ -701,6 +703,7 @@
self.heartCenterValueBgImageView.hidden = YES;
self.heartCenterLinePlayer.hidden = YES;
[self.heartCenterLinePlayer stopAnimation];
self.centerIsAnimate = NO;
}
if (md2.heartNum.longValue>0) {
self.heartTopLabel.text = md2.heartNum;
@@ -724,6 +727,7 @@
self.heartTopLabel.hidden = YES;
self.heartTopLinePlayer.hidden = YES;
[self.heartTopLinePlayer stopAnimation];
self.topIsAnimate = NO;
}
if (md3.heartNum.longValue>0) {
self.heartBottomLabel.text = md3.heartNum;
@@ -747,6 +751,7 @@
self.heartBottomLabel.hidden = YES;
self.heartBottomLinePlayer.hidden = YES;
[self.heartBottomLinePlayer stopAnimation];
self.bottomIsAnimate = NO;
}
}
@@ -864,6 +869,26 @@
contentView.pitModel = model;
[self configGameOptionBtn];
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
if (fromPitNumber == 0 || toPitNumber == 0) {
return;
}
id object1 = self.allSeatViewArray[fromPitNumber-1];
id object2 = self.allSeatViewArray[fromPitNumber-1];
if ([object1 isKindOfClass:[QXRoomSeatContentView class]] && [object2 isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *fromSeatView = self.allSeatViewArray[fromPitNumber-1];
QXRoomSeatContentView *toSeatView = self.allSeatViewArray[toPitNumber-1];
QXRoomPitModel *fromPitModel = fromSeatView.pitModel;
QXRoomPitModel *totModel = toSeatView.pitModel;
NSString* tmpPitNum = [NSString stringWithFormat:@"%@",fromPitModel.pit_number];
fromPitModel.pit_number = totModel.pit_number;
totModel.pit_number = tmpPitNum;
toSeatView.pitModel = fromPitModel;
fromSeatView.pitModel = totModel;
}
}
-(void)didClickSeatView:(QXRoomSeatContentView*)seatView{
NSString *pit_number = [NSString stringWithFormat:@"%ld",seatView.number] ;
@@ -997,7 +1022,11 @@
self.myPitNumber = -1;
}
for (QXRoomPitModel*model in pitArray) {
QXRoomSeatContentView *contentView = self.allSeatViewArray[model.pit_number.intValue-1];
id object = self.allSeatViewArray[model.pit_number.intValue-1];
if (![object isKindOfClass:[QXRoomSeatContentView class]]) {
continue;
}
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
QXRoomPitModel *md = contentView.pitModel;
md.user_id = model.user_id;
md.avatar = model.avatar;
@@ -1020,6 +1049,7 @@
-(void)friendPartDidChangedWithType:(NSString*)step friend_id:(NSString*)friend_id end_time:(NSString*)end_time relationModel:(nonnull QXRoomFriendRelationModel *)relationModel{
if (step.intValue == 1) {
self.roomModel.friend_info.heart_list = @[];
self.tenSecondLabel.hidden = YES;
}
self.roomModel.friend_info.step = [NSString stringWithFormat:@"%@",step];
self.roomModel.friend_info.friend_id = friend_id;
@@ -1068,31 +1098,38 @@
}
}
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{
for (QXRoomSeatContentView *seatView in self.allSeatViewArray) {
QXRoomPitModel *md = seatView.pitModel;
if ([model.user_id isEqualToString:md.user_id]) {
md.charm = model.charm;
seatView.pitModel = md;
break;
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
QXRoomPitModel *md = contentView.pitModel;
if ([model.user_id isEqualToString:md.user_id]) {
md.charm = model.charm;
contentView.pitModel = md;
break;
}
}
}
}
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user{
for (QXRoomSeatContentView *seatView in self.allSeatViewArray) {
QXRoomPitModel *md = seatView.pitModel;
if ([user.user_id isEqualToString:md.user_id]) {
md.dress = user.dress;
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
seatView.pitModel = md;
break;
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
QXRoomPitModel *md = contentView.pitModel;
if ([user.user_id isEqualToString:md.user_id]) {
md.dress = user.dress;
md.nickname = user.nickname;
md.sex = user.sex;
md.avatar = user.avatar;
contentView.pitModel = md;
break;
}
}
}
}
-(void)animateIsFinishedWithModel:(QXRoomFriendRelationModel *)model{
if ([model.room_id isExist]) {
QXGlobal.shareGlobal.superRoomId = self.roomModel.room_info.room_id;
if ([model.user1_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id] || [model.user2_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
[[QXGlobal shareGlobal] joinRoomWithRoomId:model.room_id isRejoin:NO navagationController:self.viewController.navigationController];
}
@@ -1156,6 +1193,7 @@
[self->_timer invalidate];
self->_timer= nil;
}
self.tenSecondLabel.hidden = YES;
}
//- (SVGAPlayer *)svgaPlayer {

View File

@@ -36,6 +36,9 @@ NS_ASSUME_NONNULL_BEGIN
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)destroyViews;
@end

View File

@@ -334,6 +334,22 @@ static NSInteger maxSeat = 8;
}
}
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
if (fromPitNumber == 0 || toPitNumber == 0) {
return;
}
QXRoomSeatContentView *fromSeatView = self.seatArray[fromPitNumber-1];
QXRoomSeatContentView *toSeatView = self.seatArray[toPitNumber-1];
QXRoomPitModel *fromPitModel = fromSeatView.pitModel;
QXRoomPitModel *totModel = toSeatView.pitModel;
NSString* tmpPitNum = [NSString stringWithFormat:@"%@",fromPitModel.pit_number];
fromPitModel.pit_number = totModel.pit_number;
totModel.pit_number = tmpPitNum;
toSeatView.pitModel = fromPitModel;
fromSeatView.pitModel = totModel;
}
-(void)setSeatIsLock:(NSString *)isLock pitNumber:(NSString *)pitNumber{
NSInteger pit_number = pitNumber.integerValue;

View File

@@ -57,6 +57,8 @@ typedef NS_ENUM(NSInteger) {
-(void)didUpDownSeatWithUser:(QXUserHomeModel *)user isUpSeat:(BOOL)isUpSeat pit_number:(NSInteger)pit_number;
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;

View File

@@ -863,6 +863,29 @@
break;
}
}
///
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
switch (self.type) {
case QXRoomSeatViewTypeNormal:
[self.normalSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
break;
case QXRoomSeatViewTypeSing:
// [self.songView clearCharm];
break;
case QXRoomSeatViewTypeAuction:
break;
case QXRoomSeatViewTypeCabin:
break;
case QXRoomSeatViewTypePK:
[self.roomPkView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
break;
default:
break;
}
}
-(void)setSeatCharmWithUser:(QXUserHomeModel *)model{
switch (self.type) {
case QXRoomSeatViewTypeNormal:
@@ -988,7 +1011,14 @@
}
/// 退
-(void)friendCabinRoomIsQuit{
switch (self.type) {
case QXRoomSeatViewTypeCabin:{
[self.cabinView friendCabinRoomIsQuit];
}
break;
default:
break;
}
}
///
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time{

View File

@@ -28,10 +28,12 @@ static NSInteger maxCount = 5;
// [self addRoundedCornersWithRadius:15.5];
// self.layer.borderWidth = 2;
// self.layer.borderColor = RGB16(0x333333).CGColor;
self.backgroundColor = UIColor.clearColor;
self.cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:self.bounds delegate:self placeholderImage:nil];
self.cycleScrollView.pageControlStyle = SDCycleScrollViewPageContolStyleNone;
self.cycleScrollView.scrollDirection = UICollectionViewScrollDirectionVertical;
self.cycleScrollView.delegate = self;
self.cycleScrollView.backgroundColor = UIColor.clearColor;
[self addSubview:self.cycleScrollView];
}
-(void)setModel:(QXGiftScrollModel *)model{