Files
peko-ios/YuMi/Modules/YMMine/View/Setting/XPMaskManagerVC.m
2023-10-17 18:30:14 +08:00

167 lines
6.0 KiB
Objective-C

//
// XPMaskManagerVC.m
// xplan-ios
//
// Created by duoban on 2022/12/26.
//
#import "XPMaskManagerVC.h"
///view
#import "XPMaskManagerCell.h"
#import "XPMineSettingPresent.h"
#import "XPMineSettingProtocol.h"
#import "XPMineFriendEmptyTableViewCell.h"
#import "XPMaskManagerModel.h"
#import <MJRefresh/MJRefresh.h>
@interface XPMaskManagerVC ()<UITableViewDelegate,UITableViewDataSource,XPMaskManagerCellDelegate>
@property (nonatomic,strong) UITableView *tableView;
@property (nonatomic,strong) NSMutableArray *listData;
@property (nonatomic,strong) UIView *foodView;
@property (nonatomic,strong) XPMaskManagerModel * chooseModel;
@property (nonatomic,assign) NSInteger page;
@end
@implementation XPMaskManagerVC
- (__kindof id)createPresenter{
return [[XPMineSettingPresent alloc]init];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
[self initHeaderAndFooterRrfresh];
}
#pragma mark - 下拉刷新
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = kFontRegular(14);
header.lastUpdatedTimeLabel.font = kFontRegular(14);
header.stateLabel.textColor = UIColorFromRGB(0x6D6B89);
header.lastUpdatedTimeLabel.textColor = UIColorFromRGB(0x6D6B89);
self.tableView.mj_header = header;
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = UIColorFromRGB(0x6D6B89);
footer.stateLabel.font = kFontRegular(14);
[footer setTitle:YMLocalizedString(@"XPMaskManagerVC1") forState:MJRefreshStateNoMoreData];
self.tableView.mj_footer = footer;
[self headerRefresh];
}
#pragma mark - 刷新的fangfa
- (void)headerRefresh {
self.page = 1;
[self.presenter getBlackRoomListWithPageNum:@(self.page).stringValue pageSize:@"20"];
}
- (void)footerRefresh {
self.page++;
[self.presenter getBlackRoomListWithPageNum:@(self.page).stringValue pageSize:@"20"];
}
-(void)getBlackRoomList:(NSArray *)list{
[self.tableView.mj_footer endRefreshing];
[self.tableView.mj_header endRefreshing];
if(self.page == 1){
self.listData = [NSMutableArray arrayWithArray:list];
}else{
if(list.count == 0){
[self.tableView.mj_footer endRefreshingWithNoMoreData];
}else{
[self.listData addObjectsFromArray:list];
}
}
[self.tableView reloadData];
}
-(void)requestUnmaskingFromBlackRoomListSuccess{
if(self.chooseModel){
if([self.listData containsObject:self.chooseModel]){
[self.listData removeObject:self.chooseModel];
[self.tableView reloadData];
[self showSuccessToast:YMLocalizedString(@"XPMaskManagerVC3")];
}
}
}
#pragma mark - Private Method
- (void)initSubViews {
self.title = YMLocalizedString(@"XPMaskManagerVC0");
self.view.backgroundColor = UIColorFromRGB(0xF3F5FA);
[self.view addSubview:self.tableView];
}
- (void)initSubViewConstraints {
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
}
#pragma mark - XPMaskManagerCellDelegate
-(void)unmaskingHandleWithModel:(XPMaskManagerModel *)model{
self.chooseModel = model;
[self showLoading];
[self.presenter requestUnmaskingFromBlackRoomListWithRoomUid:model.uid type:@"1"];
}
#pragma mark UITableViewDelegate,UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.listData.count > 0 ? self.listData.count : 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return self.listData.count > 0 ? kGetScaleWidth(99) : self.view.frame.size.height;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if(self.listData.count > 0){
XPMaskManagerCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMaskManagerCell class]) forIndexPath:indexPath];
if(indexPath.row < self.listData.count){
cell.model = self.listData[indexPath.row];
}
cell.delegate = self;
return cell;
}
XPMineFriendEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineFriendEmptyTableViewCell class])];
cell.emptyTitle = YMLocalizedString(@"XPMaskManagerVC2");
return cell;
}
#pragma mark -懒加载
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPMaskManagerCell class] forCellReuseIdentifier:NSStringFromClass([XPMaskManagerCell class])];
[_tableView registerClass:[XPMineFriendEmptyTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineFriendEmptyTableViewCell class])];
}
return _tableView;
}
- (UIView *)foodView{
if (!_foodView){
_foodView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, kGetScaleWidth(117))];
UILabel *titleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMaskManagerVC1") font:kFontRegular(14) textColor:UIColorFromRGB(0x6D6B89)];
titleView.frame = _foodView.bounds;
titleView.textAlignment = NSTextAlignmentCenter;
[_foodView addSubview:titleView];
}
return _foodView;
}
- (NSMutableArray *)listData{
if (!_listData){
_listData = [NSMutableArray array];
}
return _listData;
}
@end