青少年模式隐藏部分功能

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

@@ -19,6 +19,7 @@
///View
#import "XPSessionFindNewViewController.h"
#import "TTPopUp.h"
#import "XPTeenagerHomeView.h"
NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
@@ -44,9 +45,13 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
@property (nonatomic, assign) SessionListOpenType openType;
///
@property (nonatomic,strong) UserInfoModel *userInfo;
///view
@property (nonatomic, strong) XPTeenagerHomeView *teenagerView;
@end
@implementation SessionListViewController
@synthesize parentMode = _parentMode;
- (void)dealloc {
[[NIMSDK sharedSDK].conversationManager removeDelegate:self];
@@ -57,6 +62,28 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
return YES;
}
- (void)setParentMode:(BOOL)parentMode {
_parentMode = parentMode;
if (parentMode) {
if (!self.teenagerView.superview) {
[self.view addSubview:self.teenagerView];
[self.teenagerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
}
[self setTabBarItemBadge:0];
} else {
[self.teenagerView removeFromSuperview];
__block int unreadCount = 0;
NSMutableArray<NSString *> * uids = [[NSMutableArray alloc] init];
[self.recentSessions enumerateObjectsUsingBlock:^(NIMRecentSession * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
[uids addObject:obj.session.sessionId];
unreadCount += obj.unreadCount;
}];
[self setTabBarItemBadge:unreadCount];
}
}
- (instancetype)initWithType:(SessionListOpenType)type {
self = [self init];
if (self) {
@@ -335,6 +362,10 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
}
- (void)setTabBarItemBadge:(NSInteger)value {
if (self.parentMode) {
[self.tabBarItem setBadgeValue:0];
return;
}
if (value > 0) {
[self.tabBarItem setBadgeValue:[NSString stringWithFormat:@"%ld", value]];
} else {
@@ -409,4 +440,11 @@ NSString * const kMessageShowReadDotKey = @"kMessageShowReadDotKey";
return _allReadButton;
}
- (XPTeenagerHomeView *)teenagerView {
if (!_teenagerView) {
_teenagerView = [[XPTeenagerHomeView alloc] init];
}
return _teenagerView;
}
@end