首页数据对接
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user