feat: 优化首页 tab 加载逻辑 | 补全 side menu 控制逻辑 | 基本完成 20 mic | 部分小需求 | 优化房间聊天气泡
This commit is contained in:
@@ -41,7 +41,6 @@
|
||||
#import "XPUserCardInfoModel.h"
|
||||
///View
|
||||
#import "BaseNavigationController.h"
|
||||
#import "XPRoomActivityContainerView.h"
|
||||
#import "XPRoomBackContainerView.h"
|
||||
#import "XPRoomMenuContainerView.h"
|
||||
#import "XPRoomQuickMessageContainView.h"
|
||||
@@ -94,6 +93,7 @@
|
||||
|
||||
#import "XPSendGiftView.h"
|
||||
#import "RoomSideMenu.h"
|
||||
#import "RoomResourceManager.h"
|
||||
|
||||
UIKIT_EXTERN NSString * const kRoomGiftEffectUpdateNotificationKey;
|
||||
UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
@@ -553,6 +553,14 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)__layoutNineteenMicStage {
|
||||
[self.stageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.mas_equalTo(self.view);
|
||||
make.top.mas_equalTo(self.roomHeaderView.mas_bottom);
|
||||
make.height.mas_equalTo(self.stageView.hightForStageView);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)__layoutFifteenMicStage {
|
||||
[self.stageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.mas_equalTo(self.view);
|
||||
@@ -829,11 +837,13 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
- (Class)stageViewClassForRoomInfo:(RoomInfoModel *)roomInfo {
|
||||
if (roomInfo.roomModeType == RoomModeType_Open_Blind) {
|
||||
return [DatingStageView class];
|
||||
} else if (roomInfo.datingState == RoomDatingStateChangeType_Close &&
|
||||
}
|
||||
if (roomInfo.datingState == RoomDatingStateChangeType_Close &&
|
||||
![self.stageView isKindOfClass:[SocialStageView class]]) {
|
||||
return [SocialStageView class];
|
||||
} else if (roomInfo.type == RoomType_Anchor) {
|
||||
if (roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode &&
|
||||
}
|
||||
if (roomInfo.type == RoomType_Anchor) {
|
||||
if (roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode &&
|
||||
![self.stageView isKindOfClass:[AnchorPKStageView class]]) {
|
||||
return [AnchorPKStageView class];
|
||||
} else if (roomInfo.roomModeType == RoomModeType_Normal_Mode &&
|
||||
@@ -842,13 +852,12 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
}
|
||||
} else if (roomInfo.type == RoomType_MiniGame) {
|
||||
return [LittleGameScrollStageView class];
|
||||
} else if (roomInfo.type == RoomType_19Mic) {
|
||||
return [NineteenMicStageView class];
|
||||
} else if (roomInfo.type == RoomType_20Mic) {
|
||||
return [TwentyMicStageView class];
|
||||
} else if (roomInfo.type == RoomType_15Mic) {
|
||||
//#if DEBUG
|
||||
// return [NineteenMicStageView class];
|
||||
// return [TwentyMicStageView class];
|
||||
//#endif
|
||||
return [FifteenMicStageView class];
|
||||
|
||||
} else if (roomInfo.type == RoomType_10Mic) {
|
||||
return [TenMicStageView class];
|
||||
} else if (roomInfo.hadChangeRoomType && ![self.stageView isKindOfClass:[SocialStageView class]]) {
|
||||
@@ -895,6 +904,7 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
make.trailing.mas_equalTo(self.sideMenu.mas_leading).offset(-10);
|
||||
}];
|
||||
|
||||
[self.sideMenu displayForMiniGame];
|
||||
[self.sideMenu mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
|
||||
@@ -916,12 +926,26 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
make.trailing.mas_equalTo(self.sideMenu.mas_leading).offset(-10);
|
||||
}];
|
||||
|
||||
[self.sideMenu mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.messageContainerView);
|
||||
make.trailing.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
|
||||
make.width.mas_equalTo(87);
|
||||
}];
|
||||
if (self.roomInfo.type == RoomType_19Mic || self.roomInfo.type == RoomType_20Mic) {
|
||||
// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
// [self.sideMenu displayExpandButton:YES];
|
||||
// });
|
||||
|
||||
[self.sideMenu mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.trailing.mas_equalTo(self.view);
|
||||
make.height.mas_equalTo(160);
|
||||
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
|
||||
make.width.mas_equalTo(87);
|
||||
}];
|
||||
} else {
|
||||
// [self.sideMenu displayExpandButton:NO];
|
||||
[self.sideMenu mas_remakeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.messageContainerView);
|
||||
make.trailing.mas_equalTo(self.view);
|
||||
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
|
||||
make.width.mas_equalTo(87);
|
||||
}];
|
||||
}\
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -981,6 +1005,10 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
return;
|
||||
}
|
||||
_roomInfo = roomInfo;
|
||||
|
||||
[[RoomResourceManager sharedManager] updateCurrentSkinID:roomInfo.usedMicSkinId
|
||||
effectID:roomInfo.usedMicEffectId];
|
||||
|
||||
[self.sideMenu updateView];
|
||||
}
|
||||
|
||||
@@ -1878,15 +1906,18 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
} else {
|
||||
if (self.roomInfo.type == RoomType_Anchor) {
|
||||
[self changeStageViewOnAnchorRoom];
|
||||
} else if (self.roomInfo.type == RoomType_20Mic) {
|
||||
[self __layoutTwentyMicStage];
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
[self.twentyMicStageView onRoomUpdate];
|
||||
} else if (self.roomInfo.type == RoomType_19Mic) {
|
||||
[self __layoutNineteenMicStage];
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
[self.nineteenMicStageView onRoomUpdate];
|
||||
} else if (self.roomInfo.type == RoomType_15Mic) {
|
||||
[self __layoutFifteenMicStage];
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
//#if DEBUG
|
||||
// [self.twentyMicStageView onRoomUpdate];
|
||||
// [self.nineteenMicStageView onRoomUpdate];
|
||||
//#else
|
||||
[self.fifteenMicStageView onRoomUpdate];
|
||||
//#endif
|
||||
} else if (self.roomInfo.type == RoomType_10Mic) {
|
||||
[self __layoutTenMicStage];
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
@@ -2074,7 +2105,6 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
}
|
||||
} else if (attachment.first == CustomMessageType_Custom_Room_Background) {
|
||||
if (attachment.second == Custom_Message_Sub_Custom_Room_Background) {
|
||||
// TODO: 更新 背景
|
||||
if ([attachment.data isKindOfClass:[NSDictionary class]]) {
|
||||
NSString *url = attachment.data[@"url"];
|
||||
if (![NSString isEmpty:url]) {
|
||||
@@ -2082,7 +2112,18 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.backContainerView onRoomUpdate];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else if (attachment.first == CustomMessageType_RoomLevel_Update) {
|
||||
if (attachment.second == Custom_Message_Sub_RoomLevel_Update) {
|
||||
if ([attachment.data isKindOfClass:[NSDictionary class]]) {
|
||||
NSString *url = attachment.data[@"roomLevelIcon"];
|
||||
NSNumber *roomLevel = attachment.data[@"roomLevel"];
|
||||
if (![NSString isEmpty:url] && roomLevel.integerValue > self.roomHeaderView.tag) {
|
||||
self.roomHeaderView.tag = roomLevel.integerValue;
|
||||
[self.roomHeaderView updateLevel:url];
|
||||
self.roomInfo.roomLevelIcon = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
[self.messageContainerView handleNIMCustomMessage:message];
|
||||
|
Reference in New Issue
Block a user