发现新朋友接口接入

This commit is contained in:
chenshuanglin
2023-03-16 14:34:45 +08:00
parent 04aeb54c6a
commit 00e1e2ff30
16 changed files with 252 additions and 113 deletions

View File

@@ -21,7 +21,7 @@
#import "XPRoomViewController.h"
#import "SessionViewController.h"
///Model
#import "HomeRecommendRoomModel.h"
#import "UserInfoModel.h"
///P
#import "XPHomePresenter.h"
#import "XPHomeProtocol.h"
@@ -38,7 +38,6 @@
@property (nonatomic,assign) int page;
///
@property (nonatomic,assign) BOOL hasNoMoreData;
@property (nonatomic,assign) NSString *tabId;
@end
@@ -56,49 +55,22 @@
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
self.tabId = @"3";
[self initHeaderAndFooterRrfresh];
[self refreshData:nil];
}
#pragma mark - InitHttp
- (void)requestData:(nullable NSString *)gender {
[self.presenter getNewFriendListWithGender:gender];
}
///
- (void)refreshData {
- (void)refreshData:(nullable NSString *)gender {
if (self.isViewLoaded && self.view.window) {
[self headerRefresh];
[self requestData:gender];
}
}
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
header.stateLabel.textColor = [ThemeColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [ThemeColor secondTextColor];
self.tableView.mj_header = header;
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = [ThemeColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.tableView.mj_footer = footer;
[self headerRefresh];
}
#pragma mark - fangfa
- (void)headerRefresh {
self.page = 1;
[self.presenter getRecommendRoomList:self.tabId page:self.page pageSize:20 state:0];
}
- (void)footerRefresh {
if (self.hasNoMoreData) {
[self showErrorToast:@"没有更多房间了"];
[self.tableView.mj_footer endRefreshing];
return;
}
self.page++;
[self.presenter getRecommendRoomList:self.tabId page:self.page pageSize:20 state:1];
}
#pragma mark - Private Method
- (void)initSubViews {
self.view.backgroundColor = [UIColor clearColor];
@@ -116,29 +88,15 @@
#pragma mark - XPHomeProtocol
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list state:(BOOL)state {
if (state == 0) {
self.hasNoMoreData = NO;
[self.dataSource removeAllObjects];
[self.tableView.mj_header endRefreshing];
} else {
[self.tableView.mj_footer endRefreshing];
}
if (list.count > 0) {
self.hasNoMoreData = NO;
[self.dataSource addObjectsFromArray:list];
} else {
self.hasNoMoreData = YES;
}
- (void)getNewFriendListSuccess:(NSArray *)list {
[self.dataSource removeAllObjects];
[self.dataSource addObjectsFromArray:list];
[self.tableView reloadData];
}
- (void)getHomeRecommendRoomListFail:(NSString *)message state:(BOOL)state {
if (state == 0) {
[self.tableView.mj_header endRefreshing];
} else {
[self.tableView.mj_footer endRefreshing];
}
- (void)getNewFriendListFail {
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
@@ -156,7 +114,7 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.dataSource.count > 0) {
HomeRecommendRoomModel * model = [self.dataSource safeObjectAtIndex1:indexPath.row];
UserInfoModel * model = [self.dataSource safeObjectAtIndex1:indexPath.row];
XPFindNewFriendTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPFindNewFriendTableViewCell class])];
cell.roomInfo = model;
cell.delegate = self;
@@ -172,10 +130,10 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (self.dataSource.count > 0) {
HomeRecommendRoomModel * model = [self.dataSource safeObjectAtIndex1:indexPath.row];
if (model.roomUid.integerValue > 0) {
[XPRoomViewController openRoom:model.uid fromNick:model.title fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
UserInfoModel *model = [self.dataSource safeObjectAtIndex1:indexPath.row];
// if (model.roomUid.integerValue > 0) {
// [XPRoomViewController openRoom:model.uid fromNick:model.title fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
// }
///
// NSString * sessionId = [NSString stringWithFormat:@"%@",model.uid];
// NIMSession * session = [NIMSession session:sessionId type:NIMSessionTypeP2P];