首页数据对接

This commit is contained in:
liyuhua
2023-09-05 15:37:02 +08:00
parent 32d974eb12
commit 4e6769dee5
33 changed files with 726 additions and 93 deletions

View File

@@ -11,7 +11,9 @@
#import <JXPagingView/JXPagerView.h>
#import <JXPagingView/JXPagerListRefreshView.h>
#import <JXCategoryView/JXCategoryView.h>
#import <MJRefresh/MJRefresh.h>
///Tool
#import "Api+Home.h"
#import "YUMIMacroUitls.h"
#import "DJDKMIMOMColor.h"
#import "YUMIHtmlUrl.h"
@@ -27,6 +29,8 @@
#import "PIHomeItemModel.h"
#import "HomeMenuSourceModel.h"
///View
#import "XPRoomSearchContainerViewController.h"
#import "XPHomePartyViewController.h"
@@ -36,6 +40,7 @@
#import "XPRoomViewController.h"
#import "XPNewHomeHeadView.h"
#import "PIHoemCategoryTitleView.h"
#import "XPHomeRecommendOtherRoomView.h"
///P
#import "XPHomeContainerPresenter.h"
#import "XPHomeContainerProtocol.h"
@@ -45,7 +50,7 @@
UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
UIKIT_EXTERN NSString * const kOpenRoomNotification;
@interface XPNewHomeViewController ()<JXPagerViewDelegate,JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate, XPHomeContainerProtocol, XPNewHomeNavViewDelegate,XPNewHomeHeadViewDelegate>
@interface XPNewHomeViewController ()<JXPagerViewDelegate,JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate, XPHomeContainerProtocol, XPNewHomeNavViewDelegate,XPNewHomeHeadViewDelegate,XPHomeRecommendOtherRoomViewDelegate>
///
@property (nonatomic,strong) UIImageView *backImageView;
///
@@ -63,6 +68,9 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
@property (nonatomic,strong) HomeTagModel *recommendItem;
///bug
@property (nonatomic,assign) BOOL isEmpty;
@property(nonatomic,strong) XPHomePartyViewController * homeVC;
@property(nonatomic,strong) XPHomeRecommendViewController * recommendVC;
@property(nonatomic,assign) NSInteger type;
@end
@implementation XPNewHomeViewController
@@ -96,6 +104,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
#pragma mark - Private Method
- (void)initSubViews {
self.type = 0;
self.view.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#F3F5FA"];
[self.view addSubview:self.backImageView];
[self.view addSubview:self.navView];
@@ -115,6 +124,35 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[self.navigationController pushViewController:sessionVC animated:YES];
[ClientConfig shareConfig].chatId = nil;
}
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 = [DJDKMIMOMColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
self.pagingView.mainTableView.mj_header = header;
[self.pagingView.mainTableView.mj_header beginRefreshing];
@kWeakify(self);
self.homeVC.refreshComplete = ^{
@kStrongify(self);
if(self.type == 0){
[self.pagingView.mainTableView.mj_header endRefreshing];
}
};
self.recommendVC.refreshComplete = ^{
@kStrongify(self);
if(self.type == 1){
[self.pagingView.mainTableView.mj_header endRefreshing];
}
};
}
-(void)headerRefresh{
if(self.type == 0){
[self.homeVC headerRefresh];
}else{
[self.recommendVC headerRefresh];
}
}
-(void)openRoomNotification:(NSNotification *)notification{
if([[AccountInfoStorage instance] getUid].length == 0){
@@ -164,6 +202,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[self.presenter getHomeTagList];
[self.presenter getHomeTopBannerList];
[self.presenter getCurrentResourceList];
}
@@ -233,12 +272,12 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
return homeV;
}
if (index == 0) {
XPHomePartyViewController * homeVC = [[XPHomePartyViewController alloc] init];
return homeVC;
return self.homeVC;
} else {
XPHomeRecommendViewController * recommendVC = [[XPHomeRecommendViewController alloc] init];
return recommendVC;
return self.recommendVC;
}
}
@@ -274,20 +313,21 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
self.headView.itemList = list;
}
- (void)getHomeTagListSuccess:(NSArray<HomeTagModel *> *)array {
// [self.tagList addObject:self.recommendItem];
// [self.tagList addObjectsFromArray:array];
// NSMutableArray * titles = [NSMutableArray array];
// [titles addObject:YMLocalizedString(@"XPNewHomeViewController2")];
// [array enumerateObjectsUsingBlock:^(HomeTagModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
// if (obj.name.length > 0) {
// [titles addObject:obj.name];
// }
// }];
// self.titles = titles.copy;
// self.titleView.titles = self.titles;
// [self.titleView reloadData];
}
- (void)homeChatPickSuccess:(NSString *)uid {
///
NSString *sessionId = uid;
NIMSession *session = [NIMSession session:sessionId type:NIMSessionTypeP2P];
SessionViewController *sessionVC = [[SessionViewController alloc] initWithSession:session];
[self.navigationController pushViewController:sessionVC animated:YES];
}
- (void)homeChatPickFail:(NSString *)msg {
}
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index{
self.type = index;
self.titleView.index = (int)index;
self.titleView.defaultSelectedIndex = index;
[self.titleView reloadData];
@@ -300,6 +340,29 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
XPWebViewController * webVC = [[ XPWebViewController alloc] init];
webVC.url = model.resourceContent;
[self.navigationController pushViewController:webVC animated:YES];
}else if (model.resourceType == HomeMenuResourceType_Match) { //
[self.presenter homeChatPick];
}else {
NSString * uid = [AccountInfoStorage instance].getUid;
if (model.ID.length > 0 && uid.length > 0) {
[Api homePickResource:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
HomeMenuSourceModel * sourceModel = [HomeMenuSourceModel modelWithDictionary:data.data];
if (sourceModel.isPick) {
if (sourceModel.uid.integerValue > 0) {
[XPRoomViewController openRoom:sourceModel.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
} else {
XPHomeRecommendOtherRoomView * recommendView = [[XPHomeRecommendOtherRoomView alloc] init];
recommendView.delegate = self;
recommendView.roomInfo = sourceModel;
[TTPopup popupView:recommendView style:TTPopupStyleAlert];
}
} else {
[XNDJTDDLoadingTool showErrorWithMessage:msg];
}
} uid:uid rid:model.ID];
}
}
}
-(void)selectBannerListWithModel:(HomeBannerInfoModel *)model{
@@ -322,6 +385,12 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
break;
}
}
///
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(HomeMenuSourceModel *)model{
if (model.uid.integerValue > 0) {
[XPRoomViewController openRoom:model.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
}
}
#pragma mark - Getters And Setters
- (PIHoemCategoryTitleView *)titleView {
if (!_titleView) {
@@ -406,4 +475,16 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
}
return _headView;
}
- (XPHomePartyViewController *)homeVC{
if(!_homeVC){
_homeVC = [[XPHomePartyViewController alloc] init];
}
return _homeVC;
}
- (XPHomeRecommendViewController *)recommendVC{
if(!_recommendVC){
_recommendVC = [[XPHomeRecommendViewController alloc] init];
}
return _recommendVC;
}
@end