This commit is contained in:
启星
2025-09-22 14:58:13 +08:00
parent 2776cf66c2
commit 048b9339eb
91 changed files with 518 additions and 131 deletions

View File

@@ -46,7 +46,8 @@ NS_ASSUME_NONNULL_BEGIN
/// 巡乐会
@property (nonatomic,strong)QXMeetActivityView *meetView;
-(void)configBottomTools;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
@end

View File

@@ -83,6 +83,7 @@ QXRoomUserInfoViewDelegate
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
@@ -100,6 +101,7 @@ QXRoomUserInfoViewDelegate
break;
}
}
[self playHWDMP4];
self.navigationController.viewControllers = marr;
// self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
@@ -107,6 +109,7 @@ QXRoomUserInfoViewDelegate
[super viewDidDisappear:animated];
// [[QXGiftPlayerManager shareManager] stopPlay];
self.continuousView.hidden = YES;
[self stopHWDMP4];
}
-(void)initSubViews{
@@ -221,7 +224,6 @@ QXRoomUserInfoViewDelegate
-(void)setRoomId:(NSString *)roomId{
_roomId = roomId;
[self.chatListView insertNoitce];
[[QXRoomMessageManager shared] joinGroupWithRoomId:self.roomId];
MJWeakSelf
[QXMineNetwork roomOnlineListWithRoomId:self.roomId page:1 successBlock:^(NSArray<QXRoomUserInfoModel *> * _Nonnull onPitList, NSArray<QXRoomUserInfoModel *> * _Nonnull offPitList) {
NSMutableArray *arr = [NSMutableArray arrayWithArray:onPitList];
@@ -236,7 +238,6 @@ QXRoomUserInfoViewDelegate
[self resetSubviews];
[self configRoomDataIsJoin:YES];
// [QXMineNetwork joinRoomWithRoomId:self.roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
//// roomModel.room_info.pk_room_id = @"33";
//
//
@@ -548,6 +549,8 @@ QXRoomUserInfoViewDelegate
}
/// pk
hasPK = NO;
/// ktv
hasSong = NO;
///
if (self.seatContentView.myPitNumber <= 0) {
self.bottomView.status = 1;
@@ -747,8 +750,17 @@ QXRoomUserInfoViewDelegate
}
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
[self.seatContentView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
[self.seatContentView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
if (toPitNumber == 9) {
self.soundBtn.hidden = NO;
self.titleView.isCompere = YES;
}else{
self.soundBtn.hidden = YES;
self.titleView.isCompere = NO;
}
}
}
//
-(void)userDidTakeOffWithUserInfo:(QXUserHomeModel *)userInfo{
@@ -1839,6 +1851,12 @@ QXRoomUserInfoViewDelegate
}
return _meetView;
}
-(void)stopHWDMP4{
[self.seatContentView stopHWDMP4];
}
-(void)playHWDMP4{
[self.seatContentView playHWDMP4];
}
-(void)destroyViews{
if (_skyView) {
[_skyView destroyViews];

View File

@@ -71,6 +71,7 @@ typedef NS_ENUM(NSInteger) {
@property (nonatomic,assign)QXRoomChatMessageType messageType;
@property (nonatomic,strong)NSString* text;
@property (nonatomic,strong)QXGiftModel* GiftInfo;
@property (nonatomic,strong)NSArray<QXGiftModel*>* GiftInfos;
@property (nonatomic,strong)QXUserHomeModel* FromUserInfo;
@property (nonatomic,strong)QXUserHomeModel* ToUserInfo;

View File

@@ -7,6 +7,33 @@
#import "QXRoomChatListView.h"
#import "UIImage+WebP.h"
#define messageNameColor RGB16(0x00C8FF)
#define messageGiftColor RGB16(0xFFE309)
NSArray<NSValue *> *findAllOccurrencesOfString(NSString *fullString, NSString *substring) {
NSMutableArray<NSValue *> *occurrences = [NSMutableArray array];
NSRange searchRange = NSMakeRange(0, fullString.length);
NSRange foundRange;
while (searchRange.location < fullString.length) {
searchRange.length = fullString.length - searchRange.location;
foundRange = [fullString rangeOfString:substring
options:0
range:searchRange];
if (foundRange.location != NSNotFound) {
//
[occurrences addObject:[NSValue valueWithRange:foundRange]];
//
searchRange.location = foundRange.location + foundRange.length;
} else {
// 退
break;
}
}
return [occurrences copy];
}
NSInteger maxMessageCount = 20;
@interface QXRoomChatListView() <UITableViewDelegate,UITableViewDataSource,QXRoomSeatDelegate>
@property (nonatomic,strong)UITableView *tableView;
@@ -349,13 +376,37 @@ NSInteger maxMessageCount = 20;
// self.titleLabel.text = message.text;
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
if ([message.FromUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
}
if ([message.ToUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
}
if ([message.GiftInfo.gift_name isExist]) {
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
for (NSString*gift_name in arr) {
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageGiftColor range:range];
}
}
}
if (message.GiftInfos.count > 0) {
for (QXGiftModel*gift in message.GiftInfos) {
if ([gift.gift_name isExist]) {
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
}
}
}
if (message.ToUserInfos.count > 0) {
for (int i = 0; i < message.ToUserInfos.count; i++) {
QXUserHomeModel*md = message.ToUserInfos[i];
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageNameColor range:range];
}
}
}
self.titleLabel.attributedText = attr;
self.nameLabel.text = message.FromUserInfo.nickname;
@@ -394,7 +445,7 @@ NSInteger maxMessageCount = 20;
}];
self.nameLabel = [[UILabel alloc] init];
self.nameLabel.textColor = [UIColor whiteColor];
self.nameLabel.textColor = RGB16(0xCCA882);
self.nameLabel.font = [UIFont systemFontOfSize:12];
[self.contentView addSubview:self.nameLabel];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -536,7 +587,7 @@ NSInteger maxMessageCount = 20;
[self initSubviews];
}
return self;
}
}
-(void)headerAction{
if (self.delegate && [self.delegate respondsToSelector:@selector(previewUserInfoWithUserId:)]) {
@@ -549,13 +600,37 @@ NSInteger maxMessageCount = 20;
// self.titleLabel.text = message.text;
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
if ([message.FromUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
}
if ([message.ToUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
}
if ([message.GiftInfo.gift_name isExist]) {
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
for (NSString*gift_name in arr) {
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageGiftColor range:range];
}
}
}
if (message.GiftInfos.count > 0) {
for (QXGiftModel*gift in message.GiftInfos) {
if ([gift.gift_name isExist]) {
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
}
}
}
if (message.ToUserInfos.count > 0) {
for (int i = 0; i < message.ToUserInfos.count; i++) {
QXUserHomeModel*md = message.ToUserInfos[i];
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageNameColor range:range];
}
}
}
self.titleLabel.attributedText = attr;
self.nameLabel.text = message.FromUserInfo.nickname;
@@ -593,7 +668,7 @@ NSInteger maxMessageCount = 20;
make.bottom.right.equalTo(self.headerImageView).offset(2);
}];
self.nameLabel = [[UILabel alloc] init];
self.nameLabel.textColor = [UIColor whiteColor];
self.nameLabel.textColor = RGB16(0xCCA882);
self.nameLabel.font = [UIFont systemFontOfSize:12];
[self.contentView addSubview:self.nameLabel];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -752,13 +827,37 @@ NSInteger maxMessageCount = 20;
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:message.text];
if ([message.FromUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.FromUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.FromUserInfo.nickname]];
}
if ([message.ToUserInfo.nickname isExist]) {
[attr yy_setColor:RGB16(0xFFE309) range:[message.text rangeOfString:message.ToUserInfo.nickname]];
[attr yy_setColor:messageNameColor range:[message.text rangeOfString:message.ToUserInfo.nickname]];
}
if ([message.GiftInfo.gift_name isExist]) {
[attr yy_setColor:RGB16(0x00C8FF) range:[message.text rangeOfString:message.GiftInfo.gift_name]];
NSArray *arr = [message.GiftInfo.gift_name componentsSeparatedByString:@","];
for (NSString*gift_name in arr) {
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, gift_name);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageGiftColor range:range];
}
}
}
if (message.GiftInfos.count > 0) {
for (QXGiftModel*gift in message.GiftInfos) {
if ([gift.gift_name isExist]) {
[attr yy_setColor:messageGiftColor range:[message.text rangeOfString:gift.gift_name]];
}
}
}
if (message.ToUserInfos.count > 0) {
for (int i = 0; i < message.ToUserInfos.count; i++) {
QXUserHomeModel*md = message.ToUserInfos[i];
NSArray<NSValue *> *occurrences = findAllOccurrencesOfString(message.text, md.nickname);
for (NSValue *rangeValue in occurrences) {
NSRange range = [rangeValue rangeValue];
[attr yy_setColor:messageNameColor range:range];
}
}
}
self.titleLabel.attributedText = attr;
}
@@ -794,7 +893,9 @@ NSInteger maxMessageCount = 20;
@implementation QXRoomChatListModel
+(NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass{
return @{@"GiftInfo" : @"QXGiftModel",
return @{
@"GiftInfo" : @"QXGiftModel",
@"GiftInfos" : @"QXGiftModel",
@"FromUserInfo":@"QXUserHomeModel",
@"nextInfo":@"QXSongListModel",
@"songInfo":@"QXSongListModel",

View File

@@ -52,6 +52,8 @@ typedef NS_ENUM(NSInteger) {
QXRoomSettingTypeRoomCloseEffects = 25,
/// 意见反馈
QXRoomSettingTypeRoomReport = 26,
/// 关闭飘屏
QXRoomSettingTypeDrifPop = 27,
}QXRoomSettingType;
NS_ASSUME_NONNULL_BEGIN
@class QXRoomSettingModel;

View File

@@ -14,6 +14,8 @@
#import "QXSingerConfigView.h"
#import "QXRoomWelcomeView.h"
#import "QXAlertView.h"
#import "QXGiftDriftView.h"
#import "QXMeetActivityDriftView.h"
@interface QXRoomSettingView()<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource,QXRoomSettingViewDelegate>
@property (nonatomic,strong)UIView *bgView;
@@ -69,6 +71,9 @@
@property (nonatomic,strong)QXRoomSettingModel *roomEffects;
///
@property (nonatomic,strong)QXRoomSettingModel *roomReport;
///
@property (nonatomic,strong)QXRoomSettingModel *drifPop;
///
@property (nonatomic,strong)QXDirectListView *directView;
@@ -152,7 +157,9 @@
self.roomOrderMic.isSelected = YES;
}
BOOL isEffectsCLose = [[NSUserDefaults standardUserDefaults] boolForKey:kEffectsCLose];
BOOL isDrifPopCLose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
self.roomEffects.isSelected = isEffectsCLose;
self.drifPop.isSelected = isDrifPopCLose;
[self.tableView reloadData];
}
// isUpSeat true false
@@ -163,36 +170,18 @@
switch (roleType) {
//
case QXRoomRoleTypeCompere:{
// if (isUpSeat) {
// //
// self.titles = @[QXText(@"常用工具"),QXText(@"更多操作")];
// roomTypeArr = @[];
// toolsArr = @[self.roomMessage,self.roomOrderMic,self.roomBgMusic];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomEffects,self.roomReport];
// }else{
// //
// self.titles = @[QXText(@"更多操作")];
// roomTypeArr = @[];
// toolsArr = @[];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomEffects,self.roomReport];
// }
// if (isUpSeat) {
// }else{
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
// }
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.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgImage];
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
}else{
toolsArr = @[self.roomSubsidy,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
}
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
@@ -202,7 +191,7 @@
//
roomTypeArr = @[];
toolsArr = @[];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomEffects,self.drifPop,self.roomReport];
self.titles = @[QXText(@"更多操作")];
}
break;
@@ -216,13 +205,13 @@
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.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
}else{
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
}
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
}
break;
@@ -236,12 +225,13 @@
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.type_id.intValue == 8) && self.roomModel.room_info.label_id.intValue == 2) {
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
}else{
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
// toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgMusic,self.roomBgImage];
toolsArr = @[self.roomSubsidy,self.roomCompere,self.roomMessage,self.roomOrderMic,self.roomBgImage];
}
// roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeBoy,self.roomTypeGirl,self.roomTypeFriend];
roomTypeArr = @[self.roomTypeSing,self.roomTypeAuction,self.roomTypeFunny,self.roomTypeFriend];
// moreArr = @[self.roomLeave,self.roomShare,self.roomVoiceSet,self.roomSetting,self.roomWelcome,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.roomReport];
moreArr = @[self.roomLeave,self.roomVoiceSet,self.roomSetting,self.roomEffects,self.drifPop,self.roomReport];
self.titles = @[QXText(@"房间类型"),QXText(@"常用工具"),QXText(@"更多操作")];
}
break;
@@ -423,13 +413,13 @@
return _roomTypeFriend;
}
-(QXRoomSettingModel *)roomTypeFunny{
if (!_roomReport) {
_roomReport = [[QXRoomSettingModel alloc] init];
_roomReport.name = QXText(@"交友");
_roomReport.type = QXRoomSettingTypeRoomTypeFunny;
_roomReport.icon = @"room_set_room_type_funny";
if (!_roomTypeFunny) {
_roomTypeFunny = [[QXRoomSettingModel alloc] init];
_roomTypeFunny.name = QXText(@"交友");
_roomTypeFunny.type = QXRoomSettingTypeRoomTypeFunny;
_roomTypeFunny.icon = @"room_set_room_type_funny";
}
return _roomReport;
return _roomTypeFunny;
}
-(QXRoomSettingModel *)roomSubsidy{
if (!_roomSubsidy) {
@@ -560,6 +550,17 @@
}
return _roomReport;
}
-(QXRoomSettingModel *)drifPop{
if (!_drifPop) {
_drifPop = [[QXRoomSettingModel alloc] init];
_drifPop.name = QXText(@"关闭飘屏");
_drifPop.selName = QXText(@"开启飘屏");
_drifPop.type = QXRoomSettingTypeDrifPop;
_drifPop.icon = @"room_set_drif_pop_off";
_drifPop.selIcon = @"room_set_drif_pop_on";
}
return _drifPop;
}
-(QXDirectListView *)directView{
if (!_directView) {
_directView = [[QXDirectListView alloc] init];
@@ -653,6 +654,15 @@
[[QXGiftPlayerManager shareManager] openOrCloseEffectViewWith:!model.isSelected];
return;
}
if (model.type == QXRoomSettingTypeDrifPop) {
model.isSelected = !model.isSelected;
QXRoomSettingSubCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
cell.model = model;
[[NSUserDefaults standardUserDefaults] setBool:model.isSelected forKey:kIsCloseDrifPop];
[[QXGiftDriftView shareView] drifPopIsClose:model.isSelected];
[[QXMeetActivityDriftView shareView] drifPopIsClose:model.isSelected];
return;
}
if (model.type == QXRoomSettingTypeRoomOrderMic) {
[QXMineNetwork roomChangeUpSeatTypeWithRoomId:self.roomId successBlock:^(NSDictionary * _Nonnull dict) {
// model.isSelected = !model.isSelected;

View File

@@ -50,6 +50,9 @@ NS_ASSUME_NONNULL_BEGIN
-(void)hideCharm;
-(void)destroyViews;
-(void)stopHWDMP4;
-(void)playHWDMP4;
@end
NS_ASSUME_NONNULL_END

View File

@@ -509,4 +509,10 @@
self.micMp4View = nil;
[self.micSvgaView destroySvga];
}
-(void)stopHWDMP4{
[self.headerView stopHWDMP4];
}
-(void)playHWDMP4{
[self.headerView playHWDMP4];
}
@end

View File

@@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
/// 设置麦位锁麦状态
-(void)setSeatIsLock:(NSString*)isLock pitNumber:(NSString*)pitNumber;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
/// pk开始
-(void)pkStartWithPkEndTimes:(NSString *)pk_end_times pk_id:(NSString*)pk_id;
@@ -42,7 +42,8 @@ NS_ASSUME_NONNULL_BEGIN
defeated_cover:(NSString*)defeated_cover;
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
@end
/// 穿透视图

View File

@@ -288,8 +288,8 @@
}
[self.leftSeatView didUpDownSeatWithUser:user isUpSeat:isUpSeat pit_number:pit_number];
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
[self.leftSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
[self.leftSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
}
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user{
[self.leftSeatView roomUserInfoDidChanged:user];
@@ -297,6 +297,12 @@
-(void)clearCharm{
[self.leftSeatView clearCharm];
}
-(void)playHWDMP4{
[self.leftSeatView playHWDMP4];
}
-(void)stopHWDMP4{
[self.leftSeatView stopHWDMP4];
}
-(void)roomClearUserCharmWithUserId:(NSString *)userId{
[self.leftSeatView roomClearUserCharmWithUserId:userId];
}

View File

@@ -39,7 +39,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)roomClearUserCharmWithUserId:(NSString *)userId;
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
@end

View File

@@ -1116,6 +1116,34 @@
self.timeLabel.text = @"倒计时 00:00:00";
}
}
-(void)stopHWDMP4{
[self.auctionView stopHWDMP4];
[self.compereView stopHWDMP4];
for (UIView *contentView in self.seatArray) {
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
[seatView.seatView stopHWDMP4];
}
if ([contentView isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *seatView = (QXRoomSeatContentView *)contentView;
[seatView stopHWDMP4];
}
}
}
-(void)playHWDMP4{
[self.auctionView playHWDMP4];
[self.compereView playHWDMP4];
for (UIView *contentView in self.seatArray) {
if ([contentView isKindOfClass:[QXRoomAuctionSeatView class]]) {
QXRoomAuctionSeatView *seatView = (QXRoomAuctionSeatView *)contentView;
[seatView.seatView playHWDMP4];
}
if ([contentView isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *seatView = (QXRoomSeatContentView *)contentView;
[seatView playHWDMP4];
}
}
}
-(void)destroyViews{
[self.auctionView destroyViews];
[self.compereView destroyViews];

View File

@@ -17,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)cabinRoomHotValueDidChanged:(NSString*)hot_value;
-(void)friendCabinRoomTimeDelayWithTime:(NSString*)end_time;
-(void)friendCabinRoomIsQuit;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
@end

View File

@@ -351,6 +351,14 @@
[na popViewControllerAnimated:YES];
}
}
-(void)stopHWDMP4{
[self.leftSeatView stopHWDMP4];
[self.rightSeatView stopHWDMP4];
}
-(void)playHWDMP4{
[self.leftSeatView playHWDMP4];
[self.rightSeatView playHWDMP4];
}
-(void)destroyViews{
if (_leftSeatView) {
[_leftSeatView destroyViews];

View File

@@ -54,7 +54,9 @@ typedef NS_ENUM(NSInteger) {
/// 用户信息发生改变
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
-(void)stopHWDMP4;
-(void)playHWDMP4;
/// 销毁视图
-(void)destroyViews;
@end

View File

@@ -859,7 +859,7 @@
contentView.pitModel = model;
[self configGameOptionBtn];
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
if (fromPitNumber == 0 || toPitNumber == 0) {
return;
}
@@ -877,6 +877,9 @@
toSeatView.pitModel = fromPitModel;
fromSeatView.pitModel = totModel;
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.myPitNumber = toPitNumber;
}
}
}
-(void)didClickUserHeaderWithPitModel:(QXRoomPitModel *)pitModel seatView:(QXRoomSeatContentView *)seatView{
@@ -1332,7 +1335,22 @@
return _successView;
}
-(void)stopHWDMP4{
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
[contentView stopHWDMP4];
}
}
}
-(void)playHWDMP4{
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {
QXRoomSeatContentView *contentView = (QXRoomSeatContentView *)object;
[contentView playHWDMP4];
}
}
}
-(void)destroyViews{
for (id object in self.allSeatViewArray) {
if ([object isKindOfClass:[QXRoomSeatContentView class]]) {

View File

@@ -41,7 +41,10 @@ NS_ASSUME_NONNULL_BEGIN
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
@end

View File

@@ -361,7 +361,7 @@ static NSInteger maxSeat = 8;
}
}
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
if (fromPitNumber == 0 || toPitNumber == 0) {
return;
}
@@ -376,6 +376,9 @@ static NSInteger maxSeat = 8;
toSeatView.pitModel = fromPitModel;
fromSeatView.pitModel = totModel;
if ([userInfo.user_id isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
self.myPitNumber = toPitNumber;
}
}
-(void)setSeatIsLock:(NSString *)isLock pitNumber:(NSString *)pitNumber{
@@ -397,6 +400,16 @@ static NSInteger maxSeat = 8;
}
}
}
-(void)stopHWDMP4{
for (QXRoomSeatContentView *seatView in self.seatArray) {
[seatView stopHWDMP4];
}
}
-(void)playHWDMP4{
for (QXRoomSeatContentView *seatView in self.seatArray) {
[seatView playHWDMP4];
}
}
-(void)destroyViews{
for (QXRoomSeatContentView *seatView in self.seatArray) {

View File

@@ -22,7 +22,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)QXSongListModel *songInfo;
@property (nonatomic,strong)QXSongListModel *nextInfo;
-(void)stopHWDMP4;
-(void)playHWDMP4;
-(void)destroyViews;
/// 清除魅力

View File

@@ -790,6 +790,17 @@ QXRoomSeatDelegate
[self.delegate sendGiftWithUser:self.singerSeatView.pitModel];
}
}
-(void)stopHWDMP4{
[self.singerSeatView stopHWDMP4];
[self.guestView stopHWDMP4];
[self.compereView stopHWDMP4];
}
-(void)playHWDMP4{
[self.singerSeatView playHWDMP4];
[self.guestView playHWDMP4];
[self.compereView playHWDMP4];
[self.collectionView reloadData];
}
-(void)destroyViews{
[self.singerSeatView destroyViews];
[self.guestView destroyViews];

View File

@@ -44,6 +44,9 @@ typedef NS_ENUM(NSInteger) {
@property (nonatomic,assign)double speakerPitch;
@property (nonatomic,strong)QXSongListModel *songInfo;
@property (nonatomic,strong)QXSongListModel *nextInfo;
-(void)stopHWDMP4;
-(void)playHWDMP4;
/// 销毁视图
-(void)destroyViews;
@@ -62,7 +65,7 @@ typedef NS_ENUM(NSInteger) {
/// 房间内用户信息发生变化
-(void)roomUserInfoDidChanged:(QXUserHomeModel *)user;
/// 房间内换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;

View File

@@ -909,13 +909,13 @@
}
}
///
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber{
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo{
if (self.roomModel == nil) {
return;
}
switch (self.type) {
case QXRoomSeatViewTypeNormal:
[self.normalSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
[self.normalSeatView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
break;
case QXRoomSeatViewTypeSing:
// [self.songView clearCharm];
@@ -925,10 +925,10 @@
case QXRoomSeatViewTypeCabin:
break;
case QXRoomSeatViewTypePK:
[self.roomPkView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
[self.roomPkView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
[self.roomFriendView roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:userInfo];
break;
default:
break;
@@ -1292,7 +1292,54 @@
break;
}
}
-(void)stopHWDMP4{
switch (self.type) {
case QXRoomSeatViewTypeNormal:
[self.normalSeatView stopHWDMP4];
break;
case QXRoomSeatViewTypeSing:
[self.songView stopHWDMP4];
break;
case QXRoomSeatViewTypeAuction:
[self.auctionView stopHWDMP4];
break;
case QXRoomSeatViewTypeCabin:
[self.cabinView stopHWDMP4];
break;
case QXRoomSeatViewTypePK:
[self.roomPkView stopHWDMP4];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView stopHWDMP4];
break;
default:
break;
}
}
-(void)playHWDMP4{
switch (self.type) {
case QXRoomSeatViewTypeNormal:
[self.normalSeatView playHWDMP4];
break;
case QXRoomSeatViewTypeSing:
[self.songView playHWDMP4];
break;
case QXRoomSeatViewTypeAuction:
[self.auctionView playHWDMP4];
break;
case QXRoomSeatViewTypeCabin:
[self.cabinView playHWDMP4];
break;
case QXRoomSeatViewTypePK:
[self.roomPkView playHWDMP4];
break;
case QXRoomSeatViewTypeFriend:
[self.roomFriendView playHWDMP4];
break;
default:
break;
}
}
-(void)destroyViews{
if (_normalSeatView) {
[self.normalSeatView destroyViews];

View File

@@ -21,7 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
-(void)setHeadIcon:(NSString*)headerIcon
dress:(NSString*)dress;
-(void)stopHWDMP4;
-(void)playHWDMP4;
@end
NS_ASSUME_NONNULL_END

View File

@@ -14,6 +14,8 @@
@property (nonatomic,strong) QXEffectSvgaView *svgaView;
@property (nonatomic,strong) VAPView *mp4View;
@property (nonatomic,strong) NSString *dress;
@property (nonatomic,strong) NSString *videoPath;
@end
@implementation QXSeatHeaderView
- (instancetype)initWithCoder:(NSCoder *)coder
@@ -62,6 +64,7 @@
-(void)setHeadIcon:(NSString *)headerIcon
dress:(nonnull NSString *)dress{
_dress = dress;
NSString *dressUrl = [dress stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
[self.headImageView sd_setImageWithURL:[NSURL URLWithString:headerIcon] placeholderImage:[UIImage imageNamed:@"user_header_placehoulder"]];
if (dressUrl.length > 0 && ([dressUrl hasPrefix:@"http"] || [dressUrl hasPrefix:@"https"])) {
@@ -79,6 +82,7 @@
MJWeakSelf
[[QXRequset shareInstance] downloadVideoPlayerWithUrl:dressUrl completion:^(BOOL result, NSString * _Nonnull fileName) {
NSString *videoPath = [QXFileManager getGiftVideoPath:dressUrl.lastPathComponent];
weakSelf.videoPath = videoPath;
[weakSelf.mp4View playHWDMP4:videoPath repeatCount:INTMAX_MAX delegate:self];
}];
}else{
@@ -100,6 +104,18 @@
[self.mp4View setHidden:YES];
}
}
-(void)stopHWDMP4{
if (![_dress isExist]) {
return;
}
[self.mp4View stopHWDMP4];
}
-(void)playHWDMP4{
if (![_dress isExist]) {
return;
}
[self.mp4View playHWDMP4:self.videoPath repeatCount:INTMAX_MAX delegate:self];
}
- (QXEffectSvgaView *)svgaView {
if (!_svgaView) {
_svgaView = [[QXEffectSvgaView alloc] initWithFrame:CGRectZero isAutoPlay:YES];
@@ -110,7 +126,7 @@
- (VAPView *)mp4View {
if (!_mp4View) {
_mp4View = [[VAPView alloc] initWithFrame:CGRectZero];
_mp4View.hwd_enterBackgroundOP = HWDMP4EBOperationTypePauseAndResume;
_mp4View.hwd_enterBackgroundOP = HWDMP4EBOperationTypeDoNothing;
_mp4View.contentMode = UIViewContentModeScaleAspectFit;
_mp4View.userInteractionEnabled = NO;
_mp4View.backgroundColor = [UIColor clearColor];