青少年模式隐藏部分功能

This commit is contained in:
chenguilong
2022-09-27 15:07:31 +08:00
parent 49a77fa182
commit 49f8c6f86c
23 changed files with 464 additions and 11 deletions

View File

@@ -99,6 +99,8 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
@property (nonatomic, strong) XPTaskCompleteTipView *taskTipView;
///
@property (nonatomic,weak) id<RoomHostDelegate>delegate;
///
@property (nonatomic, assign) BOOL parentMode;
@end
@@ -123,6 +125,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showNewUserRecharge) name:kNewUserRechargeKey object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showAnchorCardKey:) name:kTabShowAnchorCardKey object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(teenagerStatusChange:) name:kTeenagerStatusChange object:nil];
}
- (void)viewWillAppear:(BOOL)animated {
@@ -143,7 +146,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
if (self.needShowNewUserRecharge) {
if (self.needShowNewUserRecharge && !self.parentMode) {
self.needShowNewUserRecharge = NO;
XPNewUserRechargeViewController *vc = [[XPNewUserRechargeViewController alloc] initWithNavigation:self.selectedViewController.navigationController];
vc.hadAnimate = YES;
@@ -157,7 +160,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
});
}
if (self.needShowAnchorCard && !self.delayShowAnchorCard) {
if (self.needShowAnchorCard && !self.delayShowAnchorCard && !self.parentMode) {
[self.presenter getAnchorCardInfo];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:kHadLaunchApp];///
[[NSUserDefaults standardUserDefaults] synchronize];
@@ -213,10 +216,14 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
[self showTeenagerAlertView:userInfo];
[self monentsUnReadCount];
self.parentMode = userInfo.parentMode;
for (BaseViewController *vc in self.viewControllers) {
vc.parentMode = self.parentMode;
}
}
- (void)checkInviteUserInfoSuccess:(InviteUserInfoModel *)inviteInfo {
if (inviteInfo && inviteInfo.isInRoom) {
if (inviteInfo && inviteInfo.isInRoom && !self.parentMode) {
[XPRoomViewController openRoom:inviteInfo.roomUid fromNick:inviteInfo.inviteNick fromType:inviteInfo.fromType fromUid:inviteInfo.inviteUid viewController:self];
} else { //
///
@@ -242,6 +249,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
- (void)getShortCutRecommendRoomSuccces:(NSString *)roomUid {
if (self.parentMode) {
return;
}
if (roomUid.length > 0) {
[XPRoomViewController openRoom:roomUid viewController:self];
}
@@ -264,6 +274,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
///
- (void)getAnchorCardInfoSuccess:(XPTabAnchorCardModel *)cardInfo {
if (self.parentMode) {
return;
}
if (!self.anchorCardView.superview && cardInfo && self.isViewLoaded && self.view.window) {
self.anchorCardView.frame = CGRectMake(0, -90-kStatusBarHeight, KScreenWidth, 90);
[UIView animateWithDuration:0.5 animations:^{
@@ -346,6 +359,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
#pragma mark - NIMChatManagerDelegate
- (void)onRecvMessages:(NSArray<NIMMessage *> *)messages {
if (self.parentMode) {
return;
}
for (NIMMessage * message in messages) {
if (message.session.sessionType == NIMSessionTypeP2P) {
if(message.messageType == NIMMessageTypeCustom) {
@@ -544,6 +560,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
#pragma mark -NIMSystemNotificationManagerDelegate
- (void)onReceiveCustomSystemNotification:(NIMCustomSystemNotification *)notification {
if (self.parentMode) {
return;
}
if (notification.receiverType == NIMSessionTypeP2P) {
if (notification.content != nil) {
NSData *jsonData = [notification.content dataUsingEncoding:NSUTF8StringEncoding];
@@ -582,6 +601,9 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
}
- (void)receiveNobleLevelUp:(NSDictionary *)data {
if (self.parentMode) {
return;
}
XPNobleUpgradeLevelView *view = [[XPNobleUpgradeLevelView alloc] initWithFrame:CGRectMake(0, 0, 300, 285 + 22 + 44)];
NobleLevelUpModel *receiveInfo = [NobleLevelUpModel modelWithDictionary:data[@"data"]];
view.levelUpInfo = receiveInfo;
@@ -606,6 +628,15 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
return [[NSUserDefaults standardUserDefaults] valueForKey:kHadLaunchApp];
}
///
- (void)teenagerStatusChange:(NSNotification *)noti {
NSDictionary * dic = noti.object;
self.parentMode = [[dic objectForKey:@"parentMode"] boolValue];
for (BaseViewController *vc in self.viewControllers) {
vc.parentMode = self.parentMode;
}
}
- (BOOL)canShowAnchorCard {
if ([[XPRoomMiniManager shareManager] getRoomInfo]) {//
return NO;