From 57975eafc12970472c4aff08fb1f1330982a4fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E6=98=9F?= Date: Thu, 4 Dec 2025 23:35:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QXLive/Base/QXGlobal.h | 2 +- QXLive/Base/QXGlobal.m | 9 ++- QXLive/Dynamic(语圈)/View/QXSendGiftView.m | 13 +++- .../Controlller/QXLoginViewController.m | 2 +- QXLive/Manager/QXRoomMessageManager.h | 2 +- QXLive/Manager/QXRoomMessageManager.m | 15 ++-- .../Controller/QXMineViewController.m | 22 +++++- .../个人主页/QXUserHomePageViewController.m | 2 +- .../亲密关系/QXIntimateViewController.m | 2 +- .../爵位/QXNobilityBuyViewController.m | 5 +- .../View/亲密关系/QXIntimateMoreListCell.h | 2 + .../View/亲密关系/QXIntimateMoreListCell.m | 7 ++ .../View/亲密关系/QXIntimateMoreListCell.xib | 2 + .../Mine(音域)/View/家族/QXFamilyMemberCell.m | 1 + .../View/家族/QXFamilyMemberCell.xib | 39 ++++++----- QXLive/Mine(音域)/View/设置/QXBlackListCell.h | 2 + QXLive/Mine(音域)/View/设置/QXBlackListCell.m | 28 +++++--- QXLive/Other/AppDelegate+Login.m | 2 +- .../app_one_login_icon.imageset/Contents.json | 21 ++++++ .../app_one_login_icon@2x.png | Bin 0 -> 76830 bytes .../Controller/QXRoomViewController+Friend.m | 2 +- .../Controller/QXRoomViewController.m | 10 ++- QXLive/Room(房间)/View/QXMiniRoomView.m | 2 +- QXLive/Room(房间)/View/QXRoomTitleView.m | 4 +- .../View/排行榜/QXRoomRankSubView.m | 65 +++++++++--------- .../View/点唱/QXSingerSongListCell.m | 2 +- .../View/点唱/QXSingerSongListContentView.h | 2 +- .../View/点唱/QXSingerSongListContentView.m | 15 ++-- .../View/点唱/QXSingerSongListView.m | 1 + .../View/用户信息/QXRoomUserInfoView.m | 8 ++- .../View/签约房/QXSignCoinListView.m | 6 +- .../Room(房间)/View/设置/QXRoomSettingView.m | 2 +- .../View/麦位视图/QXRoomSeatContentView.h | 2 + .../View/麦位视图/QXRoomSeatContentView.m | 6 ++ .../View/麦位视图/QXRoomSeatTypeCabinView.m | 4 +- .../View/麦位视图/QXRoomSeatTypeFrientView.m | 2 +- .../View/麦位视图/QXRoomSeatTypeNormalView.m | 6 +- .../View/麦位视图/QXRoomSeatTypeSingerView.m | 11 ++- 38 files changed, 216 insertions(+), 112 deletions(-) create mode 100644 QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/Contents.json create mode 100644 QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/app_one_login_icon@2x.png diff --git a/QXLive/Base/QXGlobal.h b/QXLive/Base/QXGlobal.h index 7b2fdd8..5e52ec2 100644 --- a/QXLive/Base/QXGlobal.h +++ b/QXLive/Base/QXGlobal.h @@ -111,7 +111,7 @@ typedef void (^showFinishBlock)(void); /** 退出房间 */ --(void)quitRoomWithRoomId:(NSString*)roomId; +-(void)quitRoomWithRoomId:(NSString*)roomId removeListener:(BOOL)removeListener; /// 去完成任务 -(void)finishTask; diff --git a/QXLive/Base/QXGlobal.m b/QXLive/Base/QXGlobal.m index e0142a5..0772a54 100644 --- a/QXLive/Base/QXGlobal.m +++ b/QXLive/Base/QXGlobal.m @@ -242,6 +242,9 @@ } if ([roomId isEqualToString:self.roomId]) { if ([navagationController.viewControllers containsObject:self.roomVC]) { + if (![navagationController.visibleViewController isEqual:self.roomVC]) { + [navagationController popToViewController:self.roomVC animated:YES]; + } return; }else{ [UIApplication sharedApplication].idleTimerDisabled = YES; @@ -296,7 +299,7 @@ [[QXRoomMessageManager shared] joinGroupWithRoomId:roomId]; [QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) { if (weakSelf.roomId && ![weakSelf.roomId isEqualToString:roomId]) { - [weakSelf quitRoomWithRoomId:weakSelf.roomId]; + [weakSelf quitRoomWithRoomId:weakSelf.roomId removeListener:NO]; } // hideLoadingInView(KEYWINDOW) // roomModel.room_info.pk_room_id = @"33"; @@ -371,7 +374,7 @@ } } } --(void)quitRoomWithRoomId:(NSString *)roomId{ +-(void)quitRoomWithRoomId:(NSString *)roomId removeListener:(BOOL)removeListener{ [self stopKeepTimer]; [UIApplication sharedApplication].idleTimerDisabled = NO; /// 移除所有红包 @@ -389,7 +392,7 @@ /// 销毁整个声网示例 [[QXAgoraEngine sharedEngine] destroyEngine]; /// 退出直播群 - [[QXRoomMessageManager shared] quitGroupWithRoomId:roomId]; + [[QXRoomMessageManager shared] quitGroupWithRoomId:roomId removeListener:removeListener]; [[QXGlobal shareGlobal].offLineDict removeAllObjects]; [[NSNotificationCenter defaultCenter] removeObserver:self]; if (_roomVC) { diff --git a/QXLive/Dynamic(语圈)/View/QXSendGiftView.m b/QXLive/Dynamic(语圈)/View/QXSendGiftView.m index 6cbbdaf..459bee0 100644 --- a/QXLive/Dynamic(语圈)/View/QXSendGiftView.m +++ b/QXLive/Dynamic(语圈)/View/QXSendGiftView.m @@ -511,7 +511,18 @@ self.giftModel = nil; self.pitUserListView.isSingle = NO; [self.pitUserListView.selectedArray removeAllObjects]; - self.pitUserListView.users = pitUsers; + NSMutableArray *arr = [NSMutableArray array]; + for (QXRoomPitModel *md in pitUsers) { + QXRoomPitModel *model = [QXRoomPitModel new]; + model.user_id = md.user_id; + model.nickname = md.nickname; + model.pit_number = md.pit_number; + model.sex = md.sex; + model.avatar = md.avatar; + model.user_code = md.user_code; + [arr addObject:model]; + } + self.pitUserListView.users = arr; [self getMyWallet]; } -(void)setUserModel:(QXRoomPitModel *)userModel{ diff --git a/QXLive/Login(登录)/Controlller/QXLoginViewController.m b/QXLive/Login(登录)/Controlller/QXLoginViewController.m index df15c37..76c5e78 100644 --- a/QXLive/Login(登录)/Controlller/QXLoginViewController.m +++ b/QXLive/Login(登录)/Controlller/QXLoginViewController.m @@ -253,7 +253,7 @@ model.navIsHidden = YES; model.preferredStatusBarStyle = UIStatusBarStyleDarkContent; - model.logoImage = [UIImage imageNamed:@"login_logo"]; + model.logoImage = [UIImage imageNamed:@"app_one_login_icon"]; model.logoFrameBlock = ^CGRect(CGSize screenSize, CGSize superViewSize, CGRect frame) { frame.origin = CGPointMake((SCREEN_WIDTH - 88) * .5, 150+ kSafeAreaTop); frame.size = CGSizeMake(88, 88); diff --git a/QXLive/Manager/QXRoomMessageManager.h b/QXLive/Manager/QXRoomMessageManager.h index 9e43e24..573acb4 100644 --- a/QXLive/Manager/QXRoomMessageManager.h +++ b/QXLive/Manager/QXRoomMessageManager.h @@ -324,7 +324,7 @@ NS_ASSUME_NONNULL_BEGIN -(void)joinGroupWithRoomId:(NSString*)roomId; /// 退出房间群组 --(void)quitGroupWithRoomId:(NSString*)roomId; +-(void)quitGroupWithRoomId:(NSString*)roomId removeListener:(BOOL)removeListener; -(void)sendChatMessage:(NSString *)message messageType:(QXRoomMessageType)messageType needInsertMessage:(BOOL)needInsertMessage; /// 发送表情 diff --git a/QXLive/Manager/QXRoomMessageManager.m b/QXLive/Manager/QXRoomMessageManager.m index cc5e0eb..3ed4da6 100644 --- a/QXLive/Manager/QXRoomMessageManager.m +++ b/QXLive/Manager/QXRoomMessageManager.m @@ -42,7 +42,7 @@ -(void)joinGroupWithRoomId:(NSString *)roomId{ MJWeakSelf if (self.groupId) { - [self quitGroupWithRoomId:self.groupId]; + [self quitGroupWithRoomId:self.groupId removeListener:YES]; } [[V2TIMManager sharedInstance] addGroupListener:self]; [[V2TIMManager sharedInstance] addAdvancedMsgListener:self]; @@ -56,12 +56,13 @@ QXLOG(@"腾讯IM加入聊天室失败-code%d-原因%@",code,desc); }]; } --(void)quitGroupWithRoomId:(NSString *)roomId{ - MJWeakSelf - self.groupId = nil; - self.roomId = nil; - [[V2TIMManager sharedInstance] removeGroupListener:self]; - [[V2TIMManager sharedInstance] removeAdvancedMsgListener:self]; +-(void)quitGroupWithRoomId:(NSString *)roomId removeListener:(BOOL)removeListener{ + if (removeListener) { + self.groupId = nil; + self.roomId = nil; + [[V2TIMManager sharedInstance] removeGroupListener:self]; + [[V2TIMManager sharedInstance] removeAdvancedMsgListener:self]; + } NSString *groupId = [NSString stringWithFormat:@"room%@",roomId]; [[V2TIMManager sharedInstance] quitGroup:groupId succ:^{ diff --git a/QXLive/Mine(音域)/Controller/QXMineViewController.m b/QXLive/Mine(音域)/Controller/QXMineViewController.m index 80e88b8..25b97bc 100644 --- a/QXLive/Mine(音域)/Controller/QXMineViewController.m +++ b/QXLive/Mine(音域)/Controller/QXMineViewController.m @@ -161,9 +161,25 @@ break; case QXMineServiceTypeSingerAuth:{ QXLOG(@"点击了歌手认证"); - QXRoomSingerAuthViewController *vc = [[QXRoomSingerAuthViewController alloc] init]; - vc.singer_status = self.userModel.singer_status; - [self.navigationController pushViewController:vc animated:YES]; + MJWeakSelf + if (![QXGlobal shareGlobal].isRealName) { + QXLOG(@"未实名,弹出实名认证"); + QXRealNamePopView *v = [[QXRealNamePopView alloc] init]; + v.closeActionBlock = ^{ + [[QXGlobal shareGlobal] hideViewBlock:^{}]; + }; + v.authActionBlock = ^{ + [[QXGlobal shareGlobal] hideViewBlock:^{ + QXRoomSingerAuthViewController *vc = [[QXRoomSingerAuthViewController alloc] init]; + vc.singer_status = weakSelf.userModel.singer_status; + [weakSelf.navigationController pushViewController:vc animated:YES]; + }]; + }; + [[QXGlobal shareGlobal] showView:v popType:(PopViewTypePopFromCenter) tapDismiss:NO finishBlock:^{}]; + }else{ + QXMyRoomViewController *vc = [[QXMyRoomViewController alloc] init]; + [self.navigationController pushViewController:vc animated:YES]; + } } break; case QXMineServiceTypeSongList:{ diff --git a/QXLive/Mine(音域)/Controller/个人主页/QXUserHomePageViewController.m b/QXLive/Mine(音域)/Controller/个人主页/QXUserHomePageViewController.m index 3c3538e..dea294f 100644 --- a/QXLive/Mine(音域)/Controller/个人主页/QXUserHomePageViewController.m +++ b/QXLive/Mine(音域)/Controller/个人主页/QXUserHomePageViewController.m @@ -70,7 +70,7 @@ self.categoryView.delegate = self; self.categoryView.titleSelectedColor = QXConfig.textColor; self.categoryView.titleColor = RGB16(0x666666); - self.categoryView.titleFont = [UIFont boldSystemFontOfSize:12]; + self.categoryView.titleFont = [UIFont boldSystemFontOfSize:14]; self.categoryView.titleSelectedFont = [UIFont boldSystemFontOfSize:16]; self.categoryView.titleColorGradientEnabled = YES; self.categoryView.titleLabelZoomEnabled = YES; diff --git a/QXLive/Mine(音域)/Controller/亲密关系/QXIntimateViewController.m b/QXLive/Mine(音域)/Controller/亲密关系/QXIntimateViewController.m index 3f47b39..014caf1 100644 --- a/QXLive/Mine(音域)/Controller/亲密关系/QXIntimateViewController.m +++ b/QXLive/Mine(音域)/Controller/亲密关系/QXIntimateViewController.m @@ -122,7 +122,7 @@ MJWeakSelf QXIntimateMoreListCell *cell = [QXIntimateMoreListCell cellWithTableView:tableView]; cell.userId = self.userId; - QXRoomBestFriendListModel *md = self.dataArray.firstObject; + QXRoomBestFriendListModel *md = self.dataArray[indexPath.section-1]; cell.model = md.relation_list.firstObject; cell.delegate = self; cell.deleteSuccessBlock = ^(QXRelationshipListModel * _Nonnull model) { diff --git a/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m b/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m index ce1c945..a4602ed 100644 --- a/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m +++ b/QXLive/Mine(音域)/Controller/爵位/QXNobilityBuyViewController.m @@ -61,7 +61,10 @@ weakSelf.priceView.model = model; [weakSelf.tableView reloadData]; } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - + showToast(msg); + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [weakSelf.navigationController popViewControllerAnimated:YES]; + }); }]; } diff --git a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.h b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.h index ed1a38b..31e0b22 100644 --- a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.h +++ b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.h @@ -24,6 +24,8 @@ NS_ASSUME_NONNULL_BEGIN @property (weak, nonatomic) IBOutlet UILabel *timeLabel; @property (nonatomic,strong)QXRelationshipListModel *model; @property (nonatomic,strong)NSString *userId; +@property (weak, nonatomic) IBOutlet UIButton *deleteBtn; +@property (weak, nonatomic) IBOutlet UIButton *topBtn; @property (nonatomic,copy)void(^topSuccessBlock)(QXRelationshipListModel*model); @property (nonatomic,copy)void(^deleteSuccessBlock)(QXRelationshipListModel*model); @property (nonatomic,weak)iddelegate; diff --git a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.m b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.m index bb8f291..5b5ab1c 100644 --- a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.m +++ b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.m @@ -103,6 +103,13 @@ self.rightNameLabel.text = model.nickname1; self.rightSexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"]; } + if ([self.userId isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + self.topBtn.hidden = YES; + self.deleteBtn.hidden = YES; + }else{ + self.topBtn.hidden = NO; + self.deleteBtn.hidden = NO; + } NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970]; long long milliseconds = (long long)(currentTime); NSInteger time = model.end_time.longLongValue - milliseconds; diff --git a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.xib b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.xib index ed7560b..9160aed 100644 --- a/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.xib +++ b/QXLive/Mine(音域)/View/亲密关系/QXIntimateMoreListCell.xib @@ -166,6 +166,7 @@ + @@ -173,6 +174,7 @@ + diff --git a/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m b/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m index 6f5874f..b583a14 100644 --- a/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m +++ b/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m @@ -47,6 +47,7 @@ [self.priceBtn setTitle:model.market_value forState:(UIControlStateNormal)]; self.onlineLabel.text = model.is_online==1?@"当前在线":@"当前离线"; self.continueBtn.hidden = model.is_show_sign.intValue==1?NO:YES; + self.continueBtn.hidden = NO; } - (IBAction)continueAction:(id)sender { diff --git a/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib b/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib index ee6ec03..19f874f 100644 --- a/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib +++ b/QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib @@ -53,8 +53,8 @@ @@ -65,7 +65,7 @@ - + + + @@ -211,21 +211,22 @@ - + + - + diff --git a/QXLive/Mine(音域)/View/设置/QXBlackListCell.h b/QXLive/Mine(音域)/View/设置/QXBlackListCell.h index 252120b..7bcde8f 100644 --- a/QXLive/Mine(音域)/View/设置/QXBlackListCell.h +++ b/QXLive/Mine(音域)/View/设置/QXBlackListCell.h @@ -56,6 +56,8 @@ NS_ASSUME_NONNULL_BEGIN @property (weak, nonatomic) IBOutlet UILabel *roleLabel; @property (nonatomic,assign)BOOL isUpSeat; +/// 是否显示icon标签 +@property (nonatomic,assign)BOOL isNoIcon; @property (nonatomic,strong)QXRoomUserInfoModel *onlineUser; diff --git a/QXLive/Mine(音域)/View/设置/QXBlackListCell.m b/QXLive/Mine(音域)/View/设置/QXBlackListCell.m index 1d7ccc0..ab2a9fe 100644 --- a/QXLive/Mine(音域)/View/设置/QXBlackListCell.m +++ b/QXLive/Mine(音域)/View/设置/QXBlackListCell.m @@ -174,18 +174,21 @@ }else{ self.sexImageView.hidden = YES; } - - if (rankModel.icon.count > 0) { - self.iconBgView.hidden = NO; - for (int i = 0;i < rankModel.icon.count;i++) { - if (i < 3) { - UIImageView *iconImageView = self.iconViewArray[i]; - iconImageView.hidden = NO; - [iconImageView sd_setImageWithURL:[NSURL URLWithString:rankModel.icon[i]]]; - } - } - }else{ + if (self.isNoIcon) { self.iconBgView.hidden = YES; + }else{ + if (rankModel.icon.count > 0) { + self.iconBgView.hidden = NO; + for (int i = 0;i < rankModel.icon.count;i++) { + if (i < 3) { + UIImageView *iconImageView = self.iconViewArray[i]; + iconImageView.hidden = NO; + [iconImageView sd_setImageWithURL:[NSURL URLWithString:rankModel.icon[i]]]; + } + } + }else{ + self.iconBgView.hidden = YES; + } } [self.removeBtn setTitle:[NSString stringWithFormat:@" %@",rankModel.total?rankModel.total:rankModel.gift_prices] forState:(UIControlStateNormal)]; @@ -271,6 +274,9 @@ break; } } +-(void)setIsNoIcon:(BOOL)isNoIcon{ + _isNoIcon = isNoIcon; +} - (void)awakeFromNib { [super awakeFromNib]; // Initialization code diff --git a/QXLive/Other/AppDelegate+Login.m b/QXLive/Other/AppDelegate+Login.m index 962a1b1..7a4b9c2 100644 --- a/QXLive/Other/AppDelegate+Login.m +++ b/QXLive/Other/AppDelegate+Login.m @@ -113,7 +113,7 @@ } -(void)takeOff{ if(QXGlobal.shareGlobal.roomId.length > 0){ - [[QXGlobal shareGlobal] quitRoomWithRoomId:QXGlobal.shareGlobal.roomId]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:QXGlobal.shareGlobal.roomId removeListener:YES]; } self.tabbarVC.selectedIndex = 3; QXBaseNavigationController *tabbarNa = (QXBaseNavigationController *)self.tabbarVC.selectedViewController; diff --git a/QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/Contents.json b/QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/Contents.json new file mode 100644 index 0000000..fdb5702 --- /dev/null +++ b/QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "app_one_login_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/app_one_login_icon@2x.png b/QXLive/Other/Assets.xcassets/app_one_login_icon.imageset/app_one_login_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7fb44bdde53655c8d47f685456bc89a73a10928b GIT binary patch literal 76830 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

hd0DYiHoSxSA8U5O~f2R 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�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 ON>)-)qEgJj@BaZ#MDjxb literal 0 HcmV?d00001 diff --git a/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m b/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m index 6ef8f7f..b3d071c 100644 --- a/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m +++ b/QXLive/Room(房间)/Controller/QXRoomViewController+Friend.m @@ -77,7 +77,7 @@ } /// 有人退出交友房私密小屋 -(void)friendCabinRoomIsQuit{ - [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId removeListener:YES]; NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; for (int i = 0; i < viewControllers.count; i++) { diff --git a/QXLive/Room(房间)/Controller/QXRoomViewController.m b/QXLive/Room(房间)/Controller/QXRoomViewController.m index 26c6c9c..2099d89 100644 --- a/QXLive/Room(房间)/Controller/QXRoomViewController.m +++ b/QXLive/Room(房间)/Controller/QXRoomViewController.m @@ -319,7 +319,7 @@ QXRoomUserInfoViewDelegate }failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg); - [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId removeListener:YES]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [weakSelf.navigationController popViewControllerAnimated:YES]; }); @@ -655,7 +655,11 @@ QXRoomUserInfoViewDelegate } BOOL hasSong = NO; if ((self.roomModel.room_info.type_id.intValue == 1) && self.roomModel.room_info.label_id.intValue == 2) { - hasSong = YES; + if (self.roomModel.pk_info) { + hasSong = NO; + }else{ + hasSong = YES; + } } /// 暂时不要pk // hasPK = NO; @@ -906,7 +910,7 @@ QXRoomUserInfoViewDelegate // 踢出房间 -(void)userDidTakeOffWithUserInfo:(QXUserHomeModel *)userInfo{ if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { - [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId removeListener:YES]; // self.navigationController.interactivePopGestureRecognizer.enabled = YES; [self.navigationController popViewControllerAnimated:YES]; } diff --git a/QXLive/Room(房间)/View/QXMiniRoomView.m b/QXLive/Room(房间)/View/QXMiniRoomView.m index d80e9ad..76c0dcf 100644 --- a/QXLive/Room(房间)/View/QXMiniRoomView.m +++ b/QXLive/Room(房间)/View/QXMiniRoomView.m @@ -101,7 +101,7 @@ -(void)closeAction{ [self.layer removeAnimationForKey:@"rotationAnimation"]; [self removeFromSuperview]; - [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomId removeListener:YES]; } -(void)handlePan:(UIPanGestureRecognizer*)recognizer{ diff --git a/QXLive/Room(房间)/View/QXRoomTitleView.m b/QXLive/Room(房间)/View/QXRoomTitleView.m index 5d48215..0598229 100644 --- a/QXLive/Room(房间)/View/QXRoomTitleView.m +++ b/QXLive/Room(房间)/View/QXRoomTitleView.m @@ -405,7 +405,7 @@ } -(void)leaveRoom{ if ([self.roomModel.room_info.type_id isEqualToString:@"6"] && [self.roomModel.room_info.label_id isEqualToString:@"5"]) { - [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId removeListener:YES]; NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; for (int i = 0; i < viewControllers.count; i++) { UIViewController *vc = [viewControllers objectAtIndex:i]; @@ -420,7 +420,7 @@ [self.navigationController popViewControllerAnimated:YES]; QXGlobal.shareGlobal.superRoomId = @""; }else{ - [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId]; + [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomId removeListener:YES]; [self.navigationController popViewControllerAnimated:YES]; } } diff --git a/QXLive/Room(房间)/View/排行榜/QXRoomRankSubView.m b/QXLive/Room(房间)/View/排行榜/QXRoomRankSubView.m index 0a5f71f..b18e194 100644 --- a/QXLive/Room(房间)/View/排行榜/QXRoomRankSubView.m +++ b/QXLive/Room(房间)/View/排行榜/QXRoomRankSubView.m @@ -233,6 +233,7 @@ cell.cellType = QXBlackListCellTypeRank; cell.backgroundColor = [UIColor clearColor]; cell.titleLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row+4]; + cell.isNoIcon = YES; cell.rankModel = self.dataArray[indexPath.row]; return cell; } @@ -318,36 +319,37 @@ self.nameLabel.text = md.nickname?md.nickname:@""; [self.iconBgView removeAllSubviews]; [self.rankBtn setTitle:[NSString stringWithFormat:@" %@",md.total?md.total:md.gift_prices] forState:(UIControlStateNormal)]; - CGFloat iconWidth = UserIconWidth; - CGFloat iconHeight = UserIconHeight; - CGFloat margin = 6; - for (int i = 0 ; i < md.icon.count; i++) { - UIImageView *iconImageView = [[UIImageView alloc] init]; - [iconImageView sd_setImageWithURL:[NSURL URLWithString:md.icon[i]]]; - [self.iconBgView addSubview:iconImageView]; - if (md.icon.count == 1) { - [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(iconWidth); - make.height.mas_equalTo(iconHeight); - make.centerY.centerX.equalTo(self.iconBgView); - }]; - }else if(md.icon.count == 2){ - [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.mas_equalTo(iconWidth); - make.height.mas_equalTo(iconHeight); - make.centerY.equalTo(self.iconBgView); - make.centerX.equalTo(self.iconBgView).offset(-UserIconWidth/2+(margin+iconWidth)*i); - }]; - }else{ - [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.mas_equalTo(i*(iconWidth+margin)); - make.width.mas_equalTo(iconWidth); - make.height.mas_equalTo(iconHeight); - make.centerY.equalTo(self.iconBgView); - }]; - } - - } + +// CGFloat iconWidth = UserIconWidth; +// CGFloat iconHeight = UserIconHeight; +// CGFloat margin = 6; +// for (int i = 0 ; i < md.icon.count; i++) { +// UIImageView *iconImageView = [[UIImageView alloc] init]; +// [iconImageView sd_setImageWithURL:[NSURL URLWithString:md.icon[i]]]; +// [self.iconBgView addSubview:iconImageView]; +// if (md.icon.count == 1) { +// [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.width.mas_equalTo(iconWidth); +// make.height.mas_equalTo(iconHeight); +// make.centerY.centerX.equalTo(self.iconBgView); +// }]; +// }else if(md.icon.count == 2){ +// [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.width.mas_equalTo(iconWidth); +// make.height.mas_equalTo(iconHeight); +// make.centerY.equalTo(self.iconBgView); +// make.centerX.equalTo(self.iconBgView).offset(-UserIconWidth/2+(margin+iconWidth)*i); +// }]; +// }else{ +// [iconImageView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.left.mas_equalTo(i*(iconWidth+margin)); +// make.width.mas_equalTo(iconWidth); +// make.height.mas_equalTo(iconHeight); +// make.centerY.equalTo(self.iconBgView); +// }]; +// } +// +// } } -(void)initSubviews{ self.headerImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"user_header_placehoulder"]]; @@ -404,6 +406,7 @@ }]; self.iconBgView = [[UIView alloc] init]; + self.iconBgView.hidden = YES; [self addSubview:self.iconBgView]; [self.iconBgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self); @@ -419,7 +422,7 @@ [self addSubview:self.rankBtn]; [self.rankBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self); - make.top.equalTo(self.iconBgView.mas_bottom); + make.top.equalTo(self.nameLabel.mas_bottom).offset(5); make.height.mas_equalTo(16); }]; diff --git a/QXLive/Room(房间)/View/点唱/QXSingerSongListCell.m b/QXLive/Room(房间)/View/点唱/QXSingerSongListCell.m index 1bf4eeb..689cd31 100644 --- a/QXLive/Room(房间)/View/点唱/QXSingerSongListCell.m +++ b/QXLive/Room(房间)/View/点唱/QXSingerSongListCell.m @@ -68,7 +68,7 @@ self.playingLabel.hidden = NO; self.requestBtn.hidden = YES; }else{ - self.requestBtn.hidden = NO; + self.requestBtn.hidden = !self.isCompere; self.playingLabel.hidden = YES; } } diff --git a/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.h b/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.h index c694295..d56d885 100644 --- a/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.h +++ b/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,assign)NSInteger historyType; @property (nonatomic,assign)QXRoomPitModel* pitModel; @property (nonatomic,strong)NSString*roomId; - +-(void)updateSongList; @end NS_ASSUME_NONNULL_END diff --git a/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.m b/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.m index df5fb61..0ef0ca7 100644 --- a/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.m +++ b/QXLive/Room(房间)/View/点唱/QXSingerSongListContentView.m @@ -83,10 +83,11 @@ if (list.count == 0) { weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData; }else{ - [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - + [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; }]; }else if (self.type == 1){ /// 已点歌曲 @@ -100,10 +101,11 @@ if (list.count == 0) { weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData; }else{ - [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - + [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; }]; }else{ /// 历史歌曲 @@ -117,10 +119,11 @@ if (list.count == 0) { weakSelf.tableView.mj_footer.state = MJRefreshStateNoMoreData; }else{ - [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; } } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { - + [weakSelf.tableView.mj_header endRefreshing]; + [weakSelf.tableView.mj_footer endRefreshing]; }]; } } diff --git a/QXLive/Room(房间)/View/点唱/QXSingerSongListView.m b/QXLive/Room(房间)/View/点唱/QXSingerSongListView.m index a05fdc6..bc1c0fa 100644 --- a/QXLive/Room(房间)/View/点唱/QXSingerSongListView.m +++ b/QXLive/Room(房间)/View/点唱/QXSingerSongListView.m @@ -99,6 +99,7 @@ [self.titles replaceObjectAtIndex:1 withObject:self.alreadySongTitle]; self.categoryView.titles = self.titles; [self.categoryView reloadDataWithoutListContainer]; + [self.alreadySongView updateSongList]; } -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ diff --git a/QXLive/Room(房间)/View/用户信息/QXRoomUserInfoView.m b/QXLive/Room(房间)/View/用户信息/QXRoomUserInfoView.m index bc4859d..60eff46 100644 --- a/QXLive/Room(房间)/View/用户信息/QXRoomUserInfoView.m +++ b/QXLive/Room(房间)/View/用户信息/QXRoomUserInfoView.m @@ -681,8 +681,12 @@ [weakSelf.collectionView reloadData]; weakSelf.idLabel.text = [NSString stringWithFormat:@"%@ ID:%@",model.sex.intValue==1?@"男":@"女",model.user_code]; weakSelf.guildLabel.text = [NSString stringWithFormat:@"所属公会:%@",[model.guild isExist]?model.guild:@"无"]; - if (![model.guild isExist] && ![weakSelf.userId isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { - weakSelf.joinGuildBtn.hidden = NO; + if ([model.guild isExist]) { + if ([weakSelf.userId isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) { + weakSelf.joinGuildBtn.hidden = YES; + }else{ + weakSelf.joinGuildBtn.hidden = NO; + } }else{ weakSelf.joinGuildBtn.hidden = YES; } diff --git a/QXLive/Room(房间)/View/签约房/QXSignCoinListView.m b/QXLive/Room(房间)/View/签约房/QXSignCoinListView.m index 33ab788..3cebaa5 100644 --- a/QXLive/Room(房间)/View/签约房/QXSignCoinListView.m +++ b/QXLive/Room(房间)/View/签约房/QXSignCoinListView.m @@ -210,9 +210,9 @@ [weakSelf.collectionView reloadData]; } failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) { showToast(msg); - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [weakSelf getCoinList]; - }); +// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ +// [weakSelf getCoinList]; +// }); }]; } diff --git a/QXLive/Room(房间)/View/设置/QXRoomSettingView.m b/QXLive/Room(房间)/View/设置/QXRoomSettingView.m index bf16d65..9d054f5 100644 --- a/QXLive/Room(房间)/View/设置/QXRoomSettingView.m +++ b/QXLive/Room(房间)/View/设置/QXRoomSettingView.m @@ -308,7 +308,7 @@ } if (model.type == QXRoomSettingTypeRoomLeave) { [self.navigationController popViewControllerAnimated:YES]; - [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomModel.room_info.room_id]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomModel.room_info.room_id removeListener:YES]; return; } if (model.type == QXRoomSettingTypeRoomCompere) { diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.h b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.h index 8bfb015..cd2113c 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.h +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.h @@ -26,6 +26,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic,strong)QXRoomPitModel *pitModel; @property (nonatomic,assign)BOOL onlyShowHeader; @property (nonatomic,assign) BOOL isSeatSpeaking; +/// 不显示麦圈 +@property (nonatomic,assign) BOOL noMicCycle; @property (nonatomic,strong)NSString *is_lock; @property (nonatomic,strong)UIImageView *noUserImageView; diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m index c95e9dc..833cc12 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatContentView.m @@ -218,6 +218,9 @@ QXLOG(@"在线状态%@",QXGlobal.shareGlobal.offLineDict); } -(void)speakInfo:(NSNotification*)notice{ + if (self.noMicCycle) { + return; + } id object = notice.object; if ([object isKindOfClass:[AgoraRtcAudioVolumeInfo class]]) { AgoraRtcAudioVolumeInfo *info = (AgoraRtcAudioVolumeInfo*)object; @@ -241,6 +244,9 @@ -(void)setNoOffLine:(BOOL)noOffLine{ _noOffLine = noOffLine; } +-(void)setNoMicCycle:(BOOL)noMicCycle{ + _noMicCycle = noMicCycle; +} -(void)setIsPK:(BOOL)isPK{ _isPK = isPK; self.nameLabel.font = [UIFont systemFontOfSize:10]; diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeCabinView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeCabinView.m index dd91291..e30df89 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeCabinView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeCabinView.m @@ -330,7 +330,7 @@ -(void)leaveRoom{ 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]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomModel.room_info.room_id removeListener:YES]; NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:na.viewControllers]; for (int i = 0; i < viewControllers.count; i++) { UIViewController *vc = [viewControllers objectAtIndex:i]; @@ -346,7 +346,7 @@ [na popViewControllerAnimated:YES]; QXGlobal.shareGlobal.superRoomId = @""; }else{ - [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id]; + [[QXGlobal shareGlobal]quitRoomWithRoomId:self.roomModel.room_info.room_id removeListener:YES]; // self.navigationController.interactivePopGestureRecognizer.enabled = YES; [na popViewControllerAnimated:YES]; } diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m index 89e542c..6d45143 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeFrientView.m @@ -1180,7 +1180,7 @@ 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] quitRoomWithRoomId:self.roomModel.room_info.room_id]; + [[QXGlobal shareGlobal] quitRoomWithRoomId:self.roomModel.room_info.room_id removeListener:YES]; [[QXGlobal shareGlobal] joinRoomWithRoomId:model.room_id isRejoin:NO navagationController:self.viewController.navigationController]; } } diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m index d99441b..5f2a43c 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeNormalView.m @@ -74,7 +74,7 @@ static NSInteger maxSeat = 8; for (int i = 0 ; i < maxSeat ; i++) { QXRoomSeatContentView *contentView = [[QXRoomSeatContentView alloc] init]; contentView.number = i+1; - contentView.noOffLine = YES; +// contentView.noOffLine = YES; // [contentView addTapBlock:^(id _Nonnull obj) { // [weakSelf didClickSeatView:obj]; // }]; @@ -89,8 +89,8 @@ static NSInteger maxSeat = 8; } [self.seatArray addObject:self.compereView]; [self.seatArray addObject:self.guestView]; - self.compereView.noOffLine = YES; - self.guestView.noOffLine = YES; +// self.compereView.noOffLine = YES; +// self.guestView.noOffLine = YES; } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ diff --git a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSingerView.m b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSingerView.m index 52049ab..0a565d2 100644 --- a/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSingerView.m +++ b/QXLive/Room(房间)/View/麦位视图/QXRoomSeatTypeSingerView.m @@ -82,6 +82,7 @@ }]; self.bossView = [[QXRoomSeatContentView alloc] init]; + self.bossView.noMicCycle = YES; self.bossView.tagString = @"老板"; self.bossView.delegate = self; self.bossView.number = 10; @@ -259,6 +260,9 @@ [self.delegate didClickUserHeaderWithPitModel:seatView.pitModel userModel:nil isPkRoom:NO pkRoomId:@"" isNoTakeOff:NO]; } }else{ + if (seatView == self.singerView) { + return; + } if (seatView.number == 9) { /// 麦位没人时点9号麦直接请求上麦 [self upseatCompere]; @@ -391,10 +395,11 @@ if (toPitNumber == 9) { self.compereView.contentView.hidden = NO; self.compereView.contentViewNoBodyBtn.hidden = YES; - }else{ - self.compereView.contentView.hidden = YES; - self.compereView.contentViewNoBodyBtn.hidden = NO; } +// else{ +// self.compereView.contentView.hidden = YES; +// self.compereView.contentViewNoBodyBtn.hidden = NO; +// } NSString* tmpPitNum = [NSString stringWithFormat:@"%@",fromPitModel.pit_number]; fromPitModel.pit_number = totModel.pit_number; totModel.pit_number = tmpPitNum;