1. 入口优化完成基本调整
2. 优化礼物面板加载逻辑
This commit is contained in:
eggmanQQQ
2024-07-23 17:24:46 +08:00
parent 3f5f8344df
commit 0899930a3f
21 changed files with 165 additions and 78 deletions

View File

@@ -19,6 +19,7 @@ target 'YuMi' do
pod 'MJExtension' pod 'MJExtension'
#图片加载 #图片加载
pod 'SDWebImage' pod 'SDWebImage'
# pod 'SDWebImageWebPCoder' 用于加载 webP
pod 'FLAnimatedImage' pod 'FLAnimatedImage'
pod 'SDWebImageFLPlugin' # 对FLAnimatedImage和SDWebImage的桥接 pod 'SDWebImageFLPlugin' # 对FLAnimatedImage和SDWebImage的桥接
pod 'AFNetworking' pod 'AFNetworking'

View File

@@ -12927,6 +12927,17 @@
"$(PROJECT_DIR)/YuMi/Tools/TencentOpenApiSDK", "$(PROJECT_DIR)/YuMi/Tools/TencentOpenApiSDK",
); );
GCC_PREFIX_HEADER = YuMi/Structure/PrefixHeader.pch; GCC_PREFIX_HEADER = YuMi/Structure/PrefixHeader.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SD_WEBP=1",
"COCOAPODS=1",
"$(inherited)",
"GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1",
"$(inherited)",
"PB_FIELD_32BIT=1",
"PB_NO_PACKED_STRUCTS=1",
"PB_ENABLE_MALLOC=1",
);
INFOPLIST_FILE = YuMi/Info.plist; INFOPLIST_FILE = YuMi/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0; IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (

View File

@@ -5,7 +5,6 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "ms_room_game_button@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -5,7 +5,6 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "ms_room_menu_game@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

View File

@@ -5,7 +5,6 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "room_menu_more@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },

Binary file not shown.

Before

Width:  |  Height:  |  Size: 583 B

View File

@@ -5,7 +5,6 @@
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "room_menu_more_red@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -184,14 +184,20 @@
/// @param roomUid uid /// @param roomUid uid
- (void)getNormalGiftList:(NSString *)roomUid { - (void)getNormalGiftList:(NSString *)roomUid {
/// ///
NSArray *giftCacheArray = [[XPGiftStorage shareStorage] getGiftDatasource:roomUid]; CGFloat delayDuration = 0.0;
if (giftCacheArray.count == 0) { NSArray *giftCacheArray = [[XPGiftStorage shareStorage] getGiftDatasource:roomUid];
[Api requestNormalGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { if (giftCacheArray.count > 0) {
if (code == 200) { delayDuration = 0.25;
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayDuration * NSEC_PER_SEC)), dispatch_get_global_queue(0, 0), ^{
@kWeakify(self);
[Api requestNormalGiftList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if (data.data) {
[[XPGiftStorage shareStorage] cacheWith:data.data inRoom:roomUid]; [[XPGiftStorage shareStorage] cacheWith:data.data inRoom:roomUid];
} }
} roomUid:roomUid]; }fail:^(NSInteger code, NSString * _Nullable msg) {}] roomUid:roomUid];
} });
} }
/// ///

View File

@@ -55,7 +55,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
@property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView; @property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView;
/// ///
@property(nonatomic, strong) UIButton *gameMenuButton; @property(nonatomic, strong) UIButton *gambleMenuButton;
/// ///
@property(nonatomic, strong) UIButton *pkMenuButton; @property(nonatomic, strong) UIButton *pkMenuButton;
@@ -101,7 +101,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:self.redPacketView]; [self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.joinDatingView]; [self.stackView addArrangedSubview:self.joinDatingView];
[self.stackView addArrangedSubview:self.pkMenuButton]; [self.stackView addArrangedSubview:self.pkMenuButton];
[self.stackView addArrangedSubview:self.gameMenuButton]; [self.stackView addArrangedSubview:self.gambleMenuButton];
} }
- (void)initSubViewConstraints { - (void)initSubViewConstraints {
@@ -123,7 +123,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
make.size.mas_equalTo(CGSizeMake(76, 76)); make.size.mas_equalTo(CGSizeMake(76, 76));
}]; }];
[self.gameMenuButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.gambleMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0); make.leading.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(76, 76)); make.size.mas_equalTo(CGSizeMake(76, 76));
}]; }];
@@ -227,10 +227,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
- (void)onRoomUpdate { - (void)onRoomUpdate {
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo; RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
if (roomInfo.type == RoomType_Anchor || roomInfo.roomModeType == RoomModeType_Open_Blind) { if (roomInfo.type == RoomType_Anchor || roomInfo.roomModeType == RoomModeType_Open_Blind) {
self.gameMenuButton.hidden = YES; self.gambleMenuButton.hidden = YES;
self.pkMenuButton.hidden = YES; self.pkMenuButton.hidden = YES;
} else { } else {
self.gameMenuButton.hidden = NO; self.gambleMenuButton.hidden = NO;
self.pkMenuButton.hidden = NO; self.pkMenuButton.hidden = NO;
} }
@@ -243,21 +243,21 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
self.redPacketView.type = roomInfo.type; self.redPacketView.type = roomInfo.type;
if (roomInfo.type == RoomType_MiniGame) { if (roomInfo.type == RoomType_MiniGame) {
self.redPacketView.hidden = YES; self.redPacketView.hidden = YES;
[self.gameMenuButton removeFromSuperview]; [self.gambleMenuButton removeFromSuperview];
[self.pi_cycleScrollView removeFromSuperview]; [self.pi_cycleScrollView removeFromSuperview];
[self.stackView insertArrangedSubview:self.gameMenuButton atIndex:0]; [self.stackView insertArrangedSubview:self.gambleMenuButton atIndex:0];
[self.stackView addArrangedSubview:self.pi_cycleScrollView]; [self.stackView addArrangedSubview:self.pi_cycleScrollView];
[self.gameMenuButton bringSubviewToFront:self.stackView]; [self.gambleMenuButton bringSubviewToFront:self.stackView];
if (self.isLoadActivity) { if (self.isLoadActivity) {
[self configLittleGameActivity]; [self configLittleGameActivity];
} else { } else {
[self requestActivityList]; [self requestActivityList];
} }
} else { } else {
[self.gameMenuButton removeFromSuperview]; [self.gambleMenuButton removeFromSuperview];
[self.pi_cycleScrollView removeFromSuperview]; [self.pi_cycleScrollView removeFromSuperview];
[self.stackView insertArrangedSubview:self.pi_cycleScrollView atIndex:0]; [self.stackView insertArrangedSubview:self.pi_cycleScrollView atIndex:0];
[self.stackView addArrangedSubview:self.gameMenuButton]; [self.stackView addArrangedSubview:self.gambleMenuButton];
self.redPacketView.redPacketList = self.redPacketList; self.redPacketView.redPacketList = self.redPacketList;
NSMutableArray *picArray = [NSMutableArray array]; NSMutableArray *picArray = [NSMutableArray array];
for (ActivityInfoModel *model in self.activityList) { for (ActivityInfoModel *model in self.activityList) {
@@ -546,7 +546,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
} }
- (void)didTapGameMenuButton { - (void)didTapGameMenuButton {
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc] initWithDelegate:self.hostDelegate roomMenuType:MSRoomMenuTypeLittleGame]; MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc] initWithDelegate:self.hostDelegate roomMenuType:MSRoomMenuTypeGame];
vc.modalPresentationStyle = UIModalPresentationOverFullScreen; vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self.hostDelegate.getCurrentNav presentViewController:vc animated:YES completion:nil]; [self.hostDelegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
} }
@@ -662,15 +662,15 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
return _redPacketView; return _redPacketView;
} }
- (UIButton *)gameMenuButton { - (UIButton *)gambleMenuButton {
if (!_gameMenuButton) { if (!_gambleMenuButton) {
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom]; UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[UIImage imageNamed:@"ms_room_game_button"] forState:UIControlStateNormal]; [b setImage:[UIImage imageNamed:@"ms_room_game_button"] forState:UIControlStateNormal];
[b addTarget:self action:@selector(didTapGameMenuButton) forControlEvents:UIControlEventTouchUpInside]; [b addTarget:self action:@selector(didTapGameMenuButton) forControlEvents:UIControlEventTouchUpInside];
b.hidden = YES; b.hidden = YES;
_gameMenuButton = b; _gambleMenuButton = b;
} }
return _gameMenuButton; return _gambleMenuButton;
} }
- (UIButton *)pkMenuButton { - (UIButton *)pkMenuButton {

View File

@@ -11,8 +11,9 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, MSRoomMenuType) { typedef NS_ENUM(NSInteger, MSRoomMenuType) {
MSRoomMenuTypePK, // 只有 PK
MSRoomMenuTypeGame, // 玩法 MSRoomMenuTypeGame, // 玩法
MSRoomMenuTypeLittleGame, // 小游戏 MSRoomMenuTypeLittleGame, // 小游戏, 百顺的
}; };

View File

@@ -66,6 +66,9 @@
- (void)loadMenuData { - (void)loadMenuData {
switch (self.type) { switch (self.type) {
case MSRoomMenuTypePK:
[self updateGamePlayList:@[]];
break;
case MSRoomMenuTypeGame: case MSRoomMenuTypeGame:
[self getGameData]; [self getGameData];
break; break;
@@ -78,11 +81,12 @@
} }
-(void)getGameData{ -(void)getGameData{
NSMutableArray *resourceList = [self.hostDelegate getPlayList]; // NSMutableArray *resourceList = [self.hostDelegate getPlayList];
if(resourceList.count > 0){ // if(resourceList.count > 0){
[self updateGamePlayList:resourceList]; // self.gameView.playList = resourceList;
return; //// [self updateGamePlayList:resourceList];
} // return;
// }
NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId]; NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId];
@kWeakify(self); @kWeakify(self);
@@ -90,7 +94,14 @@
if (code == 200) { if (code == 200) {
@kStrongify(self); @kStrongify(self);
NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data]; NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data];
[self updateGamePlayList:array]; // NSMutableArray *tA = [array mutableCopy];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
self.gameView.playList = [array mutableCopy];
// [self updateGamePlayList:array];
} }
} roomId:roomId]; } roomId:roomId];
} }

View File

@@ -16,12 +16,18 @@ static const NSInteger kItemsPerRow = 5;
@property(nonatomic,strong) UIButton *backBtn; @property(nonatomic,strong) UIButton *backBtn;
@property(nonatomic,strong) UIView *ms_bgView; @property(nonatomic,strong) UIView *ms_bgView;
@property(nonatomic,strong) UICollectionView *collectionView; @property(nonatomic,strong) UICollectionView *collectionView;
@property (nonatomic, assign) CGFloat itemHeight;
@end @end
@implementation MSRoomMenuGameView @implementation MSRoomMenuGameView
-(instancetype)initWithFrame:(CGRect)frame{ -(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
if(self){ if(self){
self.itemHeight = kGetScaleWidth(80);
[self installUI]; [self installUI];
[self installConstraints]; [self installConstraints];
} }
@@ -69,9 +75,19 @@ static const NSInteger kItemsPerRow = 5;
} }
- (void)updateViewHeightWithItemCount:(NSInteger)count { - (void)updateViewHeightWithItemCount:(NSInteger)count {
NSInteger lineNum = (count + kItemsPerRow - 1)/kItemsPerRow; NSInteger lineNum = MIN(3, (count + kItemsPerRow - 1)/kItemsPerRow);
if (lineNum == 1) {
self.itemHeight = kGetScaleWidth(100);
}
CGFloat calHeight = kGetScaleWidth(80);
if (lineNum < 3) {
calHeight = kGetScaleWidth(100);
}
CGFloat height = 20 + 56 * lineNum + 44 * (lineNum - 1) + 70; CGFloat height = 20 + 56 * lineNum + 44 * (lineNum - 1) + 70;
height = kGetScaleWidth(100) * lineNum; height = calHeight * lineNum;
// [_ms_bgView setCornerWithLeftTopCorner:kGetScaleWidth(12) rightTopCorner:kGetScaleWidth(12) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, height-48)]; // [_ms_bgView setCornerWithLeftTopCorner:kGetScaleWidth(12) rightTopCorner:kGetScaleWidth(12) bottomLeftCorner:0 bottomRightCorner:0 size:CGSizeMake(KScreenWidth, height-48)];
[self.ms_bgView mas_updateConstraints:^(MASConstraintMaker *make) { [self.ms_bgView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(height + 12)); make.height.mas_equalTo(kGetScaleWidth(height + 12));
@@ -88,7 +104,7 @@ static const NSInteger kItemsPerRow = 5;
#pragma mark- UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout #pragma mark- UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
CGFloat width = (KScreenWidth-kGetScaleWidth(6))/5; CGFloat width = (KScreenWidth-kGetScaleWidth(6))/5;
return [self countOfCurrentType] > 0 ? CGSizeMake(width, kGetScaleWidth(100)): CGSizeMake(KScreenWidth, kGetScaleWidth(200)); return [self countOfCurrentType] > 0 ? CGSizeMake(width, self.itemHeight): CGSizeMake(KScreenWidth, kGetScaleWidth(200));
} }
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{ - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
return [self countOfCurrentType] > 0 ? UIEdgeInsetsMake(0, kGetScaleWidth(3), 0, kGetScaleWidth(3)): UIEdgeInsetsMake(0, 0, 0, 0); return [self countOfCurrentType] > 0 ? UIEdgeInsetsMake(0, kGetScaleWidth(3), 0, kGetScaleWidth(3)): UIEdgeInsetsMake(0, 0, 0, 0);

View File

@@ -19,7 +19,8 @@ typedef NS_ENUM(NSInteger, XPRoomMenuItemType) {
XPRoomMenuItemType_ArrangeMic,///排麦 XPRoomMenuItemType_ArrangeMic,///排麦
XPRoomMenuItemType_Gift,///礼物 XPRoomMenuItemType_Gift,///礼物
XPRoomMenuItemType_Noble,///VIP XPRoomMenuItemType_Noble,///VIP
MSRoomMenuItemType_Game,///VIP XPRoomMenuItemType_PK,/// PK 菜单
MSRoomMenuItemType_BAISHUN_GAME,///显示百顺游戏
}; };
@interface XPRoomMenuItem : NSObject @interface XPRoomMenuItem : NSObject

View File

@@ -51,6 +51,8 @@
@property (nonatomic,strong) UIButton *messageButton; @property (nonatomic,strong) UIButton *messageButton;
/// ///
@property (nonatomic,strong) UIButton *moreButton; @property (nonatomic,strong) UIButton *moreButton;
/// PK
@property (nonatomic,strong) UIButton *pkButton;
/// ///
@property (nonatomic,strong) UIButton *giftButton; @property (nonatomic,strong) UIButton *giftButton;
@property (nonatomic, strong) SVGAImageView *svgDisplayView; @property (nonatomic, strong) SVGAImageView *svgDisplayView;
@@ -59,7 +61,7 @@
@property (nonatomic,strong) UIButton *arrangeMicButton; @property (nonatomic,strong) UIButton *arrangeMicButton;
/// ///
@property(nonatomic,strong) UIButton *gameButton; @property(nonatomic,strong) UIButton *baiShunGameButton;
/// ///
@property (nonatomic,strong) XPRoomSendTextView *inputTextView; @property (nonatomic,strong) XPRoomSendTextView *inputTextView;
@@ -199,14 +201,21 @@
[self.delegate.getCurrentNav pushViewController:nobleVC animated:YES]; [self.delegate.getCurrentNav pushViewController:nobleVC animated:YES];
} }
break; break;
case MSRoomMenuItemType_Game: case MSRoomMenuItemType_BAISHUN_GAME:
{ {
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc]initWithDelegate:self.delegate roomMenuType:MSRoomMenuTypeGame]; MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc]initWithDelegate:self.delegate roomMenuType:MSRoomMenuTypeLittleGame];
vc.modalPresentationStyle = UIModalPresentationOverFullScreen; vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self.delegate.getCurrentNav presentViewController:vc animated:YES completion:nil]; [self.delegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
break; break;
} }
case XPRoomMenuItemType_PK:
{
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc]initWithDelegate:self.delegate roomMenuType:MSRoomMenuTypePK];
vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self.delegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
break;
}
default: default:
break; break;
} }
@@ -227,20 +236,21 @@
#pragma mark - Private Method #pragma mark - Private Method
- (void)initSubViews { - (void)initSubViews {
[self addSubview:self.inputButton];
[self addSubview:self.scrollView]; [self addSubview:self.scrollView];
[self addSubview:self.gameButton];
[self addSubview:self.svgDisplayView]; [self addSubview:self.svgDisplayView];
[self addSubview:self.giftButton]; [self addSubview:self.giftButton];
[self.scrollView addSubview:self.stackView]; [self.scrollView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.inputButton];
[self.stackView addArrangedSubview:self.micButton]; [self.stackView addArrangedSubview:self.micButton];
[self.stackView addArrangedSubview:self.voiceButton]; [self.stackView addArrangedSubview:self.voiceButton];
[self.stackView addArrangedSubview:self.faceButton]; [self.stackView addArrangedSubview:self.faceButton];
[self.stackView addArrangedSubview:self.arrangeMicButton]; [self.stackView addArrangedSubview:self.arrangeMicButton];
[self.stackView addArrangedSubview:self.messageButton]; [self.stackView addArrangedSubview:self.messageButton];
[self.stackView addArrangedSubview:self.moreButton]; [self.stackView addArrangedSubview:self.moreButton];
[self.stackView addArrangedSubview:self.baiShunGameButton];
[self.stackView addArrangedSubview:self.pkButton];
self.backgroundColor = UIColorRGBAlpha(0xFFFFFF, 0.2); self.backgroundColor = UIColorRGBAlpha(0xFFFFFF, 0.2);
CAShapeLayer * layer = [CAShapeLayer layer]; CAShapeLayer * layer = [CAShapeLayer layer];
@@ -270,8 +280,8 @@
- (void)initSubViewConstraints { - (void)initSubViewConstraints {
[self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) { [self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(self).offset(15); make.leading.mas_equalTo(self.inputButton.mas_trailing).offset(15);
make.trailing.mas_equalTo(self.gameButton.mas_leading).offset(-11); make.trailing.mas_equalTo(self.giftButton.mas_leading).offset(-11);
make.top.mas_equalTo(self).offset(16); make.top.mas_equalTo(self).offset(16);
make.height.mas_equalTo(29); make.height.mas_equalTo(29);
}]; }];
@@ -280,8 +290,9 @@
make.top.bottom.leading.trailing.height.mas_equalTo(self.scrollView); make.top.bottom.leading.trailing.height.mas_equalTo(self.scrollView);
}]; }];
[self.inputButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.inputButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(90, 28)); make.size.mas_equalTo(CGSizeMake(90, 28));
make.left.top.mas_equalTo(16);
}]; }];
[self.svgDisplayView mas_makeConstraints:^(MASConstraintMaker *make) { [self.svgDisplayView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.scrollView); make.centerY.mas_equalTo(self.scrollView);
@@ -291,11 +302,6 @@
[self.giftButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.giftButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.svgDisplayView); make.edges.equalTo(self.svgDisplayView);
}]; }];
[self.gameButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.scrollView);
make.trailing.equalTo(self.svgDisplayView.mas_leading).mas_offset(-11);
make.size.mas_equalTo(CGSizeMake(29, 29));
}];
} }
- (NSArray<XPGiftUserInfoModel *> *)configGiftUsers:(NSMutableDictionary<NSString *,MicroQueueModel *> *)queue { - (NSArray<XPGiftUserInfoModel *> *)configGiftUsers:(NSMutableDictionary<NSString *,MicroQueueModel *> *)queue {
@@ -391,16 +397,14 @@
- (void)onRoomUpdate { - (void)onRoomUpdate {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo; RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
// UserInfoModel * userInfo = self.delegate.getUserInfo;
[self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateNormal];
// if (userInfo.isFirstCharge) { [self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateSelected];
// [self.giftButton setImage:[UIImage getLanguageImage:@"room_menu_gift_first_recharge"] forState:UIControlStateNormal];
// [self.giftButton setImage:[UIImage getLanguageImage:@"room_menu_gift_first_recharge"] forState:UIControlStateSelected]; #if RELEASE
// } else { self.gameButton.hidden = self.delegate.getUserInfo.uid != roomInfo.uid;
[self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateNormal]; #endif
[self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateSelected];
// }
self.arrangeMicButton.hidden = roomInfo.roomModeType != RoomModeType_Open_Micro_Mode; self.arrangeMicButton.hidden = roomInfo.roomModeType != RoomModeType_Open_Micro_Mode;
if (roomInfo.roomModeType == RoomModeType_Open_Blind || roomInfo.roomModeType == RoomModeType_Open_PK_Mode || roomInfo.roomModeType == RoomModeType_Open_Micro_Mode) { if (roomInfo.roomModeType == RoomModeType_Open_Blind || roomInfo.roomModeType == RoomModeType_Open_PK_Mode || roomInfo.roomModeType == RoomModeType_Open_Micro_Mode) {
NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init]; NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init];
@@ -408,7 +412,9 @@
if([AccountInfoStorage instance].getUid != nil){ if([AccountInfoStorage instance].getUid != nil){
request.userIds = @[[AccountInfoStorage instance].getUid]; request.userIds = @[[AccountInfoStorage instance].getUid];
} }
@kWeakify(self);
[[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) { [[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) {
@kStrongify(self);
if (error == nil) { if (error == nil) {
NIMChatroomMember * member = members.firstObject; NIMChatroomMember * member = members.firstObject;
if (member.type == NIMChatroomMemberTypeCreator || member.type == NIMChatroomMemberTypeManager) { if (member.type == NIMChatroomMemberTypeCreator || member.type == NIMChatroomMemberTypeManager) {
@@ -432,7 +438,9 @@
NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init]; NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init];
request.roomId = [NSString stringWithFormat:@"%ld", self.delegate.getRoomInfo.roomId]; request.roomId = [NSString stringWithFormat:@"%ld", self.delegate.getRoomInfo.roomId];
request.userIds = @[[AccountInfoStorage instance].getUid]; request.userIds = @[[AccountInfoStorage instance].getUid];
@kWeakify(self);
[[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) { [[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) {
@kStrongify(self);
NIMChatroomMember * member; NIMChatroomMember * member;
if (error == nil) { if (error == nil) {
member = members.firstObject; member = members.firstObject;
@@ -588,6 +596,17 @@
return _moreButton; return _moreButton;
} }
- (UIButton *)pkButton {
if (!_pkButton) {
_pkButton = [UIButton buttonWithType:UIButtonTypeCustom];
_pkButton.imageView.contentMode = UIViewContentModeScaleAspectFit;
_pkButton.tag = XPRoomMenuItemType_PK;
[_pkButton setImage:[UIImage imageNamed:@"ms_room_menu_game"] forState:UIControlStateNormal];
[_pkButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _pkButton;
}
- (UIButton *)giftButton { - (UIButton *)giftButton {
if (!_giftButton) { if (!_giftButton) {
@@ -616,7 +635,7 @@
if (!_stackView) { if (!_stackView) {
_stackView = [[UIStackView alloc] init]; _stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal; _stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFill; _stackView.distribution = UIStackViewDistributionFillEqually;
_stackView.alignment = UIStackViewAlignmentCenter; _stackView.alignment = UIStackViewAlignmentCenter;
_stackView.spacing = 11; _stackView.spacing = 11;
} }
@@ -651,14 +670,14 @@
} }
return _miniMessageView; return _miniMessageView;
} }
- (UIButton *)gameButton{ - (UIButton *)baiShunGameButton{
if(!_gameButton){ if(!_baiShunGameButton){
_gameButton = [UIButton new]; _baiShunGameButton = [UIButton new];
[_gameButton setImage:[UIImage imageNamed:@"ms_room_menu_game"] forState:UIControlStateNormal]; [_baiShunGameButton setImage:[UIImage imageNamed:@"room_menu_play"] forState:UIControlStateNormal];
[_gameButton setImage:[UIImage imageNamed:@"ms_room_menu_game"] forState:UIControlStateSelected]; [_baiShunGameButton setImage:[UIImage imageNamed:@"room_menu_play"] forState:UIControlStateSelected];
_gameButton.tag = MSRoomMenuItemType_Game; _baiShunGameButton.tag = MSRoomMenuItemType_BAISHUN_GAME;
[_gameButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [_baiShunGameButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
} }
return _gameButton; return _baiShunGameButton;
} }
@end @end

View File

@@ -53,18 +53,22 @@
/// @param roomUid uid /// @param roomUid uid
- (void)getNormalGiftList:(NSString *)roomUid { - (void)getNormalGiftList:(NSString *)roomUid {
/// ///
CGFloat delayDuration = 0.0;
NSArray * arrary = [[XPGiftStorage shareStorage] getGiftDatasource:roomUid]; NSArray * arrary = [[XPGiftStorage shareStorage] getGiftDatasource:roomUid];
if (arrary.count > 0) { if (arrary.count > 0) {
delayDuration = 1;
[[self getView] getNormalGiftListSuccess:arrary]; [[self getView] getNormalGiftListSuccess:arrary];
} }
@kWeakify(self); dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayDuration * NSEC_PER_SEC)), dispatch_get_global_queue(0, 0), ^{
[Api requestNormalGiftList:[self createHttpCompletion:^(BaseModel * _Nonnull data) { @kWeakify(self);
@kStrongify(self); [Api requestNormalGiftList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] getNormalGiftListSuccess:[[XPGiftStorage shareStorage] cacheWith:data.data inRoom:roomUid]]; @kStrongify(self);
}fail:^(NSInteger code, NSString * _Nullable msg) { [[self getView] getNormalGiftListSuccess:[[XPGiftStorage shareStorage] cacheWith:data.data inRoom:roomUid]];
@kStrongify(self); }fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getNormalGiftListFail:msg]; @kStrongify(self);
}] roomUid:roomUid]; [[self getView] getNormalGiftListFail:msg];
}] roomUid:roomUid];
});
} }