RoomInfo 增加参数,房间支持配置入口
修正登录 API 的 toast 显示

This commit is contained in:
eggmanQQQ
2024-07-25 20:16:51 +08:00
parent 2f969aadf5
commit 2c894befca
22 changed files with 269 additions and 141 deletions

View File

@@ -521,6 +521,7 @@
23FF42792AA6E19C0055733C /* HomeMenuSourceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF42782AA6E19C0055733C /* HomeMenuSourceModel.m */; };
23FF428E2AAB2D3A0055733C /* XPCandyTreeBuyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */; };
5412E0F42C4E460300FDD668 /* XPMineCenterAgencyView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5412E0F32C4E460300FDD668 /* XPMineCenterAgencyView.m */; };
5412E0FD2C52512100FDD668 /* RoomBottomEntranceModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 5412E0FC2C52512100FDD668 /* RoomBottomEntranceModel.m */; };
541DD9552C1EDEFB00B616C4 /* XPHomePagingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 541DD9542C1EDEFB00B616C4 /* XPHomePagingViewController.m */; };
5458319D2C2AE09300364026 /* XPRoomTypeSelectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5458319C2C2AE09300364026 /* XPRoomTypeSelectionViewController.m */; };
545831A02C2AEFAF00364026 /* TenMicStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5458319F2C2AEFAF00364026 /* TenMicStageView.m */; };
@@ -2589,6 +2590,8 @@
23FF428D2AAB2D3A0055733C /* XPCandyTreeBuyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPCandyTreeBuyView.m; sourceTree = "<group>"; };
5412E0F22C4E460300FDD668 /* XPMineCenterAgencyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineCenterAgencyView.h; sourceTree = "<group>"; };
5412E0F32C4E460300FDD668 /* XPMineCenterAgencyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineCenterAgencyView.m; sourceTree = "<group>"; };
5412E0FB2C52512100FDD668 /* RoomBottomEntranceModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomBottomEntranceModel.h; sourceTree = "<group>"; };
5412E0FC2C52512100FDD668 /* RoomBottomEntranceModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomBottomEntranceModel.m; sourceTree = "<group>"; };
541DD9532C1EDEFB00B616C4 /* XPHomePagingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPHomePagingViewController.h; sourceTree = "<group>"; };
541DD9542C1EDEFB00B616C4 /* XPHomePagingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomePagingViewController.m; sourceTree = "<group>"; };
5458319B2C2AE09300364026 /* XPRoomTypeSelectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomTypeSelectionViewController.h; sourceTree = "<group>"; };
@@ -7268,6 +7271,8 @@
E8899C812785A694007944BE /* DatingInfoModel.m */,
E87AE8BF284E184300CAFBB3 /* RoomNewUserGreetModel.h */,
E87AE8C0284E184300CAFBB3 /* RoomNewUserGreetModel.m */,
5412E0FB2C52512100FDD668 /* RoomBottomEntranceModel.h */,
5412E0FC2C52512100FDD668 /* RoomBottomEntranceModel.m */,
);
path = Model;
sourceTree = "<group>";
@@ -11936,6 +11941,7 @@
E85E7B0D2A4EB0D200B6D00A /* GuildSuperAdminInfoModel.m in Sources */,
189DD68426E1FDBB00AB55B1 /* XNDJTDDLoadingTool.m in Sources */,
9B1B72AF280031F8003FACE9 /* XPAnchorPKSelectRoomView.m in Sources */,
5412E0FD2C52512100FDD668 /* RoomBottomEntranceModel.m in Sources */,
E818DD1C2A4896EE00F163F7 /* XPLoginAraeViewController.m in Sources */,
23959FE72BB15C930085A282 /* UploadFileModel.m in Sources */,
E8D4824A278D1F73003C1D08 /* XPAcrossRoomPKInviteView.m in Sources */,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -642,8 +642,6 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy";
return _protocolLabel;
}
- (UIImageView *)authBubbleView {
if (!_authBubbleView) {
_authBubbleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"login_auth_bubble"]];

View File

@@ -33,8 +33,7 @@
///
- (void)getUserInfo {
NSString * uid = [[AccountInfoStorage instance] getUid];
if (!uid.length) {
if (uid.length == 0) {
return;
}
@kWeakify(self);
@@ -42,7 +41,7 @@
@kStrongify(self);
UserInfoModel * infoModel = [UserInfoModel modelWithDictionary:data.data];
[[self getView] onGetUserInfoSuccess:infoModel];
}errorToast:NO] uid:uid];
} errorToast:NO] uid:uid];
}
///
@@ -50,7 +49,7 @@
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
if (!uid.length) {
[[self getView]getUserWalletInfoFail];
[[self getView] getUserWalletInfoFail];
return;
}
@kWeakify(self);
@@ -60,7 +59,7 @@
[[self getView] getUserWalletInfo:model];
} fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
[[self getView]getUserWalletInfoFail];
[[self getView] getUserWalletInfoFail];
}] uid:uid ticket:ticket];
}

View File

@@ -134,7 +134,9 @@
//
- (void)getUserInfo {
NSString * uid = [[AccountInfoStorage instance] getUid];
@kWeakify(self);
[Api getUserInfo:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
UserInfoModel * infoModel = [UserInfoModel modelWithDictionary:data.data];
[[self getView] onGetUserInfoSuccess:infoModel];
}] uid:uid];

View File

@@ -131,8 +131,6 @@ return view;\
@property (nonatomic, strong) UILabel *fansNum;
@property (nonatomic, strong) UILabel *followersNum;
@end
@implementation XPMineUserInfoHeaderView

View File

@@ -111,7 +111,6 @@ UIKIT_EXTERN NSString *kRequestTicket;
- (void)viewDidLoad {
[super viewDidLoad];
// [self showLoading];
[self initSubViews];
[self initSubViewConstraints];
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
@@ -122,14 +121,19 @@ UIKIT_EXTERN NSString *kRequestTicket;
self.isRefreshRoomInfo = NO;
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventUserCenter_recharge_card_show];
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventUserCenter_noble_card_show];
if([AccountInfoStorage instance].isRequestTicket == NO) {
[self getDataInfo];
}
if (!self.userInfo) {
[self showLoading];
}
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if([AccountInfoStorage instance].isRequestTicket == NO) {
[self getDataInfo];
}
}
-(void)getDataInfo{
[self.presenter getUserInfo];
}
@@ -492,7 +496,9 @@ UIKIT_EXTERN NSString *kRequestTicket;
if(self.isRefreshRoomInfo == YES)return;
self.isRefreshRoomInfo = YES;
NSString* roomUid = [NSString stringWithFormat:@"%ld", (long)self.userInfo.uid];
@kWeakify(self);
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
self.isRefreshRoomInfo = NO;
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
@@ -562,7 +568,9 @@ UIKIT_EXTERN NSString *kRequestTicket;
break;
}
}
@kWeakify(self);
[self.functionArray enumerateObjectsUsingBlock:^(XPMineFunctionItemModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@kStrongify(self);
if (obj.skipType == XPMineItemType_CP) {
[self.functionArray removeObject:obj];
}
@@ -628,14 +636,6 @@ UIKIT_EXTERN NSString *kRequestTicket;
userInfo.idAtt = [self.headView createNamePlateIdLabelAttribute:userInfo];
[self.tableView reloadData];
[self.headView createNamePlateLevelAttribute:userInfo complete:^(NSMutableAttributedString *textAtt) {
@kStrongify(self);
dispatch_async(dispatch_get_main_queue(), ^{
userInfo.levelAtt = textAtt;
self.headView.userInfo = userInfo;
});
}];
dispatch_async(dispatch_get_global_queue(0, 0), ^{
@kStrongify(self);
[self.presenter getClanDetailInfo];
@@ -644,6 +644,16 @@ UIKIT_EXTERN NSString *kRequestTicket;
// [self.presenter getMineBannerList];
[self.presenter getNobleInfo];
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.headView createNamePlateLevelAttribute:userInfo complete:^(NSMutableAttributedString *textAtt) {
@kStrongify(self);
dispatch_async(dispatch_get_main_queue(), ^{
userInfo.levelAtt = textAtt;
self.headView.userInfo = userInfo;
});
}];
});
}
- (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo{

View File

@@ -17,7 +17,9 @@
///
- (void)getInRoomRecordList {
NSString *uid = [AccountInfoStorage instance].getUid;
@kWeakify(self);
[Api requestFootPrint:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
NSArray *array = [XPMineFootPrintModel modelsWithArray:data.data];
[[self getView] getInRoomRecordSuccess:array];
} fail:^(NSInteger code, NSString * _Nullable msg) {
@@ -27,7 +29,9 @@
///
- (void)cleanInRoomRecord {
NSString *uid = [AccountInfoStorage instance].getUid;
@kWeakify(self);
[Api requestCleanFootPrint:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
[[self getView] cleanInRoomRecordSuccess];
}] uid:uid roomUid:NULL];
}

View File

@@ -329,7 +329,11 @@
-(void)pushMyRoomVC{
NSString* roomUid = [[AccountInfoStorage instance] getUid];
// [XPRoomViewController openRoom:roomUid viewController:self];
@kWeakify(self);
[Api getRoomInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if (code == 200) {
RoomInfoModel * roomInfo = [RoomInfoModel modelWithJSON:data.data];
if (roomInfo.isReselect) {

View File

@@ -16,9 +16,7 @@
if(dic[@"RESERVE"]!=nil){
_gameModel = [ActivityInfoItemModel modelWithJSON:dic[@"RESERVE"]];
}
}
}
@end
@implementation ActivityInfoItemModel

View File

@@ -0,0 +1,22 @@
//
// RoomBottomEntranceModel.h
// YuMi
//
// Created by P on 2024/7/25.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface RoomBottomEntranceModel : PIBaseModel
@property (nonatomic, assign) NSInteger skipType; // 1 = h5, 2 = 百顺
@property (nonatomic, copy) NSString *skipUrl;
@property (nonatomic, copy) NSString *icon1Url; // 新增内容
@property (nonatomic, copy) NSString *icon2Url; // 原有入口内容,有则替换为新图
@property (nonatomic, copy) NSString *reserve;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// RoomBottomEntranceModel.m
// YuMi
//
// Created by P on 2024/7/25.
//
#import "RoomBottomEntranceModel.h"
@implementation RoomBottomEntranceModel
@end

View File

@@ -8,6 +8,7 @@
#import "NSObject+MJExtension.h"
#import "YUMINNNN.h"
#import "AcrossRoomPKPanelModel.h"
#import "RoomBottomEntranceModel.h"
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, RoomType) {
@@ -70,7 +71,6 @@ typedef NS_ENUM(NSInteger, RoomDatingStateChangeType) {
@property(nonatomic,copy) NSString *price;
@end
@class AcrossRoomPKPanelModel;
@interface RoomInfoModel : PIBaseModel
@property (nonatomic , copy) NSString * nick;
@@ -177,6 +177,9 @@ typedef NS_ENUM(NSInteger, RoomDatingStateChangeType) {
@property (nonatomic , assign) RoomType oldType;
/// 右下角的配置项
@property (nonatomic, strong) RoomBottomEntranceModel *rightBottomIconConfig;
@end
NS_ASSUME_NONNULL_END

View File

@@ -63,15 +63,16 @@
[room sendCompleted];
} fail:^(NSInteger code, NSString * _Nullable msg) {
[user sendError:nil];
if (msg.length > 0) {
TTAlertConfig *config = [[TTAlertConfig alloc]init];
config.message = msg;
config.actionStyle = TTAlertActionConfirmStyle;
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
TTAlertConfig *config = [[TTAlertConfig alloc]init];
config.message = msg;
config.actionStyle = TTAlertActionConfirmStyle;
[TTPopup alertWithConfig:config showBorder:NO confirmHandler:^{
} cancelHandler:^{
} cancelHandler:^{
}];
}];
}
} showLoading:YES errorToast:NO] uid:roomUid intoUid:uid];
}
@@ -190,9 +191,7 @@
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];
}

View File

@@ -42,6 +42,8 @@
#import "BaseNavigationController.h"
#import "PIRoomActivityWebView.h"
#import "MSRoomGameWebVC.h"
#import "XPRoomAnimationView.h"
#import "MSRoomMenuGameVC.h"
UIKIT_EXTERN NSString *kShowFirstRechargeView;
@@ -54,6 +56,8 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
///
@property(nonatomic,strong) PIRoomEnterRedPacketView *redPacketView;
/// API
@property(nonatomic, strong) UIButton *configEntranceMenuButton;
///
@property(nonatomic, strong) UIButton *gambleMenuButton;
///
@@ -101,6 +105,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.joinDatingView];
[self.stackView addArrangedSubview:self.pkMenuButton];
[self.stackView addArrangedSubview:self.configEntranceMenuButton];
[self.stackView addArrangedSubview:self.gambleMenuButton];
}
@@ -109,9 +114,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
make.edges.mas_equalTo(self);
}];
CGFloat itemWidth = KScreenHeight > 667 ? 65 : 55 * kScreenHeightScale;
CGFloat scrollItemWidth = KScreenHeight > 667 ? 65 : 55 * kScreenHeightScale;
CGSize itemSize = CGSizeMake(scrollItemWidth , scrollItemWidth);
[self.pi_cycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(itemWidth , itemWidth));
make.size.mas_equalTo(itemSize);
}];
[self.redPacketView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -120,12 +126,17 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.pkMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(76, 76));
make.size.mas_equalTo(itemSize);
}];
[self.gambleMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.size.mas_equalTo(CGSizeMake(76, 76));
make.size.mas_equalTo(itemSize);
}];
[self.configEntranceMenuButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.size.mas_equalTo(itemSize);
}];
[self.joinDatingView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -142,6 +153,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
@kStrongify(self);
self.playList = [NSMutableArray arrayWithArray:playModels];
self.littleGameList = [NSMutableArray arrayWithArray:littleGameModels];
[self onRoomUpdate];
return nil;
}] subscribeError:^(NSError * _Nullable error) {}];
@@ -179,6 +191,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
}
roomUid:roomUid];
}
-(void)dealWithData{
self.isLoadActivity = YES;
self.pi_cycleScrollView.hidden = NO;
@@ -216,6 +229,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.pi_cycleScrollView setAutoScroll:NO];
}
}
- (void)setRedPacketList:(NSMutableArray *)redPacketList{
_redPacketList = redPacketList;
self.redPacketView.redPacketList = redPacketList;
@@ -224,28 +238,61 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
}
}
#pragma mark - RoomGuestDelegat
- (void)updateConfigEntranceButtons:(RoomInfoModel *)roomInfo {
RoomBottomEntranceModel *model = roomInfo.rightBottomIconConfig;
if (model) {
@kWeakify(self);
if (model.icon2Url.length > 0) {
NetImageView *loader = [[NetImageView alloc] init];
[loader loadImageWithUrl:model.icon2Url
completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
@kStrongify(self);
[self.gambleMenuButton setImage:image forState:UIControlStateNormal];
}];
}
if (model.icon1Url.length > 0) {
NetImageView *loader = [[NetImageView alloc] init];
[loader loadImageWithUrl:model.icon1Url
completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
@kStrongify(self);
[self.configEntranceMenuButton setImage:image forState:UIControlStateNormal];
self.configEntranceMenuButton.hidden = NO;
} fail:^(NSError * _Nonnull error) {
self.configEntranceMenuButton.hidden = YES;
}];
} else {
[self.configEntranceMenuButton removeFromSuperview];
}
}
}
- (void)onRoomUpdate {
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
[self updateConfigEntranceButtons:roomInfo];
if (roomInfo.type == RoomType_Anchor || roomInfo.roomModeType == RoomModeType_Open_Blind) {
self.gambleMenuButton.hidden = YES;
self.pkMenuButton.hidden = YES;
} else {
self.gambleMenuButton.hidden = NO;
self.gambleMenuButton.hidden = self.playList.count > 0 ? NO : YES;
self.pkMenuButton.hidden = NO;
}
if (roomInfo.roomModeType != RoomModeType_Open_PK_Mode) {
[self.pkMenuButton removeFromSuperview];
[self.stackView insertArrangedSubview:self.gambleMenuButton atIndex:0];
} else {
[self.gambleMenuButton removeFromSuperview];
[self.stackView addArrangedSubview:self.pkMenuButton];
}
self.redPacketView.type = roomInfo.type;
if (roomInfo.type == RoomType_MiniGame) {
self.redPacketView.hidden = YES;
[self.gambleMenuButton removeFromSuperview];
[self.pi_cycleScrollView removeFromSuperview];
[self.stackView insertArrangedSubview:self.gambleMenuButton atIndex:0];
[self.stackView addArrangedSubview:self.pi_cycleScrollView];
[self.gambleMenuButton bringSubviewToFront:self.stackView];
if (self.isLoadActivity) {
@@ -384,31 +431,22 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
// [fairyVC.navigationController setNavigationBarHidden:YES animated:NO];
[[XCCurrentVCStackManager shareManager].getCurrentVC.view addSubview:fairyVC.view];
[UIView animateWithDuration:0.2 animations:^{
fairyVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
fairyVC.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}completion:^(BOOL finished) {
}];
}else {
if (info.skipType == ActivitySkipType_Room) {
[self.hostDelegate exitRoom];
[XPRoomViewController openRoom:info.skipContent viewController:kWindow.rootViewController];
} else if(info.skipType == ActivitySkipType_Web) {
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
}
}
}
@@ -471,22 +509,16 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
if (info.skipType == ActivitySkipType_Room) {
[self.hostDelegate exitRoom];
[XPRoomViewController openRoom:info.skipContent viewController:kWindow.rootViewController];
} else if(info.skipType == ActivitySkipType_Web) {
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
PIRoomActivityWebView * webView = [[PIRoomActivityWebView alloc]initWithFrame:CGRectMake(0, KScreenHeight, KScreenWidth, KScreenHeight)];
webView.roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
webView.url = info.skipContent;
webView.infoList = inftList;
[kWindow addSubview:webView];
[UIView animateWithDuration:0.2 animations:^{
webView.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
}];
}
}
}
@@ -551,6 +583,55 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.hostDelegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
}
- (void)didTapConfigEntranceButton {
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
RoomBottomEntranceModel *model = roomInfo.rightBottomIconConfig;
if (!model) {
return;
}
if (model.skipUrl.length == 0) {
return;
}
switch (model.skipType) {
case 1: {
XPWebViewController *vc = [[XPWebViewController alloc]init];
vc.url = model.skipUrl;
[self.hostDelegate.getCurrentNav pushViewController:vc animated:YES];
}
break;
case 2: {
if ([self.hostDelegate isKindOfClass:[XPRoomViewController class]]){
ActivityInfoModel *activityModel = [[ActivityInfoModel alloc] init];
activityModel.skipContent = model.skipUrl;
activityModel.skipType = ActivitySkipType_Web;
activityModel.showType = 1;
activityModel.code = @"BAISHUN";
activityModel.ruleValue = model.reserve;
if (activityModel.gameModel) {
MSRoomGameWebVC *vc = [[MSRoomGameWebVC alloc] initWithDelegate:self.hostDelegate
gameModel:activityModel];
vc.view.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight);
XPRoomViewController *roomVC = (XPRoomViewController *)self.hostDelegate;
[roomVC addChildViewController:vc];
XPRoomAnimationView *animationView;
for (id obj in self.hostDelegate.getSuperView.subviews) {
if ([obj isKindOfClass:[XPRoomAnimationView class]]){
animationView = obj;
break;
}
}
[self.hostDelegate.getSuperView addSubview:vc.view];
[self.hostDelegate.getSuperView bringSubviewToFront:animationView];
}
}
}
default:
break;
}
}
- (void)didTapPKMenuButton {
[self.hostDelegate showPKPanel];
}
@@ -667,17 +748,37 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[UIImage imageNamed:@"ms_room_game_button"] forState:UIControlStateNormal];
[b addTarget:self action:@selector(didTapGameMenuButton) forControlEvents:UIControlEventTouchUpInside];
b.imageView.contentMode = UIViewContentModeScaleAspectFit;
b.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
b.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
b.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);
b.hidden = YES;
_gambleMenuButton = b;
}
return _gambleMenuButton;
}
- (UIButton *)configEntranceMenuButton {
if (!_configEntranceMenuButton) {
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[UIImage imageNamed:@"ms_room_game_add_coin"] forState:UIControlStateNormal];
[b addTarget:self action:@selector(didTapConfigEntranceButton) forControlEvents:UIControlEventTouchUpInside];
b.imageView.contentMode = UIViewContentModeScaleAspectFit;
b.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
b.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
b.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10);
b.hidden = YES;
_configEntranceMenuButton = b;
}
return _configEntranceMenuButton;
}
- (UIButton *)pkMenuButton {
if (!_pkMenuButton) {
UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setImage:[UIImage imageNamed:@"room_pk_panel_mini_icon"] forState:UIControlStateNormal];
[b addTarget:self action:@selector(didTapPKMenuButton) forControlEvents:UIControlEventTouchUpInside];
b.imageView.contentMode = UIViewContentModeScaleAspectFill;
b.hidden = YES;
_pkMenuButton = b;
}

View File

@@ -39,8 +39,10 @@
- (void)setModel:(ActivityInfoModel *)model{
_model = model;
_gameView.image = nil;
@kWeakify(self);
[_gameView loadImageWithUrl:_model.icon completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
self.gameView.image = image;
@kStrongify(self);
self.gameView.image = image;
}];
_textView.text = _model.name;
}
@@ -53,7 +55,9 @@
- (void)setLittleGameModel:(LittleGameInfoModel *)littleGameModel{
_littleGameModel = littleGameModel;
_gameView.image = nil;
@kWeakify(self);
[_gameView loadImageWithUrl:littleGameModel.pic2 completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
@kStrongify(self);
self.gameView.image = image;
}];
_textView.text = littleGameModel.name;
@@ -65,6 +69,7 @@
NetImageConfig *config = [NetImageConfig new];
config.placeHolder = [UIImageConstant defaultEmptyAvatarPlaceholder];
_gameView = [[NetImageView alloc]initWithConfig:config];
_gameView.contentMode = UIViewContentModeScaleToFill;
_gameView.layer.cornerRadius = kGetScaleWidth(6);
_gameView.layer.masksToBounds = YES;
}

View File

@@ -81,76 +81,28 @@
}
-(void)getGameData{
// NSMutableArray *resourceList = [self.hostDelegate getPlayList];
// if(resourceList.count > 0){
// self.gameView.playList = resourceList;
//// [self updateGamePlayList:resourceList];
// return;
// }
NSMutableArray *resourceList = [self.hostDelegate getPlayList];
if(resourceList.count > 0){
self.gameView.playList = resourceList;
return;
}
NSString * roomId = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.roomId];
@kWeakify(self);
[Api getPlayList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
@kStrongify(self);
NSArray <ActivityInfoModel *>* array = [ActivityInfoModel modelsWithArray:data.data];
// NSMutableArray *tA = [array mutableCopy];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
// [tA addObjectsFromArray:array];
self.gameView.playList = [array mutableCopy];
// [self updateGamePlayList:array];
self.gameView.playList = [[ActivityInfoModel modelsWithArray:data.data] mutableCopy];
}
} roomId:roomId];
}
- (void)updateGamePlayList:(NSArray *)array {
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithArray:array];
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
NSString * uid = [AccountInfoStorage instance].getUid;
if (uid.length > 0) {
BOOL meIsSuperAdmin = NO;
for (GuildSuperAdminInfoModel *managerInfo in self.hostDelegate.getRoomSuperAdminList) {
if ([managerInfo.uid isEqualToString:[AccountInfoStorage instance].getUid]) {
meIsSuperAdmin = YES;
break;
}
}
NSString * roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
NIMChatroomMembersByIdsRequest *request = [[NIMChatroomMembersByIdsRequest alloc]init];
request.roomId = roomId;
request.userIds = @[uid];
@kWeakify(self);
[[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) {
@kStrongify(self);
if (error == nil) {
NIMChatroomMember * member = members.firstObject;
BOOL isCreator = member.type == NIMChatroomMemberTypeCreator;
BOOL isManager = member.type == NIMChatroomMemberTypeManager;
if (isCreator &&
roomInfo.type != RoomType_MiniGame) {
XPRoomMoreItemModel *pkModel = [self createCrossRoomPKModel:roomInfo];
if(roomInfo.type != RoomType_Anchor && pkModel){
[tempArray insertObject:[self createCrossRoomPKModel:roomInfo] atIndex:0];
}
}
if ((isCreator || isManager || meIsSuperAdmin) &&
roomInfo.type != RoomType_MiniGame &&
roomInfo.type != RoomType_Anchor ) {
XPRoomMoreItemModel *pkModel = [self createRoomPKModel:roomInfo];
if (pkModel) {
[tempArray insertObject:[self createRoomPKModel:roomInfo] atIndex:0];
}
}
}
self.gameView.playList = tempArray;
}];
}
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithArray:@[
[self createRoomPKModel:roomInfo],
[self createCrossRoomPKModel:roomInfo]
]];
self.gameView.playList = tempArray;
}

View File

@@ -75,6 +75,9 @@ static const NSInteger kItemsPerRow = 5;
}
- (void)updateViewHeightWithItemCount:(NSInteger)count {
if (count == 0) {
return;
}
NSInteger lineNum = MIN(3, (count + kItemsPerRow - 1)/kItemsPerRow);
if (lineNum == 1) {

View File

@@ -23,6 +23,7 @@
#import "MicroStateModel.h"
#import "RoomInfoModel.h"
#import "AttachmentModel.h"
#import "GuildSuperAdminInfoModel.h"
///View
#import "XPRoomSendTextView.h"
#import "XPSendGiftView.h"
@@ -34,6 +35,7 @@
#import "XPRoomMessageBubbleView.h"
#import "MSRoomMenuGameVC.h"
#import "SVGA.h"
@interface XPRoomMenuContainerView ()<XPRoomMessageBubbleViewDelegate>
///
@property (nonatomic,strong) UIScrollView *scrollView;
@@ -210,7 +212,7 @@
}
case XPRoomMenuItemType_PK:
{
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc]initWithDelegate:self.delegate roomMenuType:MSRoomMenuTypePK];
MSRoomMenuGameVC *vc = [[MSRoomMenuGameVC alloc] initWithDelegate:self.delegate roomMenuType:MSRoomMenuTypePK];
vc.modalPresentationStyle = UIModalPresentationOverFullScreen;
[self.delegate.getCurrentNav presentViewController:vc animated:YES completion:nil];
break;
@@ -401,9 +403,21 @@
[self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateNormal];
[self.giftButton setImage:[UIImage imageNamed:@"room_menu_gift"] forState:UIControlStateSelected];
#if RELEASE
self.gameButton.hidden = self.delegate.getUserInfo.uid != roomInfo.uid;
#endif
// MARK: or
self.baiShunGameButton.hidden = YES;
self.pkButton.hidden = YES;
if ([AccountInfoStorage instance].getUid.integerValue == roomInfo.uid) {
self.baiShunGameButton.hidden = NO;
self.pkButton.hidden = NO;
} else {
for (GuildSuperAdminInfoModel *managerInfo in self.delegate.getRoomSuperAdminList) {
if ([managerInfo.uid isEqualToString:[AccountInfoStorage instance].getUid]) {
self.baiShunGameButton.hidden = NO;
self.pkButton.hidden = NO;
break;
}
}
}
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) {

View File

@@ -720,7 +720,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
}];
[self.activityContainerView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(115);
// make.height.mas_equalTo(115);
make.trailing.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.quickMessageContainerView.mas_top).offset(-5);
make.width.mas_equalTo(87);
@@ -1454,7 +1454,9 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
if (self.roomInfo.valid) { //
if (self.roomInfo.roomPwd.length > 0 && self.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue && [XPRoomMiniManager shareManager].getRoomInfo.uid != self.roomUid.integerValue) {//
if (!self.isRequestSuperAdmin) {
@kWeakify(self);
[Api getRoomSuperAdminList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
NSArray<GuildSuperAdminInfoModel *> * array = [GuildSuperAdminInfoModel modelsWithArray:data.data];
self.superMangerList = array;
[self handleSuperManagerEnterAnchorRoom:self.roomInfo];

View File

@@ -544,7 +544,6 @@
[self createBigPrizeAnimation:prizeModel];
}
[self.animationListB addObject:prizeModel];
}
}

View File

@@ -1626,9 +1626,6 @@
"XPRoomLuckyBigPrizeView0" = "%@运气爆表!在%@ 中开出了价值 %@金币 的 %@";
"XPRoomQuickMessageContainView0" = "你发送的太频繁啦,请稍后再试";
"AnchorRoomSrollTipView0" = "向上滑动发现更多精彩房间";