save code
This commit is contained in:
eggmanQQQ
2024-06-21 01:37:38 +08:00
parent 7210bd9d79
commit 627748d230
56 changed files with 1281 additions and 244 deletions

View File

@@ -525,6 +525,8 @@
545888362C1C306B00897585 /* XPRoomPKPaneAvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 545888352C1C306B00897585 /* XPRoomPKPaneAvatarView.m */; };
54C3895C2C215F5100FD47B1 /* XPHomeMineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C3895B2C215F5100FD47B1 /* XPHomeMineViewController.m */; };
54C3895F2C2189DD00FD47B1 /* XPHomeMinePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C3895E2C2189DD00FD47B1 /* XPHomeMinePresenter.m */; };
54C389622C23BD1600FD47B1 /* HomeRankAvatarModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C389612C23BD1600FD47B1 /* HomeRankAvatarModel.m */; };
54C389672C24464600FD47B1 /* HomeMineRoomModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 54C389662C24464600FD47B1 /* HomeMineRoomModel.m */; };
73FFADDC93E195344047A2EC /* Pods_YuMi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_YuMi.framework */; };
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C527BA392B0032BD2B /* AnchorStageView.m */; };
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C927BA4F570032BD2B /* AnchorMicroView.m */; };
@@ -2572,6 +2574,11 @@
54C3895B2C215F5100FD47B1 /* XPHomeMineViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomeMineViewController.m; sourceTree = "<group>"; };
54C3895D2C2189DD00FD47B1 /* XPHomeMinePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPHomeMinePresenter.h; sourceTree = "<group>"; };
54C3895E2C2189DD00FD47B1 /* XPHomeMinePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomeMinePresenter.m; sourceTree = "<group>"; };
54C389602C23BD1600FD47B1 /* HomeRankAvatarModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeRankAvatarModel.h; sourceTree = "<group>"; };
54C389612C23BD1600FD47B1 /* HomeRankAvatarModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeRankAvatarModel.m; sourceTree = "<group>"; };
54C389642C24448900FD47B1 /* XPHomeMineProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPHomeMineProtocol.h; sourceTree = "<group>"; };
54C389652C24464600FD47B1 /* HomeMineRoomModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeMineRoomModel.h; sourceTree = "<group>"; };
54C389662C24464600FD47B1 /* HomeMineRoomModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeMineRoomModel.m; sourceTree = "<group>"; };
7DB00EC07F1D0ADFF900B38D /* Pods-YuMi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YuMi.debug.xcconfig"; path = "Target Support Files/Pods-YuMi/Pods-YuMi.debug.xcconfig"; sourceTree = "<group>"; };
9B0086C427BA392B0032BD2B /* AnchorStageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnchorStageView.h; sourceTree = "<group>"; };
9B0086C527BA392B0032BD2B /* AnchorStageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AnchorStageView.m; sourceTree = "<group>"; };
@@ -9417,6 +9424,7 @@
E87DF4E82A42CB24009C1185 /* XPHomeProtocol.h */,
E87E62692A3F5756002F68C9 /* XPHomeContainerProtocol.h */,
E87E627C2A3F5A63002F68C9 /* XPNewHomeRecommendProtocol.h */,
54C389642C24448900FD47B1 /* XPHomeMineProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
@@ -9490,10 +9498,14 @@
E87DF4CB2A42C960009C1185 /* HomeBannerInfoModel.m */,
E87DF4BD2A42C8C1009C1185 /* HomeTagModel.h */,
E87DF4BE2A42C8C1009C1185 /* HomeTagModel.m */,
54C389602C23BD1600FD47B1 /* HomeRankAvatarModel.h */,
54C389612C23BD1600FD47B1 /* HomeRankAvatarModel.m */,
23FF42712AA6CC480055733C /* PIHomeItemModel.h */,
23FF42722AA6CC480055733C /* PIHomeItemModel.m */,
23B8D8D92B85FDDD00CA472F /* PIHomeCategoryTitleModel.h */,
23B8D8DA2B85FDDD00CA472F /* PIHomeCategoryTitleModel.m */,
54C389652C24464600FD47B1 /* HomeMineRoomModel.h */,
54C389662C24464600FD47B1 /* HomeMineRoomModel.m */,
);
path = Model;
sourceTree = "<group>";
@@ -12492,6 +12504,7 @@
E8395334276A03C300CF2F24 /* XPMineDressUpPresenter.m in Sources */,
2357148F2BEDC94D004C81D6 /* MSSessionPublicChatHalImageCell.m in Sources */,
E85E7B212A4EB0D300B6D00A /* XPNewMineGuildIncomeRecordViewController.m in Sources */,
54C389622C23BD1600FD47B1 /* HomeRankAvatarModel.m in Sources */,
23A439742AA1CF7C002E6039 /* XPNewHomeHeadView.m in Sources */,
189DD75926E6003C00AB55B1 /* Api.m in Sources */,
2331C1652A5EB71000E1D940 /* NobleRechargeModel.m in Sources */,
@@ -12578,6 +12591,7 @@
E896EFB22771C93B00AD2CC1 /* XPMineFriendNumberView.m in Sources */,
14EB640D29A5C16000A4A00B /* XPMomentsSimpleDetailNav.m in Sources */,
E80EC80E28ACD84000D133C5 /* QKeyboardBaseManager.m in Sources */,
54C389672C24464600FD47B1 /* HomeMineRoomModel.m in Sources */,
23E9EA792A8385CC00B792F2 /* XPTreasureFairyGiftView.m in Sources */,
149839C7299E0B9F00F82CBF /* XPMomentListCollectionViewCell.m in Sources */,
236BA4982BB6AFED00C7C73A /* PINoblePrivilegeEmptyCell.m in Sources */,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 530 B

After

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_rank_Headdress_first@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_rank_Headdress_first@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_rank_Headdress_second@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_rank_Headdress_second@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_rank_Headdress_third@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_rank_Headdress_third@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "home_rank_Heads_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "home_rank_Heads_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -41,7 +41,7 @@ typedef NS_ENUM(NSUInteger, ImageType){
/// 空白图的占位图
+ (UIImage *)defalutEmptyPlaceholder;
/// banner的占位图
+ (UIImage *)defalutBannerPlaceholder;
+ (UIImage *)defaultBannerPlaceholder;
+ (NSString*)configUrl:(NSString*)url type:(ImageType)type;
+ (NSString*)configUrl:(NSString*)url radius:(CGFloat)radius;

View File

@@ -40,7 +40,7 @@ NSString * const kImageTypeMonentsPhoto = @"imageMogr2/auto-orient/thumbnail/400
return [UIImage imageNamed:@"common_empty"];
}
/// banner
+ (UIImage *)defalutBannerPlaceholder {
+ (UIImage *)defaultBannerPlaceholder {
return [UIImage imageNamed:@"common_banner"];
}

View File

@@ -109,7 +109,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser highQualityImageForIndex:(NSInteger)index{
if(self.imageModel.url == nil && self.imageModel.image != nil){

View File

@@ -107,7 +107,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser highQualityImageForIndex:(NSInteger)index{
if(self.imageModel.url == nil && self.imageModel.image != nil){

View File

@@ -240,7 +240,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark - Event Response

View File

@@ -56,7 +56,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser highQualityImageForIndex:(NSInteger)index{
if(self.imageObject.url == nil && self.imageObject.image != nil){

View File

@@ -63,7 +63,7 @@
_pi_BannerView.pageDotColor = UIColorRGBAlpha(0xB3B3C3, 0.4);
_pi_BannerView.pageControlDotSize = CGSizeMake(kGetScaleWidth(4), kGetScaleWidth(4));
_pi_BannerView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_pi_BannerView.placeholderImage = [UIImageConstant defalutBannerPlaceholder];
_pi_BannerView.placeholderImage = [UIImageConstant defaultBannerPlaceholder];
// SDCycleScrollViewRTLLTR
_pi_BannerView.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
for (UIView *subView in _pi_BannerView.subviews) {

View File

@@ -441,7 +441,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark - SDCycleScrollViewDelegate
@@ -859,7 +859,7 @@
- (SDCycleScrollView *)pi_cycleScrollView {
if (!_pi_cycleScrollView) {
_pi_cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defalutBannerPlaceholder]];
_pi_cycleScrollView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defaultBannerPlaceholder]];
_pi_cycleScrollView.backgroundColor = [UIColor clearColor];
_pi_cycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_pi_cycleScrollView.pageControlStyle = SDCycleScrollViewPageContolStyleNone;

View File

@@ -219,7 +219,7 @@
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark - XPMonentsPhotoViewDelegate

View File

@@ -118,7 +118,7 @@ NS_ASSUME_NONNULL_BEGIN
/// @param uid 用户的uid
+ (void)onceLookAnchorRoomComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid;
///首页改版资源位
+(void)requestCurrentResourceListComplection:(HttpRequestHelperCompletion)complection;
+(void)requestCurrentResourceListCompletion:(HttpRequestHelperCompletion)complection;
/// 一键匹配
/// @param completion 完成
+ (void)homeChatPick:(HttpRequestHelperCompletion)completion;
@@ -127,9 +127,27 @@ NS_ASSUME_NONNULL_BEGIN
///ip检测
+(void)checkIpRegionComplection:(HttpRequestHelperCompletion)complection;
#pragma mark - 首页 V3 APIs
/// 获取我的房间
+(void)getMyRoomCompletion:(HttpRequestHelperCompletion)completion;
/// 获取我收藏的房间
+(void)getMyCollectRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)num
pageSize:(NSString *)size;
/// 获取我最近去过的房间
+(void)getMyRecentRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)num
pageSize:(NSString *)size;
/// 获取标签
+(void)getHomeTabsCompletion:(HttpRequestHelperCompletion)completion;
/// 获取首页房间列表
+(void)getHomeTabRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)pageNum
pageSize:(NSString *)pageSize
tabId:(NSString *)tabId;
/// 获取首页聚合排行榜
+(void)getHomeRanksCompletion:(HttpRequestHelperCompletion)completion;
+(void)getMyCollectRoomsCompletion:(HttpRequestHelperCompletion)completion pageNum:(NSNumber *)num pageSize:(NSNumber *)size;
@end
NS_ASSUME_NONNULL_END

View File

@@ -146,7 +146,7 @@
[self makeRequest:@"single/broadcast/onceLook" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, nil];
}
///
+(void)requestCurrentResourceListComplection:(HttpRequestHelperCompletion)complection{
+(void)requestCurrentResourceListCompletion:(HttpRequestHelperCompletion)complection{
[self makeRequest:@"home/currentResource" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, nil];
}
///
@@ -163,11 +163,36 @@
[self makeRequest:@"ipRegion/check" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, nil];
}
#pragma mark - V3 APIs
+(void)getMyRoomCompletion:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"home/getMyRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
+(void)getMyCollectRoomsCompletion:(HttpRequestHelperCompletion)completion pageNum:(NSNumber *)num pageSize:(NSNumber *)size
+(void)getMyCollectRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)pageNum
pageSize:(NSString *)pageSize
{
[self makeRequest:@"home/collect/pageRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, num, size, nil];
[self makeRequest:@"home/collect/pageRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, pageNum, pageSize, nil];
}
+(void)getMyRecentRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)pageNum
pageSize:(NSString *)pageSize
{
[self makeRequest:@"home/recent/pageRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, pageNum, pageSize, nil];
}
+(void)getHomeTabsCompletion:(HttpRequestHelperCompletion)completion {
[self makeRequest:@"home/tabV3/list" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
+(void)getHomeTabRoomsCompletion:(HttpRequestHelperCompletion)completion
pageNum:(NSString *)pageNum
pageSize:(NSString *)pageSize
tabId:(NSString *)tabId
{
[self makeRequest:@"home/tabV3/pageRoom" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, pageNum, pageSize, tabId, nil];
}
+(void)getHomeRanksCompletion:(HttpRequestHelperCompletion)completion
{
[self makeRequest:@"home/getRankSlideshow" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
@end

View File

@@ -0,0 +1,28 @@
//
// HomeMineRoomModel.h
// YuMi
//
// Created by P on 2024/6/20.
//
#import "PIBaseModel.h"
#import "HomePlayRoomModel.h"
#import "YUMINNNN.h"
NS_ASSUME_NONNULL_BEGIN
@interface HomeMineRoomModel : PIBaseModel
@property (nonatomic, copy) NSString *avatar;
@property (nonatomic, copy) NSString *introduction;
@property (nonatomic, assign) NSInteger roomId;
@property (nonatomic, assign) NSInteger uid;
@property (nonatomic, copy) NSString *title;
@property (nonatomic, assign) NSInteger onlineNum;
@property (nonatomic, assign) NSInteger micUserCount;
@property (nonatomic, assign) NSInteger partitionId;
@property (nonatomic, strong) NSArray<HomePlayMicUserModel *> *micUsers;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// HomeMineRoomModel.m
// YuMi
//
// Created by P on 2024/6/20.
//
#import "HomeMineRoomModel.h"
@implementation HomeMineRoomModel
@end

View File

@@ -0,0 +1,21 @@
//
// HomeRankAvatarModel.h
// YuMi
//
// Created by P on 2024/6/20.
//
#import "PIBaseModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface HomeRankAvatarModel : PIBaseModel
@property (nonatomic, assign) NSInteger uid;
@property (nonatomic, assign) NSInteger erbanNo;
@property (nonatomic, copy) NSString *avatar;
@property (nonatomic, copy) NSString *nick;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,12 @@
//
// HomeRankAvatarModel.m
// YuMi
//
// Created by P on 2024/6/20.
//
#import "HomeRankAvatarModel.h"
@implementation HomeRankAvatarModel
@end

View File

@@ -19,7 +19,11 @@ NS_ASSUME_NONNULL_BEGIN
- (void)homeChatPick;
///ip检测
-(void)checkIpRegionAction;
- (void)getHomeTopData;
- (void)getHomeAllTopsData;
- (void)getHomeRanks;
@end
NS_ASSUME_NONNULL_END

View File

@@ -15,41 +15,34 @@
#import "HomeBannerInfoModel.h"
#import "PIHomeItemModel.h"
#import "PIHomeCategoryTitleModel.h"
#import "HomeRankAvatarModel.h"
#import "HomePlayRoomModel.h"
@implementation XPHomeContainerPresenter
- (void)getHomeTopData{
RACSubject* banner = [RACSubject subject];
RACSubject* menu = [RACSubject subject];
- (void)getHomeTopData {
RACSubject *banner = [RACSubject subject];
RACSubject *menu = [RACSubject subject];
[[RACSignal combineLatest:@[banner, menu] reduce:^id(NSArray* bannerList, NSArray* menuList){
// 线
dispatch_async(dispatch_get_main_queue(), ^{
//UI
[[self getView] getHomeTopDataSuccess:bannerList menuList:menuList];
});
dispatch_async(dispatch_get_main_queue(), ^{
[[self getView] getHomeTopDataSuccess:bannerList menuList:menuList];
});
return nil;
}] subscribeError:^(NSError * _Nullable error) {
dispatch_async(dispatch_get_main_queue(), ^{
//UI
});
}];
NSString * uid = [AccountInfoStorage instance].getUid;
[Api homeBannerList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [HomeBannerInfoModel modelsWithArray:data.data];
[banner sendNext:array];
[banner sendCompleted];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[menu sendError:nil];
[menu sendCompleted];
[banner sendError:nil];
[banner sendCompleted];
} errorToast:NO] uid:uid type:@"1"];
[Api requestCurrentResourceListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[Api requestCurrentResourceListCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray *list = [PIHomeItemModel modelsWithArray:data.data];
[menu sendNext:list];
[menu sendCompleted];
@@ -58,6 +51,69 @@
[menu sendCompleted];
}]];
}
- (void)getHomeAllTopsData {
RACSubject *banner = [RACSubject subject];
RACSubject *menu = [RACSubject subject];
RACSubject *rank = [RACSubject subject];
RACSignal *bannerSignal = [banner catch:^RACSignal *(NSError *error) {
return [RACSignal return:nil];
}];
RACSignal *menuSignal = [menu catch:^RACSignal *(NSError *error) {
return [RACSignal return:nil];
}];
RACSignal *rankSignal = [rank catch:^RACSignal *(NSError *error) {
return [RACSignal return:nil];
}];
RACSignal *combinedSignal = [RACSignal combineLatest:@[bannerSignal, menuSignal, rankSignal]
reduce:^id(NSArray* bannerList, NSArray* menuList, NSArray *rankAvatars) {
return @[bannerList ?: [NSArray array],
menuList ?: [NSArray array],
rankAvatars ?: [NSArray array]];
}];
[[combinedSignal deliverOn:RACScheduler.mainThreadScheduler]
subscribeNext:^(NSArray *combinedValues) {
[[self getView] getHomeTopDataSuccess:[combinedValues xpSafeObjectAtIndex:0]
banners:[combinedValues xpSafeObjectAtIndex:1]
rankAvatars:[combinedValues xpSafeObjectAtIndex:2]];
} error:^(NSError * _Nullable error) {
NSLog(@"");
}];
NSString * uid = [AccountInfoStorage instance].getUid;
[Api homeBannerList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [HomeBannerInfoModel modelsWithArray:data.data];
[banner sendNext:array];
[banner sendCompleted];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[banner sendError:nil];
[banner sendCompleted];
} errorToast:NO] uid:uid type:@"1"];
[Api requestCurrentResourceListCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray *list = [PIHomeItemModel modelsWithArray:data.data];
[menu sendNext:list];
[menu sendCompleted];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[menu sendError:nil];
[menu sendCompleted];
}]];
[Api getHomeRanksCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray *list = [HomeRankAvatarModel modelsWithArray:data.data];
[rank sendNext:list];
[rank sendCompleted];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[rank sendError:nil];
[rank sendCompleted];
}]];
}
///
- (void)getHomeTopBannerList{
NSString * uid = [AccountInfoStorage instance].getUid;
@@ -71,20 +127,29 @@
/// tag
- (void)getHomeTagList {
NSString * uid = [AccountInfoStorage instance].getUid;
[Api homeTagComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [PIHomeCategoryTitleModel modelsWithArray:data.data];
// NSString * uid = [AccountInfoStorage instance].getUid;
// [Api homeTagComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
// NSArray * array = [PIHomeCategoryTitleModel modelsWithArray:data.data];
// for (PIHomeCategoryTitleModel *model in array) {
// model.checkedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
// model.noCheckedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontRegular(14)];
// }
// [[self getView] getHomeTagListSuccess:array];
//
// }] uid:uid];
[Api getHomeTabsCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
// TODO: API call UI
NSArray * array = [PIHomeCategoryTitleModel modelsWithArray:data.data];
for (PIHomeCategoryTitleModel *model in array) {
model.checkedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
model.noCheckedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontRegular(14)];
}
[[self getView] getHomeTagListSuccess:array];
}] uid:uid];
}];
}
///
-(void)getCurrentResourceList{
[Api requestCurrentResourceListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[Api requestCurrentResourceListCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray *list = [PIHomeItemModel modelsWithArray:data.data];
[[self getView]getCurrentResourceListSuccess:list];
}]];
@@ -117,4 +182,16 @@
}
}];
}
- (void)getHomeRanks {
@kWeakify(self);
[Api getHomeRanksCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if (code == 200) {
NSArray *list = [HomeRankAvatarModel modelsWithArray:data.data];
[[self getView] getHomeRanksSuccess:list];
}
}];
}
@end

View File

@@ -13,7 +13,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getMyRoom;
- (void)getMyCollectRooms;
- (void)getMyCollectRooms:(NSInteger)page;
- (void)getMyRecentRooms:(NSInteger)page;
@end

View File

@@ -7,33 +7,42 @@
#import "XPHomeMinePresenter.h"
#import "XPHomeMineProtocol.h"
#import "Api+Home.h"
#import "HomeMineRoomModel.h"
#import "HomeCollectRoomModel.h"
#import "HomeRankAvatarModel.h"
@implementation XPHomeMinePresenter
- (void)getMyRoom {
// NSString * uid = [/*AccountInfoStorage*/ instance].getUid;
// [Api homeTagComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
// NSArray * array = [PIHomeCategoryTitleModel modelsWithArray:data.data];
// for (PIHomeCategoryTitleModel *model in array) {
// model.checkedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
// model.noCheckedWidth = [UILabel getWidthWithText:model.name height:kGetScaleWidth(44) font:kFontRegular(14)];
// }
// [[self getView] getHomeTagListSuccess:array];
//
// }] uid:uid];
[Api getMyRoomCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
// TODO: model
if (code == 200) {
HomeMineRoomModel *model = [HomeMineRoomModel modelWithDictionary:data.data];
[[self getView] getMyRoomSuccess:model];
} else {
[[self getView] getMyRoomSuccess:nil];
}
}];
}
- (void)getMyCollectRooms {
- (void)getMyCollectRooms:(NSInteger)page {
[Api getMyCollectRoomsCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
// TODO: model
}
pageNum:@1
pageSize:@20];
pageNum:[NSString stringWithFormat:@"%ld", page]
pageSize:@"20"];
}
- (void)getMyRecentRooms:(NSInteger)page {
[Api getMyRecentRoomsCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
// TODO: model
}
pageNum:[NSString stringWithFormat:@"%ld", page]
pageSize:@"20"];
}
@end

View File

@@ -14,14 +14,18 @@ NS_ASSUME_NONNULL_BEGIN
/// 请求首页
/// @param tabId id
/// @param page 当前的页数
/// @param pageSize 一页有多少个
- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize ;
// @param pageSize 一页有多少个 - 默认 20
- (void)getRecommendRoomList:(NSString *)tabId page:(NSInteger)page;
/// 获取更多的个播房间
- (void)getHomeMoreAnchorRoomList;
/// 热门房间(个人房)列表
- (void)getHomePersonalRoomList;
- (void)getMyCollectRooms:(NSInteger)page;
- (void)getMyRecentRooms:(NSInteger)page;
@end
NS_ASSUME_NONNULL_END

View File

@@ -19,17 +19,30 @@
///
/// @param tabId id
/// @param page
/// @param pageSize
- (void)getRecommendRoomList:(NSString *)tabId page:(int)page pageSize:(int)pageSize {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * pageStr = [NSString stringWithFormat:@"%d", page];
NSString * pageSizeStr = [NSString stringWithFormat:@"%d", pageSize];
[Api getNewRecommendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView] getHomeRecommendRoomListSuccess:array ];
}fail:^(NSInteger code, NSString * _Nullable msg) {
[[self getView] getHomeRecommendRoomListFail:msg ];
}] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr];
- (void)getRecommendRoomList:(NSString *)tabId page:(NSInteger)page {
// NSString * uid = [AccountInfoStorage instance].getUid;
// NSString * pageStr = [NSString stringWithFormat:@"%d", page];
// NSString * pageSizeStr = [NSString stringWithFormat:@"%d", pageSize];
// [Api getNewRecommendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
// NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
// [[self getView] getHomeRecommendRoomListSuccess:array ];
// }fail:^(NSInteger code, NSString * _Nullable msg) {
// [[self getView] getHomeRecommendRoomListFail:msg ];
// }] uid:uid tabId:tabId pageNum:pageStr pageSize:pageSizeStr];
@kWeakify(self);
[Api getHomeTabRoomsCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView] getHomeRecommendRoomListSuccess:array];
}fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
[[self getView] getHomeRecommendRoomListFail:msg ];
}]
pageNum:[NSString stringWithFormat:@"%ld", page]
pageSize:@"20"
tabId:tabId];
}
///
@@ -51,4 +64,23 @@
[[self getView]getHomePersonalRoomListFail];
}errorToast:NO] uid:uid];
}
- (void)getMyCollectRooms:(NSInteger)page {
[Api getMyCollectRoomsCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView] getMineCollectRoomsSuccess:array];
}
pageNum:[NSString stringWithFormat:@"%ld", page]
pageSize:@"20"];
}
- (void)getMyRecentRooms:(NSInteger)page {
[Api getMyRecentRoomsCompletion:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
[[self getView] getMineRecentRoomsSuccess:array];
}
pageNum:[NSString stringWithFormat:@"%ld", page]
pageSize:@"20"];
}
@end

View File

@@ -25,6 +25,10 @@ NS_ASSUME_NONNULL_BEGIN
-(void)checkIpRegionFailWithMsg:(NSString *)msg;
-(void)checkIpRegionSuccess:(NSInteger)seconds;
- (void)getHomeTopDataSuccess:(NSArray*)list menuList:(NSArray *)memuList;
- (void)getHomeTopDataSuccess:(NSArray *)resourceList
banners:(NSArray *)banners
rankAvatars:(NSArray *)rankAvatars;
- (void)getHomeRanksSuccess:(NSArray *)resourceList;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,19 @@
//
// XPHomeMineProtocol.h
// YuMi
//
// Created by P on 2024/6/20.
//
#import <Foundation/Foundation.h>
@class HomeMineRoomModel;
NS_ASSUME_NONNULL_BEGIN
@protocol XPHomeMineProtocol <NSObject>
@optional
///首页推荐房间的
- (void)getMyRoomSuccess:(nullable HomeMineRoomModel *)model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -23,6 +23,9 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getHomePersonalRoomListSuccess:(NSArray *)list;
///获取个人房列表失败
- (void)getHomePersonalRoomListFail;
- (void)getMineCollectRoomsSuccess:(NSArray *)rooms;
- (void)getMineRecentRoomsSuccess:(NSArray *)rooms;
@end
NS_ASSUME_NONNULL_END

View File

@@ -30,6 +30,8 @@ NS_ASSUME_NONNULL_BEGIN
///获取小游戏列表
- (void)onGetLittleGameListSuccess:(NSArray<LittleGameInfoModel *> *)items;
@end
NS_ASSUME_NONNULL_END

View File

@@ -83,7 +83,7 @@
_pi_BannerView.showPageControl = NO;
_pi_BannerView.autoScrollTimeInterval = 5.0;
_pi_BannerView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_pi_BannerView.placeholderImage = [UIImageConstant defalutBannerPlaceholder];
_pi_BannerView.placeholderImage = [UIImageConstant defaultBannerPlaceholder];
// SDCycleScrollViewRTLLTR
_pi_BannerView.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
for (UIView *subView in _pi_BannerView.subviews) {

View File

@@ -19,6 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPNewHomeHeadView : UIView
@property (nonatomic,copy) NSArray<HomeBannerInfoModel *> *bannerList;
@property(nonatomic,copy) NSArray *itemList;
@property (nonatomic,copy) NSArray *rankAvatars;
@property(nonatomic,weak) id<XPNewHomeHeadViewDelegate>delegate;
@end

View File

@@ -31,7 +31,6 @@
[self addSubview:self.pageControl];
}
-(void)installConstraints{
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(0);
make.trailing.mas_equalTo(0);
@@ -43,8 +42,6 @@
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(14));
make.height.mas_equalTo(kGetScaleWidth(80));
}];
}
#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
@@ -92,7 +89,7 @@
self.collectionView.hidden = _itemList.count == 0;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
});
if (_itemList.count == 0){
[self.collectionView mas_remakeConstraints:^(MASConstraintMaker *make) {
@@ -104,6 +101,10 @@
}
}
- (void)setRankAvatars:(NSArray *)rankAvatars {
_rankAvatars = rankAvatars;
[self.collectionView reloadData];
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
@@ -111,12 +112,20 @@
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPNewHomeItemCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPNewHomeItemCell class]) forIndexPath:indexPath];
if(indexPath.row < self.itemList.count){
cell.itmeModel = self.itemList[indexPath.row];
cell.itemModel = self.itemList[indexPath.row];
cell.rankAvatarsModelArray = self.rankAvatars;
}
@kWeakify(self);
cell.didTapRankArea = ^{
@kStrongify(self);
PIHomeItemModel *model = [self.itemList xpSafeObjectAtIndex:indexPath.row];
if(model != nil && self.delegate && [self.delegate respondsToSelector:@selector(selectItemWithModel:)]){
[self.delegate selectItemWithModel:model];
}
};
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
@@ -125,6 +134,7 @@
[self.delegate selectItemWithModel:model];
}
}
#pragma mark -
- (UICollectionView *)collectionView{
if (!_collectionView) {
@@ -149,7 +159,7 @@
- (SDCycleScrollView *)pi_BannerView {
if (!_pi_BannerView) {
_pi_BannerView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defalutBannerPlaceholder]];
_pi_BannerView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defaultBannerPlaceholder]];
_pi_BannerView.backgroundColor = [UIColor redColor];
_pi_BannerView.layer.cornerRadius = 10;
_pi_BannerView.layer.masksToBounds = YES;

View File

@@ -6,11 +6,14 @@
//
#import <UIKit/UIKit.h>
#import "PIHomeItemModel.h"
@class PIHomeItemModel;
@class HomeRankAvatarModel;
NS_ASSUME_NONNULL_BEGIN
@interface XPNewHomeItemCell : UICollectionViewCell
@property(nonatomic,strong) PIHomeItemModel *itmeModel;
@property(nonatomic, strong) PIHomeItemModel *itemModel;
@property (nonatomic, copy) NSArray<HomeRankAvatarModel*> *rankAvatarsModelArray;
@property (nonatomic, copy) void(^didTapRankArea)(void);
@end
NS_ASSUME_NONNULL_END

View File

@@ -6,9 +6,145 @@
//
#import "XPNewHomeItemCell.h"
@interface XPNewHomeItemCell ()
#import <SDCycleScrollView/SDCycleScrollView.h>
#import "PIHomeItemModel.h"
#import "HomeRankAvatarModel.h"
@interface XPRankAvatarsCell : UICollectionViewCell
@property (nonatomic, strong) NSArray<HomeRankAvatarModel*> *cellModel;
@property (nonatomic, strong) NetImageView *avatar_1;
@property (nonatomic, strong) NetImageView *avatar_2;
@property (nonatomic, strong) NetImageView *avatar_3;
@end
@implementation XPRankAvatarsCell
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setupCell];
}
return self;
}
- (void)setCellModel:(NSArray<HomeRankAvatarModel *> *)cellModel {
if ([cellModel xpSafeObjectAtIndex:0]) {
self.avatar_1.imageUrl = [[cellModel xpSafeObjectAtIndex:0] avatar];
}
if ([cellModel xpSafeObjectAtIndex:1]) {
self.avatar_2.imageUrl = [[cellModel xpSafeObjectAtIndex:1] avatar];
}
if ([cellModel xpSafeObjectAtIndex:2]) {
self.avatar_3.imageUrl = [[cellModel xpSafeObjectAtIndex:2] avatar];
}
}
- (void)setupCell {
// TODO:
UIImageView *headDress_1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home_rank_Headdress_first"]];
UIImageView *headDress_2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home_rank_Headdress_second"]];
UIImageView *headDress_3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"home_rank_Headdress_third"]];
headDress_1.contentMode = UIViewContentModeScaleAspectFit;
headDress_2.contentMode = UIViewContentModeScaleAspectFit;
headDress_3.contentMode = UIViewContentModeScaleAspectFit;
[self.contentView addSubview:headDress_3];
[self.contentView addSubview:headDress_2];
[self.contentView addSubview:headDress_1];
[headDress_1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.contentView).offset(9);
make.width.mas_equalTo(62);
make.height.mas_equalTo(48);
}];
[headDress_2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.contentView).offset(-15);
make.left.mas_equalTo(self.contentView).offset(21);
make.width.mas_equalTo(42);
make.height.mas_equalTo(33);
}];
[headDress_3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.contentView).offset(-15);
make.right.mas_equalTo(self.contentView).offset(-21);
make.width.mas_equalTo(42);
make.height.mas_equalTo(33);
}];
[self.contentView insertSubview:self.avatar_1 belowSubview:headDress_1];
[self.contentView insertSubview:self.avatar_2 belowSubview:headDress_2];
[self.contentView insertSubview:self.avatar_3 belowSubview:headDress_3];
[self.avatar_1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(headDress_1).offset(-1.5);
make.centerX.mas_equalTo(headDress_1);
make.width.height.mas_equalTo(34);
}];
[self.avatar_2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(headDress_2).offset(-1.5);
make.centerX.mas_equalTo(headDress_2);
make.width.height.mas_equalTo(22);
}];
[self.avatar_3 mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(headDress_3).offset(-1.5);
make.centerX.mas_equalTo(headDress_3);
make.width.height.mas_equalTo(22);
}];
}
- (NetImageView *)avatar_1 {
if(!_avatar_1){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultBannerPlaceholder];
_avatar_1 = [[NetImageView alloc]initWithConfig:config];
_avatar_1.layer.cornerRadius = kGetScaleWidth(17);
_avatar_1.layer.masksToBounds = YES;
}
return _avatar_1;
}
- (NetImageView *)avatar_2 {
if(!_avatar_2){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultBannerPlaceholder];
_avatar_2 = [[NetImageView alloc]initWithConfig:config];
_avatar_2.layer.cornerRadius = kGetScaleWidth(11);
_avatar_2.layer.masksToBounds = YES;
}
return _avatar_2;
}
- (NetImageView *)avatar_3 {
if(!_avatar_3){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultBannerPlaceholder];
_avatar_3 = [[NetImageView alloc]initWithConfig:config];
_avatar_3.layer.cornerRadius = kGetScaleWidth(11);
_avatar_3.layer.masksToBounds = YES;
}
return _avatar_3;
}
@end
@interface XPNewHomeItemCell () <SDCycleScrollViewDelegate>
///
@property(nonatomic,strong) NetImageView *bgImageView;
//@property (nonatomic, strong) UIImageView *rankImageView;
@property (nonatomic, strong) SDCycleScrollView *pi_BannerView;
@property (nonatomic, strong) UIScrollView *avatarScrollView;
@property (nonatomic, strong) NSArray *dataSource;
@property (nonatomic, strong) NSTimer *timer;
@property (nonatomic,strong) NSArray *avatarsList;
@end
@implementation XPNewHomeItemCell
-(instancetype)initWithFrame:(CGRect)frame{
@@ -27,24 +163,97 @@
make.edges.equalTo(self.contentView);
}];
}
-(void)setItmeModel:(PIHomeItemModel *)itmeModel{
_itmeModel = itmeModel;
_bgImageView.layer.cornerRadius = kGetScaleWidth(12);
@kWeakify(self);
[_bgImageView loadImageWithUrl: _itmeModel.icon completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.bgImageView.layer.cornerRadius = kGetScaleWidth(0);
}];;
-(void)setItemModel:(PIHomeItemModel *)itmeModel{
_itemModel = itmeModel;
if ([itmeModel.ID isEqualToString:@"3"]) {
_bgImageView.image = [UIImage imageNamed:@"home_rank_Heads_bg"];
} else {
_bgImageView.layer.cornerRadius = kGetScaleWidth(12);
@kWeakify(self);
[_bgImageView loadImageWithUrl: _itemModel.icon completion:^(UIImage * _Nonnull image, NSURL * _Nonnull url) {
@kStrongify(self);
self.bgImageView.layer.cornerRadius = kGetScaleWidth(0);
}];
}
}
- (void)setRankAvatarsModelArray:(NSArray<HomeRankAvatarModel *> *)rankAvatarsModelArray {
if (![self.itemModel.ID isEqualToString:@"3"]) {
return;
}
if (rankAvatarsModelArray.count>0) {
_rankAvatarsModelArray = rankAvatarsModelArray;
if (!self.pi_BannerView.superview) {
[self.contentView addSubview:self.pi_BannerView];
[self.pi_BannerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
}];
}
[self setupCycleScrollViews];
}
}
- (void)setupCycleScrollViews {
NSMutableArray * array = [NSMutableArray array];
[self.rankAvatarsModelArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL * _Nonnull stop) {
[array addObject:@"Fuck"];
}];
self.pi_BannerView.imageURLStringsGroup = array;
[self.pi_BannerView autoScroll];
}
#pragma mark - SDCycleScrollViewDelegate
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index
{
if (_didTapRankArea) {
self.didTapRankArea();
}
}
- (Class)customCollectionViewCellClassForCycleScrollView:(SDCycleScrollView *)view {
return XPRankAvatarsCell.class;
}
- (void)setupCustomCell:(UICollectionViewCell *)cell
forIndex:(NSInteger)index
cycleScrollView:(SDCycleScrollView *)view {
XPRankAvatarsCell *myCell = (XPRankAvatarsCell *)cell;
myCell.cellModel = [self.rankAvatarsModelArray xpSafeObjectAtIndex:index];
}
#pragma mark -
- (NetImageView *)bgImageView{
if(!_bgImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defalutBannerPlaceholder];
config.placeHolder = [UIImageConstant defaultBannerPlaceholder];
_bgImageView = [[NetImageView alloc]initWithConfig:config];
_bgImageView.layer.cornerRadius = kGetScaleWidth(12);
_bgImageView.layer.masksToBounds = YES;
}
return _bgImageView;
}
- (UIScrollView *)avatarScrollView {
if (!_avatarScrollView) {
_avatarScrollView = [[UIScrollView alloc] init];
}
return _avatarScrollView;
}
- (SDCycleScrollView *)pi_BannerView {
if (!_pi_BannerView) {
_pi_BannerView = [[SDCycleScrollView alloc] init];
_pi_BannerView.backgroundColor = [UIColor clearColor];
_pi_BannerView.layer.cornerRadius = 10;
_pi_BannerView.layer.masksToBounds = YES;
_pi_BannerView.delegate = self;
_pi_BannerView.showPageControl = NO;
_pi_BannerView.autoScrollTimeInterval = 5.0;
_pi_BannerView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
_pi_BannerView.scrollDirection = UICollectionViewScrollDirectionVertical;
}
return _pi_BannerView;
}
@end

View File

@@ -15,12 +15,251 @@
#import "XPHomePartyViewController.h"
#import "PIHomeCategoryTitleModel.h"
@interface XPHomeMineViewController () <JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate>
#import "XPHomeMineProtocol.h"
#import "HomeMineRoomModel.h"
@property (nonatomic, strong) UIView *myRoomCard;
@interface XPHomeCustomJXTitleCell : JXCategoryTitleCell
@property (nonatomic, assign) bool isDisplayLine;
@property (nonatomic, strong) UIView *line;
@end
@implementation XPHomeCustomJXTitleCell
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self.line mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self);
make.width.mas_equalTo(1.5);
make.height.mas_equalTo(12.5);
make.right.mas_equalTo(self);
}];
}
return self;
}
- (void)setIsDisplayLine:(bool)isDisplayLine {
self.line.hidden = !isDisplayLine;
}
- (UIView *)line {
if (!_line) {
_line = [[UIView alloc] init];
_line.backgroundColor = UIColorRGBAlpha(0x1E1E1E, 0.2);
[self addSubview:_line];
}
return _line;
}
@end
@interface XPHomeCustomJXTitleView : JXCategoryTitleView
///VIP
//@property (nonatomic, strong) NSArray<NobleInfo *> *vipInfos;
@end
@implementation XPHomeCustomJXTitleView
- (Class)preferredCellClass{
return XPHomeCustomJXTitleCell.class;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPHomeCustomJXTitleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([self preferredCellClass]) forIndexPath:indexPath];
cell.isDisplayLine = indexPath.row == self.titles.count - 1 ? NO : YES;
return cell;
}
@end
@interface XPHomeMineRoomCard : UIView
@property (nonatomic, strong) HomeMineRoomModel *model;
@property (nonatomic, strong) NetImageView *avatarImageView;
@property (nonatomic, strong) UILabel *roomNameLabel;
@property (nonatomic, strong) UILabel *descLabel;
@property (nonatomic, strong) UILabel *heatLabel;
@property (nonatomic, strong) UIView *miniAvatarsContainer;
@end
@implementation XPHomeMineRoomCard
- (instancetype)init
{
self = [super init];
if (self) {
[self setupUI];
}
return self;
}
- (void)setModel:(HomeMineRoomModel *)model {
_model = model;
if (model) {
self.avatarImageView.imageUrl = model.avatar;
self.roomNameLabel.text = model.title;
self.descLabel.text = model.introduction;
self.heatLabel.text = [NSString stringWithFormat:@"%ld", model.onlineNum];
for (UIView *subView in self.miniAvatarsContainer.subviews) {
[subView removeFromSuperview];
}
NSInteger i = 0;
for (HomePlayMicUserModel *micUser in model.micUsers) {
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
NetImageView *iconView = [[NetImageView alloc]initWithConfig:config];
iconView.layer.cornerRadius = kGetScaleWidth(20)/2;
iconView.layer.masksToBounds = YES;
iconView.layer.borderWidth = 1;
iconView.layer.borderColor = [UIColor whiteColor].CGColor;
iconView.imageUrl = micUser.avatar;
[self.miniAvatarsContainer addSubview:iconView];
CGFloat left = kGetScaleWidth(90) + i * kGetScaleWidth(16);
[iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.miniAvatarsContainer);
make.leading.mas_equalTo(left);
make.width.height.mas_equalTo(20);
}];
i++;
}
} else {
self.roomNameLabel.text = @"My room";
self.descLabel.text = @"Welcome to my room";
self.heatLabel.text = @"0";
for (UIView *subView in self.miniAvatarsContainer.subviews) {
[subView removeFromSuperview];
}
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
NetImageView *iconView = [[NetImageView alloc]initWithConfig:config];
iconView.layer.cornerRadius = kGetScaleWidth(20)/2;
iconView.layer.masksToBounds = YES;
iconView.layer.borderWidth = 1;
iconView.layer.borderColor = [UIColor whiteColor].CGColor;
[self.miniAvatarsContainer addSubview:iconView];
[iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.miniAvatarsContainer);
make.leading.mas_equalTo(self.miniAvatarsContainer);
make.width.height.mas_equalTo(20);
}];
}
}
- (void)setupUI {
UIImage *gradientColorImage = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor colorWithHexString:@"#FFE993"],
[DJDKMIMOMColor colorWithHexString:@"#FDC36F"]]
gradientType:GradientTypeTopToBottom
imgSize:CGSizeMake(350, 100)];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:gradientColorImage];
backgroundImageView.layer.cornerRadius = 20;
backgroundImageView.clipsToBounds = YES;
[self addSubview:backgroundImageView];
[backgroundImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.mas_equalTo(self);
make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(345), kGetScaleWidth(92)));
}];
[self addSubview:self.avatarImageView];
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.mas_equalTo(backgroundImageView).offset(8);
make.bottom.mas_equalTo(backgroundImageView).offset(-8);
make.width.mas_equalTo(self.avatarImageView.mas_height);
}];
[self addSubview:self.roomNameLabel];
[self.roomNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(backgroundImageView).offset(16);
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(8);
make.right.mas_equalTo(backgroundImageView).offset(-8);
}];
[self addSubview:self.descLabel];
[self.descLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(backgroundImageView).offset(40);
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(8);
make.right.mas_equalTo(backgroundImageView).offset(-8);
}];
[self addSubview:self.heatLabel];
[self.heatLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(backgroundImageView).offset(-8);
make.right.mas_equalTo(backgroundImageView).offset(-8);
}];
UIImageView *fireImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ms_home_heat_icon"]];
[self addSubview:fireImageView];
[fireImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(backgroundImageView).offset(-8);
make.right.mas_equalTo(self.heatLabel.mas_left).offset(-8);
}];
_miniAvatarsContainer = [[UIView alloc] init];
[self addSubview:_miniAvatarsContainer];
[_miniAvatarsContainer mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(backgroundImageView).offset(-8);
make.left.mas_equalTo(self.avatarImageView.mas_right).offset(8);
make.width.mas_equalTo(120);
make.height.mas_equalTo(20);
}];
}
- (NetImageView *)avatarImageView {
if (!_avatarImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
_avatarImageView.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"F5EDFF"];
_avatarImageView.layer.masksToBounds = YES;
_avatarImageView.layer.cornerRadius = 56/2;
_avatarImageView.layer.borderColor = [UIColor whiteColor].CGColor;
_avatarImageView.layer.borderWidth = 1;
}
return _avatarImageView;
}
- (UILabel *)roomNameLabel {
if (!_roomNameLabel) {
_roomNameLabel = [UILabel labelInitWithText:@""
font:[UIFont systemFontOfSize:15 weight:UIFontWeightBold]
textColor:[DJDKMIMOMColor colorWithHexString:@"18181A"]];
}
return _roomNameLabel;
}
- (UILabel *)descLabel {
if (!_descLabel) {
_descLabel = [UILabel labelInitWithText:@""
font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium]
textColor:[DJDKMIMOMColor colorWithHexString:@"18181A"]];
}
return _descLabel;
}
- (UILabel *)heatLabel {
if (!_heatLabel) {
_heatLabel = [UILabel labelInitWithText:@""
font:[UIFont systemFontOfSize:13 weight:UIFontWeightMedium]
textColor:[DJDKMIMOMColor colorWithHexString:@"797B80"]];
}
return _heatLabel;
}
@end
@interface XPHomeMineViewController () <JXCategoryViewDelegate, JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate, XPHomeMineProtocol>
@property (nonatomic, strong) XPHomeMineRoomCard *headView;
@property (nonatomic, assign) NSInteger currentIndex;
@property (nonatomic, strong) NSMutableDictionary *validListDict;
@property (nonatomic, strong) JXPagerView *pagingView;
@property (nonatomic, strong) JXCategoryTitleView *titleView;
@property (nonatomic, strong) XPHomeCustomJXTitleView *titleView;
@property (nonatomic, strong) NSMutableArray<PIHomeCategoryTitleModel *> *tagModelList;
@end
@@ -29,8 +268,20 @@
- (void)viewDidLoad {
[super viewDidLoad];
[self.presenter getMyRoom];
[self.presenter getMyCollectRooms];
self.currentIndex = 0;
[self setupNotifications];
[self setupUI];
[self setupRefreshHeader];
[self setupDefaultTags];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.pagingView.mainTableView.mj_header beginRefreshing];
}
- (BOOL)isHiddenNavBar {
@@ -41,34 +292,86 @@
return [[XPHomeMinePresenter alloc] init];
}
- (void)setupNotifications {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(homeVCRefreshComplete)
name:@"khomeVCRefreshComplete"
object:nil];
}
- (void)setupUI {
self.view.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.pagingView];
[self.pagingView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).mas_offset(kGetScaleWidth(8));
make.leading.bottom.trailing.mas_equalTo(0);
}];
}
- (void)setupRefreshHeader {
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;
}
- (void)setupDefaultTags {
NSMutableArray *titleArray = [NSMutableArray array];
for (PIHomeCategoryTitleModel *model in self.tagModelList) {
[titleArray addObject:model.name];
}
self.titleView.titles = titleArray;
[self.titleView reloadData];
[self headerRefresh];
}
#pragma mark -
- (void)headerRefresh {
[self.presenter getMyRoom];
PIHomeCategoryTitleModel *tagModel = [self.tagModelList xpSafeObjectAtIndex:self.currentIndex];
XPHomePartyViewController *homeVC = [self.validListDict objectForKey:[NSNumber numberWithInteger:self.currentIndex]];
homeVC.tagModel = tagModel;
}
- (void)homeVCRefreshComplete {
[self.pagingView.mainTableView.mj_header endRefreshing];
[self.pagingView.mainTableView.mj_footer endRefreshing];
}
#pragma mark - XPHomeMineProtocol
- (void)getMyRoomSuccess:(HomeMineRoomModel *)model {
self.headView.model = model;
[self.pagingView reloadData];
[self.pagingView resizeTableHeaderViewHeightWithAnimatable:NO duration:0 curve:0];
[self.pagingView.mainTableView.mj_header endRefreshing];
}
#pragma mark - JXPagerMainTableViewGestureDelegate
- (BOOL)mainTableViewGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
//categoryView
if (otherGestureRecognizer.view == self.pagingView.listContainerView) {
return NO;
}
// if(otherGestureRecognizer.view.tag == 9000001){
// return NO;
// }
// if(otherGestureRecognizer.view.tag == 9000002){
// return NO;
// }
//
// if(otherGestureRecognizer.view.tag == 98777){
// return NO;
// }
return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
}
#pragma mark - JXCategoryViewDelegate
- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index{
self.currentIndex = index;
}
return kGetScaleWidth(170);
#pragma mark - JXCategoryViewDelegate
- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
return kGetScaleWidth(98);
}
- (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView {
return self.myRoomCard;
return self.headView;
}
- (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
@@ -84,18 +387,22 @@
}
- (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index {
// id homeV = [self.validListDict objectForKey:[NSNumber numberWithInteger:index]];
// if (homeV) {
// return homeV;
// }
id homeV = [self.validListDict objectForKey:[NSNumber numberWithInteger:index]];
if (homeV) {
return homeV;
}
XPHomePartyViewController *homeVC = [[XPHomePartyViewController alloc] init];
homeVC.tagModel = [self.tagModelList xpSafeObjectAtIndex:index];
// [self.validListDict setObject:homeVC forKey:@(index)];
[self.validListDict setObject:homeVC forKey:@(index)];
return homeVC;
}
- (UIView *)myRoomCard {
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 94)];
#pragma mark -
- (XPHomeMineRoomCard *)headView {
if (!_headView) {
_headView = [[XPHomeMineRoomCard alloc] init];
}
return _headView;
}
- (JXPagerView *)pagingView {
@@ -109,4 +416,65 @@
}
return _pagingView;
}
- (NSMutableArray<PIHomeCategoryTitleModel *> *)tagModelList{
if(!_tagModelList){
_tagModelList = [NSMutableArray array];
PIHomeCategoryTitleModel *recommendModel = [PIHomeCategoryTitleModel new];
recommendModel.id = @"-11";
recommendModel.name = @"最近";//YMLocalizedString(@"XPNewHomeViewController0");
recommendModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(27) font:kFontSemibold(14)];
recommendModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(27) font:kFontRegular(14)];
recommendModel.isChecked = YES;
PIHomeCategoryTitleModel *hotModel = [PIHomeCategoryTitleModel new];
hotModel.id = @"-12";
hotModel.name = @"收藏";//YMLocalizedString(@"XPNewHomeViewController1");
hotModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(27) font:kFontSemibold(14)];
hotModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(27) font:kFontRegular(14)];
[_tagModelList addObject:recommendModel];
[_tagModelList addObject:hotModel];
}
return _tagModelList;
}
- (NSMutableDictionary *)validListDict{
if(!_validListDict){
_validListDict = [NSMutableDictionary dictionary];
}
return _validListDict;
}
- (XPHomeCustomJXTitleView *)titleView {
if (!_titleView) {
_titleView = [[XPHomeCustomJXTitleView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
_titleView.delegate = self;
_titleView.titles = @[];
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = UIColorFromRGB(0x767585);
_titleView.titleSelectedColor = UIColorFromRGB(0x1E1E1E);
_titleView.titleFont = kFontBold(14);
_titleView.titleSelectedFont = kFontBold(14);
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.averageCellSpacingEnabled = NO;
_titleView.cellWidth = 50;
_titleView.cellSpacing = kGetScaleWidth(28);
_titleView.listContainer = (id<JXCategoryViewListContainer>)self.pagingView.listContainerView;
JXCategoryIndicatorImageView *indicator = [[JXCategoryIndicatorImageView alloc] init];
indicator.indicatorImageView.image = [UIImage imageNamed:@"ms_hoem_index_icon"];
indicator.indicatorImageViewSize = CGSizeMake(kGetScaleWidth(24), kGetScaleWidth(24));
indicator.verticalMargin = -kGetScaleWidth(4);
indicator.contentMode = UIViewContentModeScaleAspectFit;
_titleView.indicators = @[indicator];
}
return _titleView;
}
@end

View File

@@ -28,9 +28,12 @@
@implementation XPHomePagingViewController
- (BOOL)isHiddenNavBar {
return YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setup];
}
@@ -49,9 +52,8 @@
_pageContainer.dataSource = self;
_recommendVC = [[XPNewHomeViewController alloc] init];
_mineVC = [[XPHomeMineViewController alloc] init];
_viewControllers = @[_mineVC, _recommendVC];
_viewControllers = @[_recommendVC, _mineVC];
[self didTapRecommendButton];
// [self didTapMineButton];
[self addChildViewController:_pageContainer];
[self.view addSubview:_pageContainer.view];
@@ -61,73 +63,93 @@
make.top.mas_equalTo(self.topControlView.mas_bottom);
}];
[self.pageContainer didMoveToParentViewController:self];
for (UIView *view in self.pageContainer.view.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView *)view;
scrollView.scrollEnabled = NO; //
}
}
}
- (void)setupTopTheme {
UIImageView *theme = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, kGetScaleWidth(223))];
// home_top_bg
theme.image = [UIImage imageNamed:@"home_top_bg"];
theme.contentMode = UIViewContentModeScaleAspectFill;
[self.view addSubview:theme];
}
- (void)setupTopControl {
// TODO: StackView baseline
_topControlView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 44+52)];
_topControlView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4];
_topControlView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,
KScreenWidth,
44+[UIApplication sharedApplication].keyWindow.safeAreaInsets.top)];
_topControlView.backgroundColor = [UIColor clearColor];
[self.view addSubview:_topControlView];
_recommendButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_recommendButton setTitle:YMLocalizedString(@"XPMonentsViewController2") forState:UIControlStateNormal];
[_recommendButton addTarget:self
action:@selector(didTapRecommendButton)
forControlEvents:UIControlEventTouchUpInside];
[_topControlView addSubview:_recommendButton];
[_recommendButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.topControlView).offset(-8);
if (isMSRTL()) {
make.right.mas_equalTo(self.topControlView).offset(-16);
} else {
make.left.mas_equalTo(self.topControlView).offset(16);
}
}];
_mineButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_mineButton setTitle:@"mine" forState:UIControlStateNormal];
[_mineButton setTitle:YMLocalizedString(@"TabbarViewController5") forState:UIControlStateNormal];
[_mineButton addTarget:self
action:@selector(didTapMineButton)
forControlEvents:UIControlEventTouchUpInside];
[_topControlView addSubview:_mineButton];
[_mineButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.topControlView).offset(-8);
make.left.mas_equalTo(self.topControlView).offset(8);
}];
_recommendButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_recommendButton setTitle:@"recommend" forState:UIControlStateNormal];
[_recommendButton addTarget:self
action:@selector(didTapRecommendButton)
forControlEvents:UIControlEventTouchUpInside];
[_topControlView addSubview:_recommendButton];
[_recommendButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.topControlView).offset(-8);
make.left.mas_equalTo(_mineButton.mas_right).offset(8);
if (isMSRTL()) {
make.right.mas_equalTo(_recommendButton.mas_left).offset(-32);
} else {
make.left.mas_equalTo(_recommendButton.mas_right).offset(32);
}
}];
UIButton *searchButton = [UIButton buttonWithType:UIButtonTypeCustom];
[searchButton setTitle:@"搜索" forState:UIControlStateNormal];
[searchButton setBackgroundImage:[UIImage imageNamed:@"home_nav_search"] forState:UIControlStateNormal];
[searchButton addTarget:self
action:@selector(didTapSearchButton)
forControlEvents:UIControlEventTouchUpInside];
[_topControlView addSubview:searchButton];
[searchButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.topControlView).offset(-8);
make.right.mas_equalTo(self.topControlView).offset(-8);
if (isMSRTL()) {
make.left.mas_equalTo(self.topControlView).offset(16);
} else {
make.right.mas_equalTo(self.topControlView).offset(-16);
}
make.width.height.mas_equalTo(16);
}];
}
- (void)displayMineTab {
[_mineButton.titleLabel setFont:[UIFont systemFontOfSize:21 weight:UIFontWeightBold]];
[_recommendButton.titleLabel setFont:[UIFont systemFontOfSize:18 weight:UIFontWeightBold]];
[_mineButton.titleLabel setFont:kFontBold(21)];
[_recommendButton.titleLabel setFont:kFontBold(18)];
[_mineButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_recommendButton setTitleColor:[UIColor colorWithWhite:1 alpha:0.6] forState:UIControlStateNormal];
}
- (void)displayRecommendTab {
[_mineButton.titleLabel setFont:[UIFont systemFontOfSize:18 weight:UIFontWeightBold]];
[_recommendButton.titleLabel setFont:[UIFont systemFontOfSize:21 weight:UIFontWeightBold]];
[_mineButton.titleLabel setFont:kFontBold(18)];
[_recommendButton.titleLabel setFont:kFontBold(21)];
[_recommendButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_mineButton setTitleColor:[UIColor colorWithWhite:1 alpha:0.6] forState:UIControlStateNormal];
}
#pragma mark -
- (void)didTapMineButton {
[self.pageContainer setViewControllers:@[self.viewControllers[0]]
[self.pageContainer setViewControllers:@[self.viewControllers[1]]
direction:UIPageViewControllerNavigationDirectionReverse
animated:NO
completion:nil];
@@ -135,7 +157,7 @@
}
- (void)didTapRecommendButton {
[self.pageContainer setViewControllers:@[self.viewControllers[1]]
[self.pageContainer setViewControllers:@[self.viewControllers[0]]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO
completion:nil];
@@ -152,18 +174,18 @@
#pragma mark - UIPageViewController Delegate & DataSource
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
NSUInteger index = [self.viewControllers indexOfObject:viewController];
if (index > 0) {
return self.viewControllers[index - 1];
}
// NSUInteger index = [self.viewControllers indexOfObject:viewController];
// if (index > 0) {
// return self.viewControllers[index - 1];
// }
return nil;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = [self.viewControllers indexOfObject:viewController];
if (index < self.viewControllers.count - 1) {
return self.viewControllers[index + 1];
}
// NSUInteger index = [self.viewControllers indexOfObject:viewController];
// if (index < self.viewControllers.count - 1) {
// return self.viewControllers[index + 1];
// }
return nil;
}

View File

@@ -51,8 +51,6 @@
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
@@ -66,33 +64,37 @@
make.top.mas_equalTo(kGetScaleWidth(10));
make.leading.trailing.bottom.equalTo(self.view);
}];
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(fooderRefresh)];
MJRefreshBackNormalFooter *footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(footerRefresh)];
footer.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
footer.stateLabel.font = [UIFont systemFontOfSize:10.0];
self.collectionView.mj_footer = footer;
}
#pragma mark - fangfa
#pragma mark -
- (void)headerRefresh {
if([self.tagModel.id isEqualToString:@"-1"]){
self.page = 1;
if ([self.tagModel.id isEqualToString:@"-11"]) {
[self.presenter getMyCollectRooms:self.page];
} else if ([self.tagModel.id isEqualToString:@"-12"]) {
[self.presenter getMyRecentRooms:self.page];
} else if([self.tagModel.id isEqualToString:@"-1"]){
[self.presenter getHomePersonalRoomList];
}else{
self.page = 1;
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:50];
} else{
[self.presenter getRecommendRoomList:self.tagModel.id
page:self.page];
}
}
-(void)fooderRefresh{
if([self.tagModel.id isEqualToString:@"-1"]){
-(void)footerRefresh{
self.page++;
if ([self.tagModel.id isEqualToString:@"-11"]) {
[self.presenter getMyCollectRooms:self.page];
} else if ([self.tagModel.id isEqualToString:@"-12"]) {
[self.presenter getMyRecentRooms:self.page];
} else if([self.tagModel.id isEqualToString:@"-1"]){
[self.collectionView.mj_footer endRefreshing];
}else{
self.page++;
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page pageSize:20];
[self.presenter getRecommendRoomList:self.tagModel.id page:self.page];
}
}
@@ -114,22 +116,16 @@
return self.datasource.count;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
if(self.datasource.count == 0)return self.collectionView.frame.size;
return CGSizeMake(kGetScaleWidth(345), kGetScaleWidth(92));
}
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
HomePlayRoomModel * roomInfo = [self.datasource xpSafeObjectAtIndex:indexPath.row];
if (roomInfo.uid.length > 0) {
[XPRoomViewController openRoom:roomInfo.uid viewController:self];
}
if (roomInfo.uid.length > 0) {
[XPRoomViewController openRoom:roomInfo.uid viewController:self];
}
}
#pragma mark - XPHomeProtocol
@@ -141,6 +137,7 @@
self.datasource = [NSMutableArray arrayWithArray:list];
[self.collectionView reloadData];
}
- (void)getHomePersonalRoomListFail{
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
}
@@ -163,6 +160,40 @@
[self.collectionView.mj_footer endRefreshing];
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
}
- (void)getMineCollectRoomsSuccess:(NSArray *)rooms {
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
[self.collectionView.mj_footer endRefreshing];
for (HomePlayRoomModel *model in rooms) {
model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue
height:kGetScaleWidth(12)
font:kFontBold(10)] + 1;
}
if(self.page == 1){
self.datasource = [NSMutableArray arrayWithArray:rooms];
}else{
[self.datasource addObjectsFromArray:rooms];
}
[self.collectionView reloadData];
}
- (void)getMineRecentRoomsSuccess:(NSArray *)rooms {
[[NSNotificationCenter defaultCenter]postNotificationName:@"khomeVCRefreshComplete" object:nil];
[self.collectionView.mj_footer endRefreshing];
for (HomePlayRoomModel *model in rooms) {
model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue
height:kGetScaleWidth(12)
font:kFontBold(10)] + 1;
}
if(self.page == 1){
self.datasource = [NSMutableArray arrayWithArray:rooms];
}else{
[self.datasource addObjectsFromArray:rooms];
}
[self.collectionView reloadData];
}
#pragma mark - JXPagingViewListViewDelegate
- (UIScrollView *)listScrollView {
return self.collectionView;
@@ -191,9 +222,6 @@
});
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
MSBaseRTLFlowLayout *layout = [[MSBaseRTLFlowLayout alloc] init];

View File

@@ -60,7 +60,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
///
//@property (nonatomic,strong) UIImageView *backImageView;
///
@property (nonatomic,strong) XPNewHomeNavView *navView;
//@property (nonatomic,strong) XPNewHomeNavView *navView;
///
@property(nonatomic,strong) XPNewHomeHeadView *headView;
///
@@ -103,10 +103,13 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (void)viewDidLoad {
[super viewDidLoad];
if(self.isEmpty == NO){
[self.presenter getHomeTagList];
[self initHttp];
[self initSubViews];
[self initSubViewConstraints];
[self requestCheckIp];
// [self.presenter getHomeAllTopsData];
[self.presenter getHomeTopData];
[self.presenter getHomeTagList];
}
}
@@ -114,12 +117,16 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[super viewWillAppear:animated];
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.pagingView.mainTableView.mj_header beginRefreshing];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
- (void)tokenInvalid {
[[AccountInfoStorage instance] saveAccountInfo:nil];
[[AccountInfoStorage instance] saveTicket:nil];
if ([NIMSDK sharedSDK].loginManager.isLogined) {
@@ -174,9 +181,8 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
self.pagingView.mainTableView.mj_header = header;
[ClientConfig shareConfig].inviteCode = @"";
[self.pagingView.mainTableView.mj_header beginRefreshing];
// [self.pagingView.mainTableView.mj_header beginRefreshing];
@kWeakify(self);
self.recommendVC.refreshComplete = ^{
@kStrongify(self);
[self.pagingView.mainTableView.mj_header endRefreshing];
@@ -193,7 +199,8 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(requestCheckIp) object:nil];
}
-(void)headerRefresh{
[self initHttp];
[self.presenter getHomeTopData];
[self.presenter getHomeRanks];
PIHomeCategoryTitleModel *tagModel = [self.tagModelList xpSafeObjectAtIndex:self.type];
XPHomePartyViewController *homeVC = [self.validListDict objectForKey:[NSNumber numberWithInteger:self.type]];
@@ -247,11 +254,6 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
}];
}
- (void)initHttp {
[self.presenter getHomeTopData];
[self requestCheckIp];
}
#pragma mark - XPNewHomeNavViewDelegate
- (void)xPNewHomeNavView:(XPNewHomeNavView *)view didClickRank:(UIButton *)sender {
XPWebViewController * webVC =[[XPWebViewController alloc] init];
@@ -301,7 +303,7 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
}
#pragma mark - JXCategoryViewDelegate
- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
if (self.headView.itemList.count == 0 && self.headView.bannerList.count == 0){
return 0;
}else if (self.headView.itemList.count > 0 && self.headView.bannerList.count == 0){
@@ -370,9 +372,26 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[self.pagingView resizeTableHeaderViewHeightWithAnimatable:NO duration:0 curve:0];
}
- (void)getHomeTopDataSuccess:(NSArray *)resourceList
banners:(NSArray *)banners
rankAvatars:(NSArray *)rankAvatars {
self.headView.itemList = resourceList;
self.headView.bannerList = banners;
self.headView.rankAvatars = rankAvatars;
[self.pagingView reloadData];
[self.pagingView resizeTableHeaderViewHeightWithAnimatable:NO duration:0 curve:0];
}
- (void)getHomeRanksSuccess:(NSArray *)resourceList
{
self.headView.rankAvatars = resourceList;
}
///tag
- (void)getHomeTagListSuccess:(NSArray<PIHomeCategoryTitleModel *> *)array{
if(array.count == 0)return;
if(array.count == 0) {
return;
}
NSMutableArray *list = [NSMutableArray new];
NSMutableArray *titleArray = [NSMutableArray array];
for (PIHomeCategoryTitleModel *model in array) {
@@ -417,10 +436,10 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
[self showErrorToast:msg];
}
-(void)requestCheckIp{
if([AccountInfoStorage instance].getTicket.length > 0 && [AccountInfoStorage instance].name.length > 0){
if([AccountInfoStorage instance].getTicket.length > 0 &&
[AccountInfoStorage instance].name.length > 0){
[self.presenter checkIpRegionAction];
}
}
///
-(void)selectItemWithModel:(PIHomeItemModel *)model{
@@ -488,23 +507,23 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
_titleView.titles = @[];
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = UIColorFromRGB(0x767585);
_titleView.titleSelectedColor = UIColorFromRGB(0x1E1E1F);
_titleView.titleFont = kFontRegular(14);
_titleView.titleSelectedFont = kFontSemibold(16);
_titleView.titleSelectedColor = UIColorFromRGB(0x1E1E1E);
_titleView.titleFont = kFontBold(14);
_titleView.titleSelectedFont = kFontBold(14);
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = kGetScaleWidth(20);
_titleView.listContainer = (id<JXCategoryViewListContainer>)self.pagingView.listContainerView;
JXCategoryIndicatorImageView * indocator = [[JXCategoryIndicatorImageView alloc] init];
indocator.indicatorImageView.image = [UIImage imageNamed:@"ms_hoem_index_icon"];
indocator.indicatorImageViewSize = CGSizeMake(kGetScaleWidth(24), kGetScaleWidth(24));
indocator.verticalMargin = -kGetScaleWidth(4);
indocator.contentMode = UIViewContentModeScaleAspectFit;
_titleView.indicators = @[indocator];
JXCategoryIndicatorImageView * indicator = [[JXCategoryIndicatorImageView alloc] init];
indicator.indicatorImageView.image = [UIImage imageNamed:@"ms_hoem_index_icon"];
indicator.indicatorImageViewSize = CGSizeMake(kGetScaleWidth(24), kGetScaleWidth(24));
indicator.verticalMargin = -kGetScaleWidth(4);
indicator.contentMode = UIViewContentModeScaleAspectFit;
_titleView.indicators = @[indicator];
}
return _titleView;
}
@@ -512,20 +531,6 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (NSMutableArray<PIHomeCategoryTitleModel *> *)tagModelList{
if(!_tagModelList){
_tagModelList = [NSMutableArray array];
PIHomeCategoryTitleModel *recommendModel = [PIHomeCategoryTitleModel new];
recommendModel.id = @"-1";
recommendModel.name = YMLocalizedString(@"XPNewHomeViewController0");
recommendModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
recommendModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontRegular(14)];
recommendModel.isChecked = YES;
PIHomeCategoryTitleModel *hotModel = [PIHomeCategoryTitleModel new];
hotModel.id = @"-2";
hotModel.name = YMLocalizedString(@"XPNewHomeViewController1");
hotModel.checkedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontSemibold(16)];
hotModel.noCheckedWidth = [UILabel getWidthWithText:recommendModel.name height:kGetScaleWidth(44) font:kFontRegular(14)];
// [_tagModelList addObject:recommendModel];
// [_tagModelList addObject:hotModel];
}
return _tagModelList;
}
@@ -550,13 +555,13 @@ UIKIT_EXTERN NSString * const kOpenRoomNotification;
- (XPNewHomeNavView *)navView {
if (!_navView) {
_navView = [[XPNewHomeNavView alloc] init];
_navView.delegate = self;
}
return _navView;
}
//- (XPNewHomeNavView *)navView {
// if (!_navView) {
// _navView = [[XPNewHomeNavView alloc] init];
// _navView.delegate = self;
// }
// return _navView;
//}
//- (UIImageView *)backImageView {
// if (!_backImageView) {

View File

@@ -39,7 +39,7 @@
#pragma mark -
- (NetImageView *)bgImageView{
if(!_bgImageView){
NetImageConfig *config = [[NetImageConfig alloc]init]; config.placeHolder = [UIImageConstant defalutBannerPlaceholder];
NetImageConfig *config = [[NetImageConfig alloc]init]; config.placeHolder = [UIImageConstant defaultBannerPlaceholder];
_bgImageView = [[NetImageView alloc]initWithConfig:config];
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
_bgImageView.layer.cornerRadius = kGetScaleWidth(4);

View File

@@ -287,10 +287,10 @@
make.width.mas_equalTo(22);
make.height.mas_equalTo(22);
}];
CGFloat width = 60;
[self.contributeEnterView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(22);
make.width.mas_equalTo(width);
make.width.mas_greaterThanOrEqualTo(60);
}];
[self.topicStackView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -308,6 +308,7 @@
- (void)configLittleGameState {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
if (roomInfo.isPermitRoom != PermitRoomType_Licnese && roomInfo.roomModeType != RoomModeType_Open_Blind && roomInfo.roomModeType != RoomModeType_Open_PK_Mode && roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode && roomInfo.roomModeType != RoomModeType_Open_Micro_Mode && !roomInfo.leaveMode && roomInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
if (!self.gameListView.superview) {
[self addSubview:self.gameListView];
@@ -321,7 +322,6 @@
if (self.gameListView.superview) {
[self.gameListView removeFromSuperview];
}
}
}
//
@@ -531,7 +531,8 @@
}
- (void)onRoomUpdate {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
MicroQueueModel * model = [self.delegate.getMicroQueue objectForKey:@"-1"];
if (roomInfo.roomModeType == RoomModeType_Open_Blind && model.userInfo && model.userInfo.uid == [AccountInfoStorage instance].getUid.integerValue) {
if (!self.datingProgresButton.superview) {
@@ -566,7 +567,7 @@
}
[self updateHourRankEntrance];
if (roomInfo.type == RoomType_Anchor) {
self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
// self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
if (roomInfo.hadChangeRoomType) {
///
[Api requestInRoomFansTeam:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@@ -576,7 +577,7 @@
[self updateContrionEntranceWithRoomUid:[NSString stringWithFormat:@"%ld", roomInfo.uid] type:@"month"];
}
} else {
self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView5");
// self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView5");
[self.fansTeamEntranceView removeFromSuperview];
if (roomInfo.hadChangeRoomType) {
[self updateContrionEntranceWithRoomUid:[NSString stringWithFormat:@"%ld", roomInfo.uid] type:@"day"];
@@ -593,10 +594,11 @@
- (void)onRoomEntered {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
NSString * roomUid = [NSString stringWithFormat:@"%ld", roomInfo.uid];
[self updateHourRankEntrance];
if (roomInfo.type == RoomType_Anchor) {//
self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
// self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
///
[Api requestInRoomFansTeam:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
XPAnchorFansRelationModel *model = [XPAnchorFansRelationModel modelWithJSON:data.data];
@@ -604,7 +606,7 @@
} teamUid:roomUid];
[self updateContrionEntranceWithRoomUid:roomUid type:@"month"];//
} else {
self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
// self.contributeEnterView.title = YMLocalizedString(@"XPRoomFunctionContainerView7");
[self updateContrionEntranceWithRoomUid:roomUid type:@"day"];//
}
if (![[AccountInfoStorage instance].getUid isEqualToString:roomUid]) {//
@@ -681,11 +683,23 @@
}
}
- (void)updateContributeEnterViewTitle:(AttachmentModel *)attachment {
if (attachment.first == 111 && attachment.second == 1110) {
NSNumber *num = [attachment.data objectForKey:@"serialValue"];
if (num) {
self.contributeEnterView.title = num.stringValue;
}
}
}
- (void)handleNIMCustomMessage:(NIMMessage *)message {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
NIMCustomObject *obj = (NIMCustomObject *)message.messageObject;
if (obj.attachment != nil && [obj.attachment isKindOfClass:[AttachmentModel class]]) {
AttachmentModel *attachment = (AttachmentModel *)obj.attachment;
[self updateContributeEnterViewTitle:attachment];
if (attachment.first == CustomMessageType_AnchorRoom_AudienceUpMic) {
[self showAskForUpMic:attachment.data];
} else if(attachment.first == CustomMessageType_Gift && (attachment.second == Custom_Message_Sub_Gift_Send || attachment.second == Custom_Message_Sub_Gift_LuckySend || attachment.second == Custom_Message_Sub_Gift_ChannelNotify)) {
@@ -1631,6 +1645,7 @@
- (void)configPlayMusicRoomTypeChange {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
if (roomInfo.type == RoomType_MiniGame) {
[self pauseLayer:self.musicEnterButton.imageView.layer];
[self.musicEnterButton removeFromSuperview];
@@ -1667,6 +1682,7 @@
- (void)handleAcrollPKCountView:(long long)time {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
if (!self.acrossPKCountView.superview) {
[self addSubview:self.acrossPKCountView];
[self bringSubviewToFront:self.acrossPKCountView];
@@ -1693,6 +1709,7 @@
- (void)configWishGiftEnter {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
NSString * roomUid = [NSString stringWithFormat:@"%ld", roomInfo.uid];
if (roomInfo.hasOpenWishGift) {
[Api wishGiftList:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
@@ -1727,6 +1744,7 @@
- (void)roomInfoUpdateConfigWishGift {
RoomInfoModel * roomInfo = self.delegate.getRoomInfo;
self.contributeEnterView.title = roomInfo.serialValue.stringValue;
if (roomInfo.datingState == RoomDatingStateChangeType_Close) {
if (self.wishGiftView.superview) {
self.wishGiftView.hidden = NO;

View File

@@ -550,7 +550,7 @@
return nil;
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark - Getters And Setters
- (UITableView *)messageTableView {

View File

@@ -1130,7 +1130,7 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
return nil;
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark - Getters And Setters
- (UITableView *)messageTableView {

View File

@@ -393,7 +393,7 @@
return nil;
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defaultBannerPlaceholder];
}
#pragma mark -
- (UICollectionView *)collectionView{

View File

@@ -116,7 +116,7 @@
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
UIImage *image = [self.picList xpSafeObjectAtIndex:index];
return image != nil ? image : [UIImageConstant defalutBannerPlaceholder];
return image != nil ? image : [UIImageConstant defaultBannerPlaceholder];
}
-(void)clickUploadPicturesAction{
if(self.chooseType == Photo_Type_Unlock){

View File

@@ -847,7 +847,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
#pragma mark -
- (void)configRoomMiniNView:(NSDictionary *)dic {
UserInfoModel * userInfo = [UserInfoModel modelWithDictionary:dic[@"userInfo"]];
RoomInfoModel * roomInfo = [RoomInfoModel modelWithDictionary:dic[@"roomInfo"]];
RoomInfoModel * roomInfo = [RoomInfoModel modelWithDictionary:dic[@"roomInfo"]];
NSMutableDictionary * microQueue = dic[@"microQueue"];
[self.roomMineView configRoomMiniView:roomInfo userInfo:userInfo micQueue:microQueue];
}