优化派对页面
This commit is contained in:
@@ -142,6 +142,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property(nonatomic,strong) UserGameInfoVo *userGamePartnerVo;
|
||||
///个人详情资料的点单游戏信息
|
||||
@property(nonatomic,strong) NSArray<UserGameInfoVo *> *userGamePartner;
|
||||
///pk时不能禁麦
|
||||
@property(nonatomic,assign) BOOL isNoProhibitMic;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -48,7 +48,7 @@ NSString * const KeyWithType(KeyType type) {
|
||||
@(KeyType_QQSecret) : @"715dd2601777347cd57af77c3e28402f",
|
||||
@(KeyType_WechatAppid) : @"wx4b772d5ebc964a38",
|
||||
@(KeyType_WechatSecret) : @"f045979c311e13725cbb9aa87c265668",
|
||||
@(KeyType_Agora) : @"f045979c311e13725cbb9aa87c265668",
|
||||
@(KeyType_Agora) : @"36c31139d7b242d98e24c865df14b272",
|
||||
@(KeyType_TRTC) : @"1400798783",
|
||||
@(KeyType_NetEase) : @"5e76ec47632d86c30ce18eabfa332b6a",
|
||||
@(KeyType_APNSCer) : @"yinyouApnsRelease",
|
||||
|
@@ -29,7 +29,7 @@
|
||||
[[self getView] getHomeRecommendRoomListSuccess:array state:state];
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] getHomeRecommendRoomListFail:msg state:state];
|
||||
}] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr];
|
||||
}showLoading:NO] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr];
|
||||
}
|
||||
|
||||
/// 获取更多的个播房间
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] getPartyRecommendDataFail];
|
||||
}] uid:uid];
|
||||
}showLoading:NO] uid:uid];
|
||||
}
|
||||
|
||||
/// 发现新朋友
|
||||
|
@@ -8,9 +8,14 @@
|
||||
#import "MvpViewController.h"
|
||||
#import <JXCategoryView/JXCategoryListContainerView.h>
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol XPHomeLittleGameViewControllerDelegate <NSObject>
|
||||
|
||||
-(void)headerRefreshComplete;
|
||||
|
||||
@end
|
||||
@interface XPHomeLittleGameViewController : MvpViewController<JXCategoryListContentViewDelegate>
|
||||
|
||||
@property(nonatomic,weak) id<XPHomeLittleGameViewControllerDelegate>delegate;
|
||||
- (void)headerRefresh;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -71,12 +71,7 @@
|
||||
}
|
||||
|
||||
- (void)initHeaderAndFooterRrfresh {
|
||||
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
header.lastUpdatedTimeLabel.textColor = [ThemeColor secondTextColor];
|
||||
self.tableView.mj_header = header;
|
||||
|
||||
|
||||
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
|
||||
footer.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
@@ -147,7 +142,10 @@
|
||||
if (state == 0) {
|
||||
self.hasNoMoreData = NO;
|
||||
[self.datasource removeAllObjects];
|
||||
[self.tableView.mj_header endRefreshing];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(headerRefreshComplete)]){
|
||||
[self.delegate headerRefreshComplete];
|
||||
}
|
||||
|
||||
} else {
|
||||
[self.tableView.mj_footer endRefreshing];
|
||||
}
|
||||
@@ -162,7 +160,9 @@
|
||||
|
||||
- (void)getHomeLittleGameRoomListFail:(NSString *)message state:(int)state {
|
||||
if (state) {
|
||||
[self.tableView.mj_header endRefreshing];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(headerRefreshComplete)]){
|
||||
[self.delegate headerRefreshComplete];
|
||||
}
|
||||
} else {
|
||||
[self.tableView.mj_footer endRefreshing];
|
||||
}
|
||||
|
@@ -7,12 +7,21 @@
|
||||
|
||||
#import "MvpViewController.h"
|
||||
|
||||
@protocol XPPartyListViewControllerDelegate <NSObject>
|
||||
|
||||
-(void)headerRefreshComplete;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPPartyListViewController : MvpViewController
|
||||
|
||||
///模块的 ID
|
||||
@property (nonatomic,copy) NSString *tabId;
|
||||
@property(nonatomic,weak) id<XPPartyListViewControllerDelegate>delegate;
|
||||
- (void)headerRefresh;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -38,7 +38,7 @@
|
||||
/// 没有新的数据了
|
||||
@property (nonatomic,assign) BOOL hasNoMoreData;
|
||||
|
||||
@property (nonatomic, assign) BOOL hadLoad;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -61,20 +61,11 @@
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
if (!self.hadLoad) {
|
||||
self.hadLoad = YES;
|
||||
[XCHUDTool showAnchorLoading];
|
||||
}
|
||||
[self headerRefresh];
|
||||
}
|
||||
|
||||
- (void)initHeaderAndFooterRrfresh {
|
||||
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
header.lastUpdatedTimeLabel.textColor = [ThemeColor secondTextColor];
|
||||
self.collectionView.mj_header = header;
|
||||
|
||||
|
||||
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
|
||||
footer.stateLabel.textColor = [ThemeColor secondTextColor];
|
||||
@@ -84,6 +75,7 @@
|
||||
}
|
||||
|
||||
#pragma mark - 刷新的fangfa
|
||||
|
||||
- (void)headerRefresh {
|
||||
if ([self.tabId isEqualToString:@"recommend"]) {
|
||||
[self.presenter getPartyRecommendRoomList];
|
||||
@@ -134,7 +126,10 @@
|
||||
if (state == 0) {
|
||||
self.hasNoMoreData = NO;
|
||||
[self.dataSource removeAllObjects];
|
||||
[self.collectionView.mj_header endRefreshing];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(headerRefreshComplete)]){
|
||||
[self.delegate headerRefreshComplete];
|
||||
}
|
||||
|
||||
} else {
|
||||
[self.collectionView.mj_footer endRefreshing];
|
||||
}
|
||||
@@ -153,7 +148,11 @@
|
||||
}
|
||||
- (void)getHomeRecommendRoomListFail:(NSString *)message state:(BOOL)state {
|
||||
if (state == 0) {
|
||||
[self.collectionView.mj_header endRefreshing];
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(headerRefreshComplete)]){
|
||||
[self.delegate headerRefreshComplete];
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
[self.collectionView.mj_footer endRefreshing];
|
||||
}
|
||||
@@ -165,7 +164,11 @@
|
||||
[self.dataSource removeAllObjects];
|
||||
[self.dataSource addObjectsFromArray:list];
|
||||
[self.collectionView reloadData];
|
||||
[self.collectionView.mj_header endRefreshing];
|
||||
|
||||
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(headerRefreshComplete)]){
|
||||
[self.delegate headerRefreshComplete];
|
||||
}
|
||||
[self.collectionView.mj_footer endRefreshing];
|
||||
[XCHUDTool hideHUD];
|
||||
}
|
||||
|
@@ -33,7 +33,7 @@
|
||||
#import "HomeTagModel.h"
|
||||
#import "HomePlayRoomModel.h"
|
||||
|
||||
@interface XPPartyViewController ()<JXCategoryViewDelegate,JXPagerViewDelegate,XPHomeContainerProtocol,XPPartyHeaderViewDelegate>
|
||||
@interface XPPartyViewController ()<JXCategoryViewDelegate,JXPagerViewDelegate,XPHomeContainerProtocol,XPPartyHeaderViewDelegate,XPPartyListViewControllerDelegate,XPHomeLittleGameViewControllerDelegate>
|
||||
{
|
||||
NSTimer * timer;
|
||||
}
|
||||
@@ -49,7 +49,7 @@
|
||||
@property (nonatomic,copy) NSArray<HomeTagModel *> *tagList;
|
||||
///青少年空白view
|
||||
@property (nonatomic, strong) XPTeenagerHomeView *teenagerView;
|
||||
|
||||
@property(nonatomic,assign) NSInteger selectedIndex;
|
||||
@end
|
||||
|
||||
@implementation XPPartyViewController
|
||||
@@ -79,6 +79,8 @@
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.selectedIndex = 0;
|
||||
[self initHttp];
|
||||
[self initSubViews];
|
||||
[self addTimer];
|
||||
[self initHeaderAndFooterRrfresh];
|
||||
@@ -105,12 +107,26 @@
|
||||
[self headerRefresh];
|
||||
} userInfo:nil repeats:YES];
|
||||
}
|
||||
|
||||
#pragma mark - InitHttp
|
||||
- (void)headerRefresh {
|
||||
- (void)initHttp {
|
||||
if (_parentMode) return;
|
||||
[self.presenter getHomeTagList];
|
||||
[self requestBanner];
|
||||
|
||||
}
|
||||
#pragma mark - InitHttp
|
||||
- (void)headerRefresh {
|
||||
if (_parentMode) return;
|
||||
HomeTagModel *tag = [self.tagList safeObjectAtIndex1:self.selectedIndex];
|
||||
if ([tag.name isEqualToString:@"小游戏"]) {
|
||||
|
||||
XPHomeLittleGameViewController<JXPagerViewListViewDelegate> * homeV = (XPHomeLittleGameViewController<JXPagerViewListViewDelegate> *)[self.pagingView.validListDict objectForKey:[NSNumber numberWithInteger:self.selectedIndex]];
|
||||
|
||||
[homeV headerRefresh];
|
||||
} else {
|
||||
XPPartyListViewController<JXPagerViewListViewDelegate> * homeV = (XPPartyListViewController<JXPagerViewListViewDelegate> *)[self.pagingView.validListDict objectForKey:[NSNumber numberWithInteger:self.selectedIndex]];
|
||||
[homeV headerRefresh];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void)initHeaderAndFooterRrfresh {
|
||||
@@ -123,6 +139,8 @@
|
||||
}
|
||||
|
||||
- (void)requestBanner {
|
||||
self.pagingView.hidden = YES;
|
||||
[self showAnchorLoading];
|
||||
NSString * uid = [AccountInfoStorage instance].getUid;
|
||||
[Api homePlayGameTeam:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
if (code == 200) {
|
||||
@@ -135,7 +153,9 @@
|
||||
}
|
||||
}
|
||||
[self hideHUD];
|
||||
self.pagingView.hidden = NO;
|
||||
[self.pagingView reloadData];
|
||||
[self.pagingView resizeTableHeaderViewHeightWithAnimatable:NO duration:0 curve:0];
|
||||
}else{
|
||||
|
||||
}
|
||||
@@ -146,20 +166,17 @@
|
||||
- (void)initSubViews {
|
||||
self.view.backgroundColor = UIColor.whiteColor;
|
||||
[self.view addSubview:self.pagingView];
|
||||
|
||||
[self.pagingView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.bottom.equalTo(self.view);
|
||||
make.top.mas_equalTo(kStatusBarHeight);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)viewDidLayoutSubviews {
|
||||
[super viewDidLayoutSubviews];
|
||||
CGRect frame = self.view.bounds;
|
||||
frame.origin.y = kStatusBarHeight;
|
||||
frame.size.height = frame.size.height - frame.origin.y;
|
||||
self.pagingView.frame = frame;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - XPHomeContainerProtocol
|
||||
- (void)getHomeTagListSuccess:(NSArray<HomeTagModel *> *)array {
|
||||
[self.pagingView.mainTableView.mj_header endRefreshing];
|
||||
|
||||
NSMutableArray<HomeTagModel *> *tempArr = [array mutableCopy];
|
||||
if (tempArr) {
|
||||
HomeTagModel *recommend = [[HomeTagModel alloc] init];
|
||||
@@ -178,7 +195,10 @@
|
||||
self.titleView.titles = self.titles;
|
||||
[self.titleView reloadData];
|
||||
}
|
||||
|
||||
#pragma mark- XPPartyListViewControllerDelegate
|
||||
- (void)headerRefreshComplete{
|
||||
[self.pagingView.mainTableView.mj_header endRefreshing];
|
||||
}
|
||||
#pragma mark - XPPartyHeaderViewDelegate
|
||||
/// 点击banner
|
||||
- (void)partyHeaderViewClickBanner:(HomeBannerInfoModel *)banner {
|
||||
@@ -230,14 +250,18 @@
|
||||
HomeTagModel *tag = [self.tagList safeObjectAtIndex1:index];
|
||||
if ([tag.name isEqualToString:@"小游戏"]) {
|
||||
XPHomeLittleGameViewController * likeVC = [[XPHomeLittleGameViewController alloc] init];
|
||||
likeVC.delegate = self;
|
||||
return (id <JXPagerViewListViewDelegate>)likeVC;
|
||||
} else {
|
||||
XPPartyListViewController *listVC = [[XPPartyListViewController alloc] init];
|
||||
listVC.tabId = tag.tid;
|
||||
listVC.delegate = self;
|
||||
return (id <JXPagerViewListViewDelegate>)listVC;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index{
|
||||
self.selectedIndex = index;
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
|
||||
|
@@ -148,15 +148,15 @@
|
||||
}
|
||||
-(void)resumeTimer{
|
||||
if(self.giftEffectTimer != nil){
|
||||
dispatch_resume(self.giftEffectTimer);
|
||||
dispatch_cancel(self.giftEffectTimer);
|
||||
self.giftEffectTimer = nil;
|
||||
}
|
||||
if(self.luckyprizeTimer != nil){
|
||||
dispatch_resume(self.luckyprizeTimer);
|
||||
dispatch_cancel(self.luckyprizeTimer);
|
||||
self.luckyprizeTimer = nil;
|
||||
}
|
||||
if(self.giftTimer != nil){
|
||||
dispatch_resume(self.giftTimer);
|
||||
dispatch_cancel(self.giftTimer);
|
||||
self.giftTimer = nil;
|
||||
}
|
||||
}
|
||||
|
@@ -609,7 +609,9 @@
|
||||
micModel.userInfo.groupType = GroupType_default;
|
||||
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
|
||||
request.key = [NSString stringWithFormat:@"%d", micModel.microState.position];
|
||||
request.value = [[self userInfoToQueueExt:micModel.userInfo] toJSONString];
|
||||
NSMutableDictionary *curUserInfo = [[NSMutableDictionary alloc]initWithDictionary:[self userInfoToQueueExt:micModel.userInfo]];
|
||||
[curUserInfo setValue:@(YES) forKey:@"isNoProhibitMic"];
|
||||
request.value = [curUserInfo toJSONString];
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", self.roomInfo.roomId];
|
||||
request.roomId = roomId;
|
||||
request.transient = YES;
|
||||
@@ -797,6 +799,7 @@
|
||||
[data removeObjectForKey:@"userUrl"];
|
||||
[data removeObjectForKey:@"isSelect"];
|
||||
[data removeObjectForKey:@"isEnableChoose"];
|
||||
[data setValue:@(YES) forKey:@"isNoProhibitMic"];
|
||||
[dic setValue:data forKey:model.uid];
|
||||
}
|
||||
|
||||
@@ -811,6 +814,7 @@
|
||||
[data removeObjectForKey:@"userUrl"];
|
||||
[data removeObjectForKey:@"isSelect"];
|
||||
[data removeObjectForKey:@"isEnableChoose"];
|
||||
[data setValue:@(YES) forKey:@"isNoProhibitMic"];
|
||||
[dic setValue:data forKey:model.uid];
|
||||
}
|
||||
|
||||
|
@@ -88,8 +88,8 @@
|
||||
self.duraTime = 30;
|
||||
self.voteType = RoomPKVoteModeType_GiftValue;
|
||||
NSArray * array = self.hostDelegate.getRoomPKGroupTeamList;
|
||||
self.redUserArray = [array safeObjectAtIndex1:0];
|
||||
self.blueUserArray = [array safeObjectAtIndex1:1];
|
||||
self.redUserArray = [NSMutableArray arrayWithArray:[array safeObjectAtIndex1:0]];
|
||||
self.blueUserArray = [NSMutableArray arrayWithArray:[array safeObjectAtIndex1:1]];
|
||||
for (RoomPKChooseUserModel * userInfo in self.redUserArray) {
|
||||
userInfo.groupType = GroupType_default;
|
||||
}
|
||||
@@ -271,9 +271,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < self.redUserArray.count; i++) {
|
||||
RoomPKChooseUserModel * userInfo = [self.redUserArray safeObjectAtIndex1:i];
|
||||
NSMutableArray *redArray = [[NSMutableArray alloc]initWithArray:self.redUserArray];
|
||||
for (int i = 0; i < redArray.count; i++) {
|
||||
RoomPKChooseUserModel * userInfo = [redArray safeObjectAtIndex1:i];
|
||||
if (i < self.redTeamViews.count) {
|
||||
XPRoomPKUserView * userView = [self.redTeamViews safeObjectAtIndex1:i];
|
||||
if (userInfo.groupType == GroupType_Red) {
|
||||
@@ -284,14 +284,16 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < self.blueUserArray.count; i++) {
|
||||
RoomPKChooseUserModel * userInfo = [self.blueUserArray safeObjectAtIndex1:i];
|
||||
NSMutableArray *blueUserArray = [[NSMutableArray alloc]initWithArray:self.blueUserArray];
|
||||
for (int i = 0; i < blueUserArray.count; i++) {
|
||||
RoomPKChooseUserModel * userInfo = [blueUserArray safeObjectAtIndex1:i];
|
||||
if (i < self.blueTeamViews.count) {
|
||||
XPRoomPKUserView * userView = [self.blueTeamViews safeObjectAtIndex1:i];
|
||||
if (userInfo.groupType == GroupType_Blue) {
|
||||
userView.userInfo = userInfo;
|
||||
} else {
|
||||
userView.userInfo = nil;
|
||||
|
||||
[self.blueUserArray removeObject:userInfo];
|
||||
}
|
||||
}
|
||||
|
@@ -205,7 +205,9 @@
|
||||
return;
|
||||
}
|
||||
NSString* roomId = [NSString stringWithFormat:@"%ld", roomInfo.roomId];
|
||||
request.value = [[self userInfoToQueueExt:userInfo] toJSONString];
|
||||
NSMutableDictionary *curUserInfo = [[NSMutableDictionary alloc]initWithDictionary:[self userInfoToQueueExt:userInfo]];
|
||||
[curUserInfo setValue:@(YES) forKey:@"isNoProhibitMic"];
|
||||
request.value = [curUserInfo toJSONString];
|
||||
request.roomId = roomId;
|
||||
request.transient = YES;
|
||||
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
|
||||
|
@@ -592,7 +592,7 @@
|
||||
} roomUid:roomUid micUid:uid position:position uid:uid];
|
||||
}
|
||||
//如果是当前用户上麦,关闭自己的麦克风
|
||||
if (sequence && sequence.userInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
|
||||
if (sequence && sequence.userInfo.uid == [AccountInfoStorage instance].getUid.integerValue && userInfo.isNoProhibitMic == NO) {
|
||||
[RtcManager instance].localMuted = YES;
|
||||
}
|
||||
}
|
||||
@@ -723,7 +723,9 @@
|
||||
userInfo.groupType = pkUserInfo.groupType;
|
||||
NIMChatroomQueueUpdateRequest *request = [[NIMChatroomQueueUpdateRequest alloc]init];
|
||||
request.key = position;
|
||||
request.value = [[self userInfoToQueueExt:userInfo] toJSONString];
|
||||
NSMutableDictionary *curUserInfo = [[NSMutableDictionary alloc]initWithDictionary:[self userInfoToQueueExt:userInfo]];
|
||||
[curUserInfo setValue:@(YES) forKey:@"isNoProhibitMic"];
|
||||
request.value = [curUserInfo toJSONString];
|
||||
request.roomId = roomId;
|
||||
request.transient = YES;
|
||||
[[NIMSDK sharedSDK].chatroomManager updateChatroomQueueObject:request completion:^(NSError * _Nullable error) {
|
||||
|
@@ -497,6 +497,7 @@ NSString * const kOpenNativeTarotPay = @"openNativeTarotPay";
|
||||
topicVC.worldId = topicId;
|
||||
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:topicVC animated:YES];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user