贵族防被踢,隐身进房开关
This commit is contained in:
@@ -114,8 +114,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, assign) GroupType groupType;
|
||||
///
|
||||
@property (nonatomic,strong) NSArray<UserGiftWallInfoModel *> *userGiftWall;
|
||||
///是否隐身进房 0:不隐身;1:隐身
|
||||
@property (nonatomic, assign) NobleEnterHideStatus enterHide;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -17,6 +17,12 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, assign) NSInteger vipLevel;
|
||||
//用户好友昵称颜色
|
||||
@property (nonatomic, copy) NSString *friendNickColour;
|
||||
///是否防被踢
|
||||
@property (nonatomic, assign) BOOL preventKick;
|
||||
///是否隐身进房
|
||||
@property (nonatomic, assign) BOOL enterHide;
|
||||
///贵族进房特效
|
||||
@property (nonatomic, copy) NSString *enterRoomEffects;
|
||||
|
||||
@end
|
||||
|
||||
|
@@ -60,8 +60,4 @@ typedef NS_ENUM(NSInteger, LittleGamePlayStatus) {
|
||||
LittleGamePlayStatus_Plying = 3,//游戏中
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSUInteger, NobleEnterHideStatus) {
|
||||
NobleEnterHideStatus_NoHide = 0,//不隐身
|
||||
NobleEnterHideStatus_Hide = 1,//隐身
|
||||
};
|
||||
#endif /* XPEnum_h */
|
||||
|
@@ -38,6 +38,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param completion 完成
|
||||
+ (void)requestRecoveryDress:(HttpRequestHelperCompletion)completion;
|
||||
|
||||
/// 开关隐身进房
|
||||
/// @param complection 完成回调
|
||||
/// @param open 是否打开
|
||||
+ (void)changeEnterHidCompletion:(HttpRequestHelperCompletion)complection open:(NSString *)open;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -47,4 +47,11 @@
|
||||
[self makeRequest:@"vip/recoveryDress" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
|
||||
/// 开关隐身进房
|
||||
/// @param complection 完成回调
|
||||
/// @param open 是否打开
|
||||
+ (void)changeEnterHidCompletion:(HttpRequestHelperCompletion)complection open:(NSString *)open {
|
||||
[self makeRequest:@"vip/changeInvisibleInRoom" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__,open, nil];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///特权名称
|
||||
@property (nonatomic, copy) NSString *authName;
|
||||
|
||||
///特权类型:1. 铭牌 2. 头饰 3. 座驾 4. 礼物 5.资料卡 6. 财富值经验加成 7.表情 8.麦序光圈 9.麦位昵称颜色 10. 好友红名
|
||||
///特权类型:1. 铭牌 2. 头饰 3. 座驾 4. 礼物 5.资料卡 6. 财富值经验加成 7.表情 8.麦序光圈 9.麦位昵称颜色 10. 好友红名 11.房间小喇叭 12.进场特效 13 隐身进房
|
||||
@property (nonatomic, assign) NSInteger authType;
|
||||
///描述图片
|
||||
@property (nonatomic, copy) NSString *descPic;
|
||||
|
@@ -34,6 +34,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// @param transcations 凭据的数组
|
||||
- (void)checkTranscationIds:(NSArray *)transcations;
|
||||
|
||||
/// 切换隐身进房
|
||||
/// @param enterHide 隐身进房
|
||||
- (void)changeEnterHide:(BOOL)enterHide;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -85,4 +85,12 @@
|
||||
}] transcationIdStr:transcationIdStr];
|
||||
}
|
||||
|
||||
/// 切换隐身进房
|
||||
/// @param enterHide 隐身进房
|
||||
- (void)changeEnterHide:(BOOL)enterHide {
|
||||
[Api changeEnterHidCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
[[self getView] changeEnterHideSuccess];
|
||||
}] open:[NSString stringWithFormat:@"%d", enterHide]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -30,4 +30,7 @@
|
||||
///批量验证凭据成功
|
||||
- (void)checkTranscationIdsSuccess;
|
||||
|
||||
///开关隐身进房成功
|
||||
- (void)changeEnterHideSuccess;
|
||||
|
||||
@end
|
||||
|
@@ -61,6 +61,8 @@
|
||||
@property (nonatomic, strong) UIButton *openNobleButton;
|
||||
///当前用户贵族信息-开通了贵族才显示
|
||||
@property (nonatomic, strong) XPNobleCenterMyNobleView *myNobleView;
|
||||
///更新用户信息
|
||||
@property (nonatomic, assign) BOOL needUpdateUserInfo;
|
||||
|
||||
///充值-----
|
||||
@property (nonatomic, strong) NobleRechargeModel *rechargeModel;
|
||||
@@ -101,6 +103,9 @@
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self hideNavigationBar];
|
||||
if (self.needUpdateUserInfo) {
|
||||
[self.presenter getUserInfo];
|
||||
}
|
||||
}
|
||||
|
||||
- (XPNobleCenterPresenter *)createPresenter {
|
||||
@@ -171,6 +176,7 @@
|
||||
///获取用户信息成功
|
||||
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
|
||||
self.userInfo = userInfo;
|
||||
self.needUpdateUserInfo = NO;
|
||||
[self.presenter getNobleCenterInfo];
|
||||
}
|
||||
|
||||
@@ -344,6 +350,10 @@
|
||||
|
||||
- (void)xPNobleCenterNavView:(XPNobleCenterNavView *)view didClickSettingButton:(UIButton *)sender {
|
||||
XPNobleSettingViewController * settingVC =[[XPNobleSettingViewController alloc] init];
|
||||
settingVC.enterHide = self.userInfo.userVipInfoVO.enterHide;
|
||||
settingVC.didUpdateEnterHideBlock = ^{
|
||||
self.needUpdateUserInfo = YES;
|
||||
};
|
||||
[self.navigationController pushViewController:settingVC animated:YES];
|
||||
}
|
||||
|
||||
|
@@ -11,6 +11,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPNobleSettingViewController : MvpViewController
|
||||
|
||||
@property (nonatomic, assign) BOOL enterHide;
|
||||
|
||||
@property (nonatomic, copy) void(^didUpdateEnterHideBlock)(void);
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -13,8 +13,11 @@
|
||||
#import "UIButton+EnlargeTouchArea.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///P
|
||||
#import "XPNobleCenterPresenter.h"
|
||||
#import "XPNobleCenterProtocol.h"
|
||||
|
||||
@interface XPNobleSettingViewController ()<XPNobleSettingNavViewDelegate>
|
||||
@interface XPNobleSettingViewController ()<XPNobleSettingNavViewDelegate, XPNobleCenterProtocol>
|
||||
|
||||
@property (nonatomic, strong) XPNobleSettingNavView *navView;
|
||||
///标题
|
||||
@@ -26,6 +29,10 @@
|
||||
|
||||
@implementation XPNobleSettingViewController
|
||||
|
||||
- (XPNobleCenterPresenter *)createPresenter {
|
||||
return [[XPNobleCenterPresenter alloc] init];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.title = @"贵族设置";
|
||||
@@ -54,7 +61,7 @@
|
||||
make.height.mas_equalTo(kNavigationHeight);
|
||||
}];
|
||||
[self.label mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kNavigationHeight+8);
|
||||
make.top.mas_equalTo(kNavigationHeight+16);
|
||||
make.left.mas_equalTo(15);
|
||||
make.height.mas_equalTo(21);
|
||||
}];
|
||||
@@ -66,6 +73,13 @@
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - XPNobleCenterProtocol
|
||||
- (void)changeEnterHideSuccess {
|
||||
self.switchButton.selected = !self.switchButton.selected;
|
||||
if (self.didUpdateEnterHideBlock) {
|
||||
self.didUpdateEnterHideBlock();
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - XPNobleSettingNavViewDelegate
|
||||
///点击了返回按钮
|
||||
@@ -74,10 +88,15 @@
|
||||
}
|
||||
|
||||
- (void)switchButtonAction:(UIButton *)sender {
|
||||
|
||||
[self.presenter changeEnterHide:!sender.isSelected];
|
||||
}
|
||||
|
||||
#pragma mark - getter and setter
|
||||
- (void)setEnterHide:(BOOL)enterHide {
|
||||
_enterHide = enterHide;
|
||||
self.switchButton.selected = enterHide;
|
||||
}
|
||||
|
||||
#pragma mark - getter
|
||||
- (XPNobleSettingNavView *)navView {
|
||||
if (!_navView) {
|
||||
_navView = [[XPNobleSettingNavView alloc] init];
|
||||
@@ -91,7 +110,7 @@
|
||||
_label = [[UILabel alloc] init];
|
||||
_label.text = @"隐身进房";
|
||||
_label.textColor = [UIColor whiteColor];
|
||||
_label.font = [UIFont systemFontOfSize:14];
|
||||
_label.font = [UIFont systemFontOfSize:15];
|
||||
}
|
||||
return _label;
|
||||
}
|
||||
|
@@ -75,7 +75,8 @@
|
||||
extModel.fromNick = userInfo.fromNick;
|
||||
extModel.iosBubbleUrl = userInfo.iosBubbleUrl;
|
||||
extModel.androidBubbleUrl = userInfo.androidBubbleUrl;
|
||||
extModel.enterHide = userInfo.enterHide;
|
||||
extModel.enterHide = userInfo.userVipInfoVO.enterHide;
|
||||
extModel.enterRoomEffects = userInfo.userVipInfoVO.enterRoomEffects;
|
||||
|
||||
NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]];
|
||||
request.roomExt = [ext toJSONString];
|
||||
|
@@ -233,7 +233,7 @@
|
||||
NIMMessageChatroomExtension * messageExt = (NIMMessageChatroomExtension *)message.messageExt;
|
||||
NSDictionary * dic = [(NSDictionary *)messageExt.roomExt.toJSONObject objectForKey:message.from];
|
||||
XPMessageRemoteExtModel * extModel = [XPMessageRemoteExtModel modelWithJSON:dic];
|
||||
if (extModel.enterHide == NobleEnterHideStatus_Hide) {//隐身进房
|
||||
if (extModel.enterHide) {//隐身进房
|
||||
if ([message.from isEqualToString:[AccountInfoStorage instance].getUid]) {
|
||||
[self createEnterHideAnimation:dic];
|
||||
}
|
||||
@@ -344,13 +344,13 @@
|
||||
if (extModel.experLevelSeq < 30) return;
|
||||
NSString * title = [NSString stringWithFormat:@"%@进入了房间", content.source.nick];
|
||||
if (self.enterEffectQueue.count ==0) {
|
||||
[self playUserEnterRoomAnimation:title experLevelSeq:extModel.experLevelSeq];
|
||||
[self playUserEnterRoomAnimation:title experLevelSeq:extModel.experLevelSeq effectPath:extModel.enterRoomEffects];
|
||||
}
|
||||
NSDictionary * dic= @{@"title":title, @"experLevelSeq":[NSString stringWithFormat:@"%ld", extModel.experLevelSeq]};
|
||||
NSDictionary * dic= @{@"title":title, @"experLevelSeq":[NSString stringWithFormat:@"%ld", extModel.experLevelSeq], @"effectPath" : extModel.enterRoomEffects.length ? extModel.enterRoomEffects : @""};
|
||||
[self.enterEffectQueue addObject:dic];
|
||||
}
|
||||
|
||||
- (void)playUserEnterRoomAnimation:(NSString *)title experLevelSeq:(NSInteger)experLevelSeq {
|
||||
- (void)playUserEnterRoomAnimation:(NSString *)title experLevelSeq:(NSInteger)experLevelSeq effectPath:(NSString *)effectPath {
|
||||
NSString * path;
|
||||
if (experLevelSeq >= 30 && experLevelSeq <= 39) {
|
||||
path = @"svga_member_in_lv30";
|
||||
@@ -375,6 +375,21 @@
|
||||
|
||||
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:26], NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
[attribute setYy_alignment:NSTextAlignmentLeft];
|
||||
if (effectPath.length > 0) {
|
||||
@kWeakify(self);
|
||||
[self.parser parseWithURL:[NSURL URLWithString:effectPath] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
|
||||
@kStrongify(self);
|
||||
self.enterEffectView.loops = 1;
|
||||
self.enterEffectView.hidden = NO;
|
||||
self.enterEffectView.clearsAfterStop = NO;
|
||||
self.enterEffectView.alpha = 1;
|
||||
self.enterEffectView.videoItem = videoItem;
|
||||
[self.enterEffectView setAttributedText:attribute forKey:@"room_text"];
|
||||
[self.enterEffectView startAnimation];
|
||||
} failureBlock:^(NSError * _Nonnull error) {
|
||||
|
||||
}];
|
||||
} else {
|
||||
@kWeakify(self);
|
||||
[self.parser parseWithNamed:path inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
|
||||
@kStrongify(self);
|
||||
@@ -388,6 +403,7 @@
|
||||
} failureBlock:^(NSError * _Nonnull error) {
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
[UIView animateWithDuration:0.5 animations:^{
|
||||
@@ -1294,7 +1310,8 @@
|
||||
if (self.enterEffectQueue.count > 0) {
|
||||
NSString * title = [self.enterEffectQueue.firstObject objectForKey:@"title"];
|
||||
NSInteger experLevelSeq = [(NSString *)[self.enterEffectQueue.firstObject objectForKey:@"experLevelSeq"] integerValue];
|
||||
[self playUserEnterRoomAnimation:title experLevelSeq:experLevelSeq];
|
||||
NSString *effectPath = [self.enterEffectQueue.firstObject objectForKey:@"effectPath"];
|
||||
[self playUserEnterRoomAnimation:title experLevelSeq:experLevelSeq effectPath:effectPath];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -43,7 +43,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///iOS房间公屏气泡
|
||||
@property (nonatomic, copy) NSString *iosBubbleUrl;
|
||||
///是否隐身进房 0:不隐身;1:隐身
|
||||
@property (nonatomic, assign) NobleEnterHideStatus enterHide;
|
||||
@property (nonatomic, assign) BOOL enterHide;
|
||||
///进房特效
|
||||
@property (nonatomic, copy) NSString *enterRoomEffects;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -752,12 +752,12 @@
|
||||
case UserCardItemType_KickOut:
|
||||
{
|
||||
// 1、判断是否为防被踢用户
|
||||
if (self.targetUserInfo.userVipInfoVO.vipLevel > 6) {
|
||||
if (self.targetUserInfo.userVipInfoVO.preventKick) {
|
||||
//2、判断是否为管理员操作
|
||||
if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||
[self showErrorToast:@"该用户为神皇贵族,只有房主才可以踢出哦~"];
|
||||
} else {//房主操作
|
||||
NSString *message = [NSString stringWithFormat:@"该用户为神皇贵族\n确认是否要将其踢出?"];
|
||||
NSString *message = [NSString stringWithFormat:@"该用户为神皇贵族\n确认是否要将其踢出房间?"];
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = @"";
|
||||
config.message = message;
|
||||
|
@@ -247,6 +247,9 @@ UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
attachment.first = CustomMessageType_Car_Notify;
|
||||
attachment.second = Custom_Message_Sub_Car_EnterRoom;
|
||||
NSMutableDictionary *att = [NSMutableDictionary dictionary];
|
||||
if (self.userInfo.userVipInfoVO.enterHide) {///贵族隐身进房,不发座驾消息
|
||||
return;
|
||||
}
|
||||
if (self.userInfo.viewUrl.length > 0) {
|
||||
[att setValue:self.userInfo.nick forKey:@"nick"];
|
||||
[att setValue:self.userInfo.viewUrl forKey:@"viewUrl"];
|
||||
|
Reference in New Issue
Block a user