diff --git a/xplan-ios/Main/Room/Presenter/XPRoomPresenter.m b/xplan-ios/Main/Room/Presenter/XPRoomPresenter.m index fa60ba19..c35240a7 100644 --- a/xplan-ios/Main/Room/Presenter/XPRoomPresenter.m +++ b/xplan-ios/Main/Room/Presenter/XPRoomPresenter.m @@ -83,6 +83,7 @@ extModel.enterRoomEffects = userInfo.userVipInfoVO.enterRoomEffects; extModel.gender = userInfo.gender; extModel.fromSayHelloChannel = userInfo.fromSayHelloChannel; + extModel.platformRole = userInfo.platformRole; NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]]; request.roomExt = [ext toJSONString]; diff --git a/xplan-ios/Main/Room/View/MessageContainerView/Model/XPMessageRemoteExtModel.h b/xplan-ios/Main/Room/View/MessageContainerView/Model/XPMessageRemoteExtModel.h index 15449ec0..70c1f7c5 100644 --- a/xplan-ios/Main/Room/View/MessageContainerView/Model/XPMessageRemoteExtModel.h +++ b/xplan-ios/Main/Room/View/MessageContainerView/Model/XPMessageRemoteExtModel.h @@ -52,6 +52,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) GenderType gender; ///是否符合渠道打招呼 @property (nonatomic,assign) BOOL fromSayHelloChannel; +/// 0 普通 1超管 +@property (nonatomic,assign) NSInteger platformRole; @end NS_ASSUME_NONNULL_END diff --git a/xplan-ios/Main/Room/View/MessageContainerView/XPRoomMessageContainerView.m b/xplan-ios/Main/Room/View/MessageContainerView/XPRoomMessageContainerView.m index 5dde3bc7..0ca72ef8 100644 --- a/xplan-ios/Main/Room/View/MessageContainerView/XPRoomMessageContainerView.m +++ b/xplan-ios/Main/Room/View/MessageContainerView/XPRoomMessageContainerView.m @@ -273,7 +273,7 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey"; NIMMessageChatroomExtension * messageExt = (NIMMessageChatroomExtension *)message.messageExt; NSDictionary * dic = [(NSDictionary *)messageExt.roomExt.toJSONObject objectForKey:message.from]; XPMessageRemoteExtModel * extModel = [XPMessageRemoteExtModel modelWithJSON:dic]; - return extModel.enterHide; + return (extModel.enterHide || extModel.platformRole == 1); } #pragma mark - 添加数据并且做自动滚动 diff --git a/xplan-ios/Main/Room/View/Setting/View/XPRoomOnLineViewController.m b/xplan-ios/Main/Room/View/Setting/View/XPRoomOnLineViewController.m index 6f3bfe84..8f9d93b3 100644 --- a/xplan-ios/Main/Room/View/Setting/View/XPRoomOnLineViewController.m +++ b/xplan-ios/Main/Room/View/Setting/View/XPRoomOnLineViewController.m @@ -159,6 +159,7 @@ [[self loadChatRoomTmpMemberList] subscribeNext:^(id _Nullable x) { NSArray * tmpList = x; + [self.datasource addObjectsFromArray:tmpList]; [self.tableView reloadData]; self.refreshing = NO; @@ -242,7 +243,16 @@ } NSMutableArray * array = [NSMutableArray array]; [members enumerateObjectsUsingBlock:^(NIMChatroomMember * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if (obj.isOnline && !obj.isInBlackList) { + BOOL isSuperAmind = NO; + if (obj.roomExt.length > 0) { + NSData *jsonData = [obj.roomExt dataUsingEncoding:NSUTF8StringEncoding]; + NSError *error; + NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error]; + XPMessageRemoteExtModel * model = [XPMessageRemoteExtModel modelWithDictionary:[dic objectForKey:obj.userId]]; + isSuperAmind = model.platformRole == 1; + } + + if (obj.isOnline && !obj.isInBlackList && !isSuperAmind) { [array addObject:obj]; } }]; diff --git a/xplan-ios/Main/Room/View/XPRoomViewController.m b/xplan-ios/Main/Room/View/XPRoomViewController.m index fabfc285..2ab59af0 100644 --- a/xplan-ios/Main/Room/View/XPRoomViewController.m +++ b/xplan-ios/Main/Room/View/XPRoomViewController.m @@ -1095,7 +1095,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 } break; case NIMChatroomEventTypeEnter: - if (content.source.userId.integerValue != [AccountInfoStorage instance].getUid.integerValue) { + if (content.source.userId.integerValue != [AccountInfoStorage instance].getUid.integerValue && self.userInfo.platformRole != 1) { onLineNumber += 1; }else {///如果是自己的话 如果有坐骑的话 [self userEnterRoomSuccess];