个播房坑位权限、礼物值显示隐藏、切换房间类型逻辑修改
This commit is contained in:
@@ -115,6 +115,8 @@ typedef NS_ENUM(NSInteger, RoomDatingStateChangeType) {
|
||||
@property (nonatomic,assign) NSInteger blindDateVipUid;
|
||||
///本地的字段 判断当前模式是否从相亲切换 关闭或者开启
|
||||
@property (nonatomic,assign) RoomDatingStateChangeType datingState;
|
||||
///是否切换了房间类型(本地字段)
|
||||
@property (nonatomic, assign) BOOL hadChangeRoomType;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -113,7 +113,7 @@
|
||||
}
|
||||
if (roomInfo.type == RoomType_Anchor) {
|
||||
[self.contributionButton setTitle:@"主播榜" forState:UIControlStateNormal];
|
||||
self.anchorGiftValueView.hidden = NO;
|
||||
self.anchorGiftValueView.hidden = !roomInfo.showGiftValue;
|
||||
} else {
|
||||
[self.contributionButton setTitle:@"房间榜" forState:UIControlStateNormal];
|
||||
self.anchorGiftValueView.hidden = YES;
|
||||
|
@@ -155,32 +155,30 @@
|
||||
[[NIMSDK sharedSDK].chatroomManager fetchChatroomMembersByIds:request completion:^(NSError * _Nullable error, NSArray<NIMChatroomMember *> * _Nullable members) {
|
||||
NIMChatroomMember * member = members.firstObject;
|
||||
if (!member) return;
|
||||
// 2.0.0 锁麦/解锁
|
||||
NSString * lockTitle = micModel.microState.posState == MicroPosStateType_Free ? @"锁麦" : @"解锁";
|
||||
TTActionSheetConfig *lockMic = [TTActionSheetConfig normalTitle:lockTitle clickAction:^{
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
NSString * state = micModel.microState.posState == MicroPosStateType_Free ? @"1" : @"0";
|
||||
NSString * ticket = [[AccountInfoStorage instance] getTicket];
|
||||
NSString * uid = [[AccountInfoStorage instance] getUid];
|
||||
[Api microLockCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
} roomUid:roomUid state:state position:position ticket:ticket uid:uid];
|
||||
}];
|
||||
// 2.0.1 闭麦/开麦
|
||||
NSString * muteTitle = micModel.microState.micState == MicroMicStateType_Open ? @"闭麦" : @"开麦";
|
||||
TTActionSheetConfig *muteMic = [TTActionSheetConfig normalTitle:muteTitle clickAction:^{
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
NSString * state = micModel.microState.micState == MicroMicStateType_Open ? @"1" : @"0";
|
||||
NSString * ticket = [[AccountInfoStorage instance] getTicket];
|
||||
NSString * uid = [[AccountInfoStorage instance] getUid];
|
||||
[Api microMuteCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
} roomUid:roomUid state:state position:position ticket:ticket uid:uid];
|
||||
}];
|
||||
// 2.1 房主点击了空麦位
|
||||
if (member.type == NIMTeamMemberTypeOwner) {
|
||||
// 2.1.2 锁麦/解锁
|
||||
NSString * lockTitle = micModel.microState.posState == MicroPosStateType_Free ? @"锁麦" : @"解锁";
|
||||
TTActionSheetConfig *lockMic = [TTActionSheetConfig normalTitle:lockTitle clickAction:^{
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
NSString * state = micModel.microState.posState == MicroPosStateType_Free ? @"1" : @"0";
|
||||
NSString * ticket = [[AccountInfoStorage instance] getTicket];
|
||||
NSString * uid = [[AccountInfoStorage instance] getUid];
|
||||
[Api microLockCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
} roomUid:roomUid state:state position:position ticket:ticket uid:uid];
|
||||
}];
|
||||
|
||||
// 2.1.3 闭麦/开麦
|
||||
NSString * muteTitle = micModel.microState.micState == MicroMicStateType_Open ? @"闭麦" : @"开麦";
|
||||
TTActionSheetConfig *muteMic = [TTActionSheetConfig normalTitle:muteTitle clickAction:^{
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.hostDelegate.getRoomInfo.uid];
|
||||
NSString * state = micModel.microState.micState == MicroMicStateType_Open ? @"1" : @"0";
|
||||
NSString * ticket = [[AccountInfoStorage instance] getTicket];
|
||||
NSString * uid = [[AccountInfoStorage instance] getUid];
|
||||
[Api microMuteCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
} roomUid:roomUid state:state position:position ticket:ticket uid:uid];
|
||||
}];
|
||||
|
||||
// 抱Ta上麦
|
||||
TTActionSheetConfig *inviteMic = [TTActionSheetConfig normalTitle:@"抱Ta上麦" clickAction:^{
|
||||
XPRoomInviteUserViewController * inviteUserMicVC = [[XPRoomInviteUserViewController alloc] init];
|
||||
@@ -191,6 +189,8 @@
|
||||
}];
|
||||
|
||||
[TTPopup actionSheetWithItems:@[inviteMic, lockMic, muteMic]];
|
||||
} else if (member.type == NIMTeamMemberTypeManager) {//管理员点击了空麦位
|
||||
[TTPopup actionSheetWithItems:@[lockMic, muteMic]];
|
||||
} else {
|
||||
// 2.2 非房主点击了空麦位
|
||||
NSString* selfUid = [NSString stringWithFormat:@"%ld", (long)self.hostDelegate.getUserInfo.uid];
|
||||
|
@@ -190,30 +190,47 @@
|
||||
@strongify(self);
|
||||
NIMChatroomMember * member = x;
|
||||
if (member == nil) {return;}
|
||||
if (member.type == NIMTeamMemberTypeOwner || member.type == NIMChatroomMemberTypeManager) {
|
||||
if (userInfo.roomInfo.leaveMode && userInfo.uid.integerValue == userInfo.roomInfo.uid && [userInfo.position isEqualToString:@"-1"]) {
|
||||
[array addObject:muteItem];
|
||||
if (userInfo.roomInfo.type != RoomType_Anchor) {//个播房房主自己不能自行下麦
|
||||
if (userInfo.roomInfo.type == RoomType_Anchor) {///个播房点击自己
|
||||
if (member.type == NIMTeamMemberTypeOwner) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:lockItem];
|
||||
[array addObject:giftValueItem];
|
||||
} else if(member.type == NIMTeamMemberTypeManager) {
|
||||
[array addObject:muteItem];
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
[array addObject:lockItem];
|
||||
} else {
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:upDownItem];
|
||||
if (![userInfo.position isEqualToString:@"999"]) {
|
||||
[array addObject:lockItem];
|
||||
}
|
||||
[array addObject:giftValueItem];
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
[array addObject:lockItem];
|
||||
} else {
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (member.type == NIMTeamMemberTypeOwner || member.type == NIMChatroomMemberTypeManager) {
|
||||
if (userInfo.roomInfo.leaveMode && userInfo.uid.integerValue == userInfo.roomInfo.uid && [userInfo.position isEqualToString:@"-1"]) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:upDownItem];
|
||||
[array addObject:lockItem];
|
||||
[array addObject:giftValueItem];
|
||||
} else {
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:upDownItem];
|
||||
if (![userInfo.position isEqualToString:@"999"]) {
|
||||
[array addObject:lockItem];
|
||||
}
|
||||
[array addObject:giftValueItem];
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
}
|
||||
[[self getView] onGetMicroFunctionArraySuccess:array];
|
||||
}];
|
||||
} else {///不是自己看自己
|
||||
@@ -243,31 +260,36 @@
|
||||
[[self rac_queryChatRoomMember:targetUid roomId:roomId] subscribeNext:^(id _Nullable x) {
|
||||
NIMChatroomMember * targetMember = x;
|
||||
if (targetMember == nil) {return;}
|
||||
if (targetMember.type == NIMTeamMemberTypeOwner || targetMember.type == NIMChatroomMemberTypeManager) {
|
||||
if (userInfo.position.length > 0) {
|
||||
if (!micQueue.userInfo.vipMic) {
|
||||
[array addObject:lockItem];
|
||||
}
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
} else {///目标者是普通用户
|
||||
if (userInfo.position.length > 0) {
|
||||
if (micQueue.userInfo.vipMic) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:giftValueItem];
|
||||
} else {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:upDownItem];
|
||||
[array addObject:lockItem];
|
||||
if (userInfo.roomInfo.type != RoomType_Anchor) {//非个播房显示清除礼物值
|
||||
if (userInfo.roomInfo.type == RoomType_Anchor) {//个播模式
|
||||
if (userInfo.position.length > 0) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:lockItem];
|
||||
}
|
||||
} else {
|
||||
if (targetMember.type == NIMTeamMemberTypeOwner || targetMember.type == NIMChatroomMemberTypeManager) {
|
||||
if (userInfo.position.length > 0) {
|
||||
if (!micQueue.userInfo.vipMic) {
|
||||
[array addObject:lockItem];
|
||||
}
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
} else {///目标者是普通用户
|
||||
if (userInfo.position.length > 0) {
|
||||
if (micQueue.userInfo.vipMic) {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:giftValueItem];
|
||||
} else {
|
||||
[array addObject:muteItem];
|
||||
[array addObject:upDownItem];
|
||||
[array addObject:lockItem];
|
||||
[array addObject:giftValueItem];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
[array addObject:upDownItem];
|
||||
}
|
||||
}
|
||||
}
|
||||
[[self getView] onGetMicroFunctionArraySuccess:array];
|
||||
}];
|
||||
}
|
||||
|
@@ -689,7 +689,8 @@
|
||||
[self.presenter kickDownMicro:self.cardInfo.position roomId:roomId];
|
||||
} else {
|
||||
self.operaStackView.hidden = YES;
|
||||
[self.presenter getRoomMicroItems:9 cardInfo:self.cardInfo];
|
||||
int micCount = self.cardInfo.roomInfo.type == RoomType_Anchor ? 4 : 9;
|
||||
[self.presenter getRoomMicroItems:micCount cardInfo:self.cardInfo];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@@ -219,21 +219,17 @@ UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[SocialStageView alloc] initWithDelegate:self];
|
||||
} else {
|
||||
if (self.roomInfo.type == RoomType_Anchor) {
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[AnchorStageView alloc] initWithDelegate:self];
|
||||
} else if(self.roomInfo.type == RoomType_Game) {
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[SocialStageView alloc] initWithDelegate:self];
|
||||
} else {
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[SocialStageView alloc] initWithDelegate:self];
|
||||
}
|
||||
}
|
||||
} else if (self.roomInfo.type == RoomType_Anchor && ![self.stageView isKindOfClass:[AnchorStageView class]]) {
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[AnchorStageView alloc] initWithDelegate:self];
|
||||
} else if(self.roomInfo.hadChangeRoomType && ![self.stageView isKindOfClass:[SocialStageView class]]) {
|
||||
[self.stageView removeFromSuperview];
|
||||
self.stageView = nil;
|
||||
self.stageView = [[SocialStageView alloc] initWithDelegate:self];
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
if (!self.stageView.superview) {
|
||||
[self.view insertSubview:self.stageView aboveSubview:self.roomHeaderView];
|
||||
}
|
||||
@@ -419,7 +415,10 @@ UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
} else {
|
||||
newRoomInfo.datingState = RoomDatingStateChangeType_Normal;
|
||||
}
|
||||
//房间类型是否变更了(从个播->普通,个播->小游戏等)
|
||||
newRoomInfo.hadChangeRoomType = self.roomInfo.type != newRoomInfo.type;
|
||||
self.roomInfo = newRoomInfo;
|
||||
[self.backContainerView onRoomUpdate];
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
[self.stageView onRoomUpdate];
|
||||
[self.menuContainerView onRoomUpdate];
|
||||
|
Reference in New Issue
Block a user