Files
yinmeng-ios/xplan-ios/Main/Room/View/XPRoomViewController.m

196 lines
5.6 KiB
Mathematica
Raw Normal View History

//
// XPRoomViewController.m
// xplan-ios
//
// Created by on 2021/10/11.
//
#import "XPRoomViewController.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "XPMacro.h"
2021-10-19 18:30:03 +08:00
#import "AccountInfoStorage.h"
///Model
#import "RoomInfoModel.h"
2021-10-19 18:30:03 +08:00
#import "UserInfoModel.h"
///View
#import "XPRoomActivityContainerView.h"
#import "XPRoomBackContainerView.h"
#import "XPRoomMenuContainerView.h"
#import "XPRoomMessageContainerView.h"
#import "XPRoomPositionContainView.h"
#import "XPRoomInfoContainerView.h"
2021-10-19 18:30:03 +08:00
///P
#import "XPRoomPresenter.h"
#import "XPRoomProtocol.h"
///Category
#import "XPRoomViewController+RoomInfoContainerView.h"
2021-10-19 18:30:03 +08:00
@interface XPRoomViewController ()<XPRoomProtocol>
///
@property (nonatomic,strong) XPRoomBackContainerView *backContainerView;
///
@property (nonatomic,strong) XPRoomInfoContainerView *roomInfoContainerView;
///
@property (nonatomic,strong) XPRoomPositionContainView *positionContainerView;
///
@property (nonatomic,strong) XPRoomMessageContainerView *messageContainerView;
///
@property (nonatomic,strong) XPRoomMenuContainerView *menuContainerView;
///
@property (nonatomic,strong) XPRoomActivityContainerView *activityContainerView;
2021-10-19 18:30:03 +08:00
///
@property (nonatomic,strong) UserInfoModel *usereInfo;
///
@property (nonatomic,strong) RoomInfoModel *roomInfo;
@end
@implementation XPRoomViewController
2021-10-19 18:30:03 +08:00
- (void)dealloc {
#warning to do -
}
- (XPRoomPresenter *)createPresenter {
return [[XPRoomPresenter alloc] init];
}
- (BOOL)isHiddenNavBar {
return YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
}
2021-10-21 17:55:51 +08:00
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.presenter getRoomInfoWithUid:self.roomUid];
}
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.backContainerView];
[self.view addSubview:self.roomInfoContainerView];
[self.view addSubview:self.positionContainerView];
[self.view addSubview:self.messageContainerView];
[self.view addSubview:self.menuContainerView];
[self.view addSubview:self.activityContainerView];
}
- (void)initSubViewConstraints {
[self.backContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[self.roomInfoContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.view);
make.height.mas_equalTo(kNavigationHeight);
}];
[self.positionContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.view);
make.top.mas_equalTo(self.roomInfoContainerView.mas_bottom);
make.height.mas_equalTo([self.positionContainerView positionContainerViewHeight]);
}];
[self.messageContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.positionContainerView.mas_bottom);
make.bottom.equalTo(self.menuContainerView.mas_top).offset(-5);
make.left.equalTo(self.view);
make.right.equalTo(self.activityContainerView.mas_left).offset(-10);
}];
[self.menuContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(-kSafeAreaBottomHeight- 8);
make.height.mas_equalTo(40);
}];
[self.activityContainerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.messageContainerView);
make.right.mas_equalTo(self.view);
make.bottom.mas_equalTo(self.menuContainerView.mas_top).offset(-5);
make.width.mas_equalTo(80);
}];
}
2021-10-19 18:30:03 +08:00
#pragma mark - XPRoomProtocol
- (void)getRoomInfoSuccess:(RoomInfoModel *)roomInfo {
2021-10-21 17:55:51 +08:00
NSString * uid = [AccountInfoStorage instance].getUid;
if (roomInfo.valid) {
[self configRoomInfoContainerViewWithRoomInfo:roomInfo]; // S1
[self.presenter getUserInfoWithUid:uid];
} else {
if ([self.roomUid isEqualToString:uid]) {
// TODO:
} else {
// TODO: 线
}
}
2021-10-19 18:30:03 +08:00
}
- (void)getUserInfoSuccess:(UserInfoModel *)userInfo {
self.usereInfo = userInfo;
2021-10-21 17:55:51 +08:00
// TODO:
2021-10-19 18:30:03 +08:00
}
- (void)openRoomSuccess:(RoomInfoModel *)roomInfo {
2021-10-21 17:55:51 +08:00
[self configRoomInfoContainerViewWithRoomInfo:roomInfo];
// TODO:
2021-10-19 18:30:03 +08:00
}
2021-10-21 17:55:51 +08:00
- (void)enterRoomFail {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (XPRoomBackContainerView *)backContainerView {
if (!_backContainerView) {
_backContainerView = [[XPRoomBackContainerView alloc] init];
}
return _backContainerView;
}
- (XPRoomInfoContainerView *)roomInfoContainerView {
if (!_roomInfoContainerView) {
_roomInfoContainerView = [[XPRoomInfoContainerView alloc] init];
2021-10-19 18:30:03 +08:00
_roomInfoContainerView.delegate = self;
}
return _roomInfoContainerView;
}
- (XPRoomPositionContainView *)positionContainerView {
if (!_positionContainerView) {
_positionContainerView = [[XPRoomPositionContainView alloc] init];
}
return _positionContainerView;
}
- (XPRoomMessageContainerView *)messageContainerView {
if (!_messageContainerView) {
_messageContainerView = [[XPRoomMessageContainerView alloc] init];
}
return _messageContainerView;
}
- (XPRoomMenuContainerView *)menuContainerView {
if (!_menuContainerView) {
_menuContainerView = [[XPRoomMenuContainerView alloc] init];
}
return _menuContainerView;
}
- (XPRoomActivityContainerView *)activityContainerView {
if (!_activityContainerView) {
_activityContainerView = [[XPRoomActivityContainerView alloc] init];
}
return _activityContainerView;
}
2021-10-19 18:30:03 +08:00
@end