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

@@ -202,8 +202,8 @@
filePath = "QXLive/HomePage(声播)/View/房间/麦位视图/QXRoomSeatTypeFrientView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1130"
endingLineNumber = "1130"
startingLineNumber = "1133"
endingLineNumber = "1133"
landmarkName = "-roomUserInfoDidChanged:"
landmarkType = "7">
</BreakpointContent>
@@ -227,48 +227,32 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "BD365680-84CD-49F2-A073-EBDE86C1D229"
uuid = "9D956DDD-23DD-4EA6-915E-B80EBA7A5B63"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/Tabbar/&#x5f39;&#x7a97;/QXMeetActivityDriftView.m"
filePath = "QXLive/Config/QXRoomMessageManager.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
landmarkName = "-initSubviews"
startingLineNumber = "36"
endingLineNumber = "36"
landmarkName = "-joinGroupWithRoomId:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "92826863-0A2E-4FCC-BF5D-455D19EC314A"
uuid = "C1C85860-E93B-49DA-9A67-5211579D91E1"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/HomePage(&#x58f0;&#x64ad;)/View/&#x623f;&#x95f4;/QXRoomChatListView.m"
filePath = "QXLive/Config/QXRoomMessageManager.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "743"
endingLineNumber = "743"
landmarkName = "-setMessage:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "F5A81A6E-DAEB-47C9-8395-70A61EF03D4C"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "QXLive/HomePage(&#x58f0;&#x64ad;)/View/&#x623f;&#x95f4;/QXRoomChatListView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "550"
endingLineNumber = "550"
landmarkName = "-setMessage:"
startingLineNumber = "499"
endingLineNumber = "499"
landmarkName = "-onReceiveRESTCustomData:data:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>

View File

@@ -17,7 +17,7 @@
[super viewDidLoad];
// Do any additional setup after loading the view.
self.bgImaegView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.bgImaegView.image = [UIImage imageNamed:@"app_start_midi"];;
self.bgImaegView.image = [UIImage imageNamed:@"app_start_midi1"];;
self.bgImaegView.contentMode = UIViewContentModeScaleAspectFill;
[self.view addSubview:self.bgImaegView];
// [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginSuccess) name:noticeUserLogin object:nil];

View File

@@ -209,6 +209,7 @@
}else{
[UIApplication sharedApplication].idleTimerDisabled = YES;
self.roomVC.hidesBottomBarWhenPushed = YES;
[self.roomVC playHWDMP4];
[navagationController pushViewController:self.roomVC animated:YES];
}
return;
@@ -220,6 +221,7 @@
MJWeakSelf
if (isRejoin) {
if (self.roomVC!=nil) {
[self.roomVC playHWDMP4];
self.roomVC.hidesBottomBarWhenPushed = YES;
[navagationController pushViewController:self.roomVC animated:YES];
}else{
@@ -228,6 +230,7 @@
}
// showLoadingInView(KEYWINDOW)
weakSelf.isClickJoinRoom = YES;
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
// hideLoadingInView(KEYWINDOW)
// roomModel.room_info.pk_room_id = @"33";
@@ -248,6 +251,7 @@
}
}else{
if ([roomId isEqualToString:self.roomVC.roomId]) {
[self.roomVC playHWDMP4];
[navagationController pushViewController:self.roomVC animated:YES];
}else{
// showLoadingInView(KEYWINDOW)
@@ -255,6 +259,7 @@
return;
}
weakSelf.isClickJoinRoom = YES;
[[QXRoomMessageManager shared] joinGroupWithRoomId:roomId];
[QXMineNetwork joinRoomWithRoomId:roomId successBlock:^(QXRoomModel * _Nonnull roomModel) {
// hideLoadingInView(KEYWINDOW)
// roomModel.room_info.pk_room_id = @"33";

View File

@@ -184,7 +184,7 @@ NS_ASSUME_NONNULL_BEGIN
/// 10秒自动校正在线人数
-(void)roomOnlineNumberDidChangedOnlineNumber:(NSString*)onlineNumber;
/// 房间换麦
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber;
-(void)roomSeatExchangedWithFromPitNumber:(NSInteger)fromPitNumber toPitNumber:(NSInteger)toPitNumber userInfo:(QXUserHomeModel*)userInfo;

View File

@@ -583,8 +583,8 @@
QXRoomChatListModel *model = [QXRoomChatListModel yy_modelWithJSON:msg.Text];
NSInteger fromPitNumber = [msg.Text[@"from_pit_number"] integerValue];
NSInteger toPitNumber = [msg.Text[@"to_pit_number"] integerValue];
if (self.delegate && [self.delegate respondsToSelector:@selector(roomSeatExchangedWithFromPitNumber:toPitNumber:)]) {
[self.delegate roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber];
if (self.delegate && [self.delegate respondsToSelector:@selector(roomSeatExchangedWithFromPitNumber:toPitNumber:userInfo:)]) {
[self.delegate roomSeatExchangedWithFromPitNumber:fromPitNumber toPitNumber:toPitNumber userInfo:model.FromUserInfo];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(didInsertMessge:)]) {
model.messageType = QXRoomChatMessageTypeSystem;

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];

View File

@@ -243,13 +243,12 @@
</label>
<button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2cZ-D5-6Hl">
<rect key="frame" x="149" y="92" width="95" height="95"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" constant="95" id="E0s-s9-Z6c"/>
<constraint firstAttribute="height" constant="95" id="ovf-44-Own"/>
</constraints>
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
<state key="normal" backgroundImage="user_header_placehoulder"/>
<state key="normal" backgroundImage="user_wait_header"/>
<connections>
<action selector="headerAction:" destination="-1" eventType="touchUpInside" id="e4n-2q-lEd"/>
</connections>
@@ -420,7 +419,7 @@
<image name="login_sex_girl_nor" width="137" height="72"/>
<image name="login_sex_girl_sel" width="137" height="72"/>
<image name="random" width="24" height="24"/>
<image name="user_header_placehoulder" width="40" height="40"/>
<image name="user_wait_header" width="100" height="100"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>

View File

@@ -234,11 +234,11 @@
-(void)cancelAccount{
[QXMineNetwork cancelAccountSuccessBlock:^(NSDictionary * _Nonnull dict) {
[[QXGlobal shareGlobal] logOut];
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
showToast(msg);
}];
[[QXGlobal shareGlobal] logOut];
}
-(QXMainHeaderView *)tableHeaderView{

View File

@@ -29,12 +29,15 @@
if (model.task_status.intValue == 1) {
self.finishBtn.enabled = YES;
self.finishBtn.selected = NO;
self.finishBtn.layer.borderWidth = 1;
}else if (model.task_status.intValue == 2) {
self.finishBtn.enabled = YES;
self.finishBtn.selected = YES;
self.finishBtn.layer.borderWidth = 1;
}else{
self.finishBtn.selected = NO;
self.finishBtn.enabled = NO;
self.finishBtn.layer.borderWidth = 0;
}
}
- (IBAction)finishAction:(id)sender {
@@ -61,6 +64,11 @@
// Initialization code
[self.finishBtn addRoundedCornersWithRadius:15];
[self.finishBtn setTitleColor:RGB16(0xC134EE) forState:(UIControlStateNormal)];
[self.finishBtn setTitleColor:UIColor.whiteColor forState:(UIControlStateSelected)];
[self.finishBtn setTitleColor:RGB16(0x666666) forState:(UIControlStateDisabled)];
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xC134EE)] forState:(UIControlStateSelected)];
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:UIColor.clearColor] forState:(UIControlStateNormal)];
[self.finishBtn setBackgroundImage:[UIImage imageWithColor:RGB16(0xF1F2F3)] forState:(UIControlStateDisabled)];
self.finishBtn.layer.borderColor = RGB16(0xC134EE).CGColor;
self.finishBtn.layer.borderWidth = 1;
}

View File

@@ -42,7 +42,7 @@
<color key="titleColor" red="0.88627450980392153" green="0.25490196078431371" blue="0.44313725490196076" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
</state>
<state key="disabled" title="已领取"/>
<state key="selected" title="领取"/>
<state key="selected" title="领取"/>
<connections>
<action selector="finishAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="O2a-NK-IEM"/>
</connections>

View File

@@ -52,6 +52,7 @@
self.titleLabel.numberOfLines = 2;
self.titleLabel.textColor = RGB16(0x999999);
self.titleLabel.text = QXText(@"尊敬的用户每月可修改2次剩余2次 使用头像卡不限更换次数还剩0张");
self.titleLabel.hidden = YES;
[self.bgView addSubview:self.titleLabel];
self.headerView = [[QXSeatHeaderView alloc] initWithFrame:CGRectMake((self.width-104)/2, self.bgView.top-52, 104, 104)];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 979 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 736 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_set_drif_pop_off@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_set_drif_pop_off@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "room_set_drif_pop_on@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "room_set_drif_pop_on@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -5,12 +5,11 @@
"scale" : "1x"
},
{
"filename" : "启动图标 1@2x.png",
"filename" : "iPadProApp_83.5pt@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "启动图标 1@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -5,11 +5,12 @@
"scale" : "1x"
},
{
"filename" : "app_start_midi@2x.png",
"filename" : "user_wait_header@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "user_wait_header@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "image 367@2x.png",
"filename" : "Frame@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "image 367@3x.png",
"filename" : "Frame@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "Headphone@2x.png",
"filename" : "Frame@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Headphone@3x.png",
"filename" : "Frame@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "Frame 1414@2x.png",
"filename" : "Setting@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 1414@3x.png",
"filename" : "Setting@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -17,17 +17,17 @@
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="app_start_midi" translatesAutoresizingMaskIntoConstraints="NO" id="ydi-6i-HE8">
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="app_start_midi1" translatesAutoresizingMaskIntoConstraints="NO" id="hqu-R6-SdT">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
</imageView>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="ydi-6i-HE8" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="1rA-wz-hiM"/>
<constraint firstAttribute="bottom" secondItem="ydi-6i-HE8" secondAttribute="bottom" id="AzB-c2-eXR"/>
<constraint firstItem="ydi-6i-HE8" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="FjI-0Z-nXt"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="ydi-6i-HE8" secondAttribute="trailing" id="zbF-rX-0c0"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="hqu-R6-SdT" secondAttribute="trailing" id="A1s-xW-hc2"/>
<constraint firstItem="hqu-R6-SdT" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" id="DEx-vf-cVq"/>
<constraint firstItem="hqu-R6-SdT" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="T86-lh-1Y6"/>
<constraint firstAttribute="bottom" secondItem="hqu-R6-SdT" secondAttribute="bottom" id="bif-kS-kQA"/>
</constraints>
</view>
</viewController>
@@ -37,7 +37,7 @@
</scene>
</scenes>
<resources>
<image name="app_start_midi" width="375" height="812"/>
<image name="app_start_midi1" width="375" height="812"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>

View File

@@ -102,6 +102,9 @@ static NSString *const kEffectsCLose = @"kEffectsCLose";
static NSString *const kIsOpenRecharge = @"kIsOpenRecharge";
/// 是否开启青少年模式
static NSString *const kChirldLocalPassword = @"kChirldLocalPassword";
/// 是否开启飘屏
static NSString *const kIsCloseDrifPop = @"kIsCloseDrifPop";
// 微信登录
static NSString *const noticeWeChatLogin = @"noticeWeChatLogin";

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 KiB

View File

@@ -15,6 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)QXGiftScrollModel *model;
-(void)addGiftModel:(QXGiftScrollModel*)model;
-(void)addGiftModelList:(NSArray<QXGiftScrollModel*>*)list;
-(void)drifPopIsClose:(BOOL)isClose;
+(instancetype)shareView;
@end

View File

@@ -13,6 +13,7 @@
@property (nonatomic,strong)UIImageView *giftImageView;
@property (nonatomic,strong)UILabel *countLabel;
@property (nonatomic,assign)BOOL isPlaying;
@property (nonatomic,assign)BOOL isClose;
@end
@implementation QXGiftDriftView
+(instancetype)shareView{
@@ -29,6 +30,8 @@
if (self) {
self.frame = CGRectMake(SCREEN_WIDTH, 150, ScaleWidth(316), ScaleWidth(50));
[self initSubviews];
BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
self.isClose = isClose;
}
return self;
}
@@ -67,6 +70,9 @@
}];
}
-(void)addGiftModel:(QXGiftScrollModel *)model{
if (self.isClose) {
return;
}
[self.dataArray addObject:model];
[self giftAction];
}
@@ -109,7 +115,18 @@
[self.giftImageView sd_setImageWithURL:[NSURL URLWithString:model.gift_picture]];
self.countLabel.text = [NSString stringWithFormat:@"X%@",model.number];
}
-(void)drifPopIsClose:(BOOL)isClose{
_isClose = isClose;
self.hidden = self.isClose;
[[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifPop];
[[NSUserDefaults standardUserDefaults] synchronize];
if (isClose) {
[QXGiftDriftView shareView].x = SCREEN_WIDTH;
[[QXGiftDriftView shareView] removeFromSuperview];
[[QXGiftDriftView shareView].dataArray removeAllObjects];
[QXGiftDriftView shareView].isPlaying = NO;
}
}
-(NSMutableArray *)dataArray{
if (!_dataArray) {
_dataArray = [NSMutableArray array];

View File

@@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)NSMutableArray *dataArray;
@property (nonatomic,strong)QXMeetActivityDriftModel *model;
-(void)addActivityModel:(QXMeetActivityDriftModel*)model;
-(void)drifPopIsClose:(BOOL)isClose;
+(instancetype)shareView;
@end

View File

@@ -8,6 +8,7 @@
#import "QXMeetActivityDriftView.h"
@interface QXMeetActivityDriftView()
@property (nonatomic,assign)BOOL isPlaying;
@property (nonatomic,assign)BOOL isClose;
@end
@implementation QXMeetActivityDriftView
@@ -17,6 +18,8 @@
self = [super init];
if (self) {
self.frame = CGRectMake(SCREEN_WIDTH, 0, ScaleWidth(358), ScaleWidth(136));
BOOL isClose = [[NSUserDefaults standardUserDefaults] boolForKey:kIsCloseDrifPop];
self.isClose = isClose;
[self initSubviews];
}
return self;
@@ -58,6 +61,9 @@
}];
}
-(void)addActivityModel:(QXMeetActivityDriftModel *)model{
if (self.isClose) {
return;
}
[self.dataArray addObject:model];
[self giftAction];
}
@@ -111,7 +117,18 @@
break;
}
}
-(void)drifPopIsClose:(BOOL)isClose{
_isClose = isClose;
self.hidden = self.isClose;
[[NSUserDefaults standardUserDefaults] setBool:isClose forKey:kIsCloseDrifPop];
[[NSUserDefaults standardUserDefaults] synchronize];
if (isClose) {
[QXMeetActivityDriftView shareView].x = SCREEN_WIDTH;
[[QXMeetActivityDriftView shareView] removeFromSuperview];
[[QXMeetActivityDriftView shareView].dataArray removeAllObjects];
[QXMeetActivityDriftView shareView].isPlaying = NO;
}
}
-(NSMutableArray *)dataArray{
if (!_dataArray) {

View File

@@ -7,13 +7,15 @@
#import "QXMeetLotteryView.h"
#import <objc/runtime.h>
#import "GKCycleScrollView.h"
@interface QXMeetLotteryView ()<UIScrollViewDelegate>
@interface QXMeetLotteryView ()<UIScrollViewDelegate,GKCycleScrollViewDataSource,GKCycleScrollViewDelegate>
@property (nonatomic, strong) UIScrollView *scrollView;
@property (nonatomic, assign) CGFloat itemWidth;
@property (nonatomic, assign) CGFloat itemSpace;
@property (nonatomic, assign) CGFloat targetOffset;
@property (nonatomic, assign) CGFloat maxWidth;
@property (nonatomic, strong) QXTimer *timer;
@end
@implementation QXMeetLotteryView
@@ -33,7 +35,8 @@
self.scrollView.delegate = self;
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.scrollEnabled = NO;
self.scrollView.scrollEnabled = YES;
self.scrollView.hidden = YES;
self.scrollView.decelerationRate = UIScrollViewDecelerationRateFast;
[self addSubview:self.scrollView];
_itemSpace = 25;
@@ -73,6 +76,7 @@
}
-(void)startLotteryAnimation{
self.scrollView.hidden = NO;
[self.scrollView setContentOffset:CGPointZero animated:NO];
MJWeakSelf
[UIView animateWithDuration:6 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{