首页数据对接
This commit is contained in:
22
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/Contents.json
vendored
Normal file
22
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_audio_stop@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_audio_stop@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/home_audio_stop@2x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/home_audio_stop@2x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 590 B |
BIN
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/home_audio_stop@3x.png
vendored
Normal file
BIN
YuMi/Assets.xcassets/low/newhome/home_audio_stop.imageset/home_audio_stop@3x.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 954 B |
@@ -116,6 +116,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
+ (void)onceLookAnchorRoomComplection:(HttpRequestHelperCompletion)complection uid:(NSString *)uid;
|
||||
///首页改版资源位
|
||||
+(void)requestCurrentResourceListComplection:(HttpRequestHelperCompletion)complection;
|
||||
/// 一键匹配
|
||||
/// @param completion 完成
|
||||
+ (void)homeChatPick:(HttpRequestHelperCompletion)completion;
|
||||
///发现新朋友
|
||||
+(void)requsetFriendListComplection:(HttpRequestHelperCompletion)complection;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -146,4 +146,13 @@
|
||||
+(void)requestCurrentResourceListComplection:(HttpRequestHelperCompletion)complection{
|
||||
[self makeRequest:@"home/currentResource" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, nil];
|
||||
}
|
||||
/// 一键匹配
|
||||
/// @param completion 完成
|
||||
+ (void)homeChatPick:(HttpRequestHelperCompletion)completion {
|
||||
[self makeRequest:@"home/chat/pick" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
|
||||
}
|
||||
///发现新朋友
|
||||
+(void)requsetFriendListComplection:(HttpRequestHelperCompletion)complection{
|
||||
[self makeRequest:@"home/newFriend" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, nil];
|
||||
}
|
||||
@end
|
||||
|
27
YuMi/Modules/YMNewHome/Model/HomeMenuSourceModel.h
Normal file
27
YuMi/Modules/YMNewHome/Model/HomeMenuSourceModel.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// HomeMenuSourceModel.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/3/3.
|
||||
// 点击了菜单栏 需要跳转的model
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface HomeMenuSourceModel : NSObject
|
||||
///头像
|
||||
@property (nonatomic,copy) NSString *avatar;
|
||||
///是否是进入房间
|
||||
@property (nonatomic,assign) BOOL isPick;
|
||||
///房主的uid
|
||||
@property (nonatomic,copy) NSString *uid;
|
||||
///房间标题
|
||||
@property (nonatomic,copy) NSString *title;
|
||||
///房间tag
|
||||
@property (nonatomic,copy) NSString *tagPict;
|
||||
///平台id
|
||||
@property (nonatomic,copy) NSString *erbanNo;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
YuMi/Modules/YMNewHome/Model/HomeMenuSourceModel.m
Normal file
12
YuMi/Modules/YMNewHome/Model/HomeMenuSourceModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// HomeMenuSourceModel.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/3/3.
|
||||
//
|
||||
|
||||
#import "HomeMenuSourceModel.h"
|
||||
|
||||
@implementation HomeMenuSourceModel
|
||||
|
||||
@end
|
@@ -40,6 +40,28 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, copy) NSString *broadMsg;
|
||||
///性别
|
||||
@property (nonatomic,assign) GenderType gender;
|
||||
//是否为小时榜top1
|
||||
@property(nonatomic,assign) BOOL isHourTop1;
|
||||
//是否为周榜top1
|
||||
@property(nonatomic,assign) BOOL isWeekTop1;
|
||||
|
||||
//是否在麦位
|
||||
@property(nonatomic,assign) BOOL inMic;
|
||||
///是否在线
|
||||
@property(nonatomic,assign) BOOL inOnline;
|
||||
///签名
|
||||
@property(nonatomic,copy) NSString *userDesc;
|
||||
///语音
|
||||
@property(nonatomic,copy) NSString *userVoice;
|
||||
///语音时长
|
||||
@property(nonatomic,copy) NSString *voiceDura;
|
||||
///标签
|
||||
@property(nonatomic,copy) NSArray *labels;
|
||||
///生日
|
||||
@property(nonatomic,assign) long birth;
|
||||
///昵称
|
||||
@property(nonatomic,copy) NSString *nick;
|
||||
|
||||
@end
|
||||
|
||||
@interface HomePlayMicUserModel : NSObject
|
||||
@@ -51,6 +73,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,copy) NSString *nick;
|
||||
///用户的uid
|
||||
@property (nonatomic,copy) NSString *uid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -16,6 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)getHomeTagList;
|
||||
///首页改版资源位
|
||||
-(void)getCurrentResourceList;
|
||||
- (void)homeChatPick;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -46,4 +46,18 @@
|
||||
[[self getView]getCurrentResourceListSuccess:list];
|
||||
}]];
|
||||
}
|
||||
/// 一键匹配
|
||||
- (void)homeChatPick {
|
||||
[Api homeChatPick:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
if (data.data) {
|
||||
NSString *uid = [NSString stringWithFormat:@"%@",data.data];
|
||||
[[self getView] homeChatPickSuccess:uid];
|
||||
}else{
|
||||
[[self getView] homeChatPickFail:data.message];
|
||||
}
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView] homeChatPickFail:msg];
|
||||
} showLoading:YES errorToast:YES]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -48,6 +48,7 @@
|
||||
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
|
||||
[[self getView] getHomePersonalRoomListSuccess:array ];
|
||||
}fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView]getHomePersonalRoomListFail];
|
||||
}errorToast:NO] uid:uid];
|
||||
}
|
||||
@end
|
||||
|
@@ -21,6 +21,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 组队开黑房间列表
|
||||
/// @param pageNum 当前的页数
|
||||
- (void)getPlayGameWithTeam:(int)pageNum withGroup:(dispatch_group_t)group;
|
||||
///发现新朋友
|
||||
-(void)getFriendListWithGroup:(dispatch_group_t)group;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -131,5 +131,13 @@
|
||||
[[self getView] getHomeRecommendDataFailWithGroup:group];
|
||||
}errorToast:NO] uid:uid];
|
||||
}
|
||||
|
||||
///发现新朋友
|
||||
-(void)getFriendListWithGroup:(dispatch_group_t)group{
|
||||
[Api requsetFriendListComplection:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
NSArray * array = [HomePlayRoomModel modelsWithArray:data.data];
|
||||
[[self getView]getFriendListSuccess:array withGroup:group];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
[[self getView]getFriendListFailWithGroup:group];
|
||||
}]];
|
||||
}
|
||||
@end
|
||||
|
@@ -17,6 +17,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)getHomeTopBannerListSuccess:(NSArray*)list;
|
||||
////首页改版资源位
|
||||
-(void)getCurrentResourceListSuccess:(NSArray *)list;
|
||||
///一键匹配成功
|
||||
- (void)homeChatPickSuccess:(NSString *)uid;
|
||||
///一键匹配失败
|
||||
- (void)homeChatPickFail:(NSString *)msg;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -10,6 +10,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol XPHomeProtocol <NSObject>
|
||||
@optional
|
||||
///首页推荐房间的
|
||||
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list state:(BOOL)state;
|
||||
///首页推荐房间失败
|
||||
@@ -20,6 +21,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)getHomeMoreAnchorRoomListFail:(NSString *)messag;
|
||||
///获取个人房列表成功
|
||||
- (void)getHomePersonalRoomListSuccess:(NSArray *)list;
|
||||
///获取个人房列表失败
|
||||
- (void)getHomePersonalRoomListFail;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -22,6 +22,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)getPlayGameWithTeamSuccess:(NSArray *)list withGroup:(dispatch_group_t)group;
|
||||
///获取首页数据失败
|
||||
- (void)getHomeRecommendDataFailWithGroup:(dispatch_group_t)group;
|
||||
///发现新朋友
|
||||
-(void)getFriendListSuccess:(NSArray *)list withGroup:(dispatch_group_t)group;
|
||||
///发现新朋友
|
||||
-(void)getFriendListFailWithGroup:(dispatch_group_t)group;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -8,9 +8,19 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol XPNewHomePartyAudioViewDelegate <NSObject>
|
||||
|
||||
-(void)playVoiceWithStop:(BOOL)isStop;
|
||||
|
||||
@end
|
||||
@interface XPNewHomePartyAudioView : UIView
|
||||
|
||||
///签名
|
||||
@property(nonatomic,copy) NSString *userDesc;
|
||||
///语音
|
||||
@property(nonatomic,copy) NSString *userVoice;
|
||||
///语音时长
|
||||
@property(nonatomic,copy) NSString *voiceDura;
|
||||
@property(nonatomic,weak) id<XPNewHomePartyAudioViewDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -6,6 +6,8 @@
|
||||
//
|
||||
|
||||
#import "XPNewHomePartyAudioView.h"
|
||||
#import "XPSkillCardPlayerManager.h"
|
||||
#import <AFNetworking.h>
|
||||
@interface XPNewHomePartyAudioView ()
|
||||
///背景
|
||||
@property(nonatomic,strong) UIView *bgView;
|
||||
@@ -17,6 +19,8 @@
|
||||
@property(nonatomic,strong) UIImageView *audioBgView;
|
||||
///时间
|
||||
@property(nonatomic,strong) UILabel *timeView;
|
||||
///播放完成
|
||||
@property (nonatomic,assign) BOOL isPlaying;
|
||||
@end
|
||||
@implementation XPNewHomePartyAudioView
|
||||
|
||||
@@ -36,7 +40,112 @@
|
||||
[self.bgView addSubview:self.timeView];
|
||||
}
|
||||
-(void)installConstraints{
|
||||
|
||||
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.top.bottom.equalTo(self);
|
||||
make.width.mas_lessThanOrEqualTo(kGetScaleWidth(192));
|
||||
}];
|
||||
[self.playBnt mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(26));
|
||||
make.top.mas_equalTo(kGetScaleWidth(0));
|
||||
make.leading.mas_equalTo(kGetScaleWidth(6));
|
||||
}];
|
||||
[self.audioBgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(31));
|
||||
make.centerY.equalTo(self.bgView);
|
||||
make.width.mas_equalTo(kGetScaleWidth(22));
|
||||
make.height.mas_equalTo(kGetScaleWidth(10));
|
||||
}];
|
||||
[self.timeView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(54));
|
||||
make.height.mas_equalTo(kGetScaleWidth(15));make.centerY.equalTo(self.bgView);
|
||||
}];
|
||||
[self.signatureView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.equalTo(self.bgView).inset(kGetScaleWidth(10));
|
||||
make.centerY.equalTo(self.bgView);
|
||||
}];
|
||||
}
|
||||
-(void)playAudioAction:(UIButton *)sender{
|
||||
_playBnt.selected = !_playBnt.selected;
|
||||
if (!self.isPlaying) {
|
||||
if(_userVoice.length > 0) {
|
||||
// NSString *fileName = [[self.voiceInfo.name componentsSeparatedByString:@"/"] lastObject];
|
||||
NSString * url = _userVoice;
|
||||
NSArray * nameArray = [url componentsSeparatedByString:@"/"];
|
||||
NSString * fileName = @"daeplay";
|
||||
if (nameArray.count > 0) {
|
||||
fileName = nameArray.lastObject;
|
||||
}
|
||||
|
||||
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"mineSkillCardVoice"];
|
||||
NSString *fullPath = [filePath stringByAppendingPathComponent:fileName];
|
||||
NSLog(@"下载的路径:%@", fullPath);
|
||||
if ([[NSFileManager defaultManager] fileExistsAtPath:fullPath]) {
|
||||
self.isPlaying = YES;
|
||||
sender.selected = YES;
|
||||
|
||||
[[XPSkillCardPlayerManager shareInstance] playerVoiceWithPath:fullPath completionBlock:^{
|
||||
self.isPlaying = NO;
|
||||
sender.selected = NO;
|
||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||
}];
|
||||
} else {
|
||||
if (![[NSFileManager defaultManager] fileExistsAtPath:fullPath]) {
|
||||
NSFileManager *fileMgr = [[NSFileManager alloc] init];
|
||||
NSError * error;
|
||||
[fileMgr createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];
|
||||
NSLog(@"%@", error.description);
|
||||
}
|
||||
[self downloadAudioWithFileName:fileName musicUrl:url completion:^(BOOL isSuccess, NSString *editAudioPath) {
|
||||
self.isPlaying = YES;
|
||||
sender.selected = YES;
|
||||
|
||||
[[XPSkillCardPlayerManager shareInstance] playerVoiceWithPath:editAudioPath completionBlock:^{
|
||||
self.isPlaying = NO;
|
||||
sender.selected = NO;
|
||||
|
||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||
}];
|
||||
}];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
self.isPlaying = NO;
|
||||
sender.selected = NO;
|
||||
[[XPSkillCardPlayerManager shareInstance] stopMusic];
|
||||
}
|
||||
}
|
||||
- (void)downloadAudioWithFileName:(NSString *)fileName musicUrl:(NSString *)musicUrl completion:(void (^) (BOOL isSuccess, NSString *editAudioPath))completion {
|
||||
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
|
||||
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:musicUrl]];
|
||||
NSURLSessionDownloadTask *download = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
|
||||
} destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
|
||||
NSString *filePath = [[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"mineSkillCardVoice"] stringByAppendingPathComponent:fileName];
|
||||
return [NSURL fileURLWithPath:filePath];
|
||||
} completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
|
||||
if (!error) {
|
||||
completion(YES, filePath.path);
|
||||
} else {
|
||||
completion(NO, nil);
|
||||
}
|
||||
}];
|
||||
[download resume];
|
||||
}
|
||||
-(void)setUserVoice:(NSString *)userVoice{
|
||||
_userVoice = userVoice;
|
||||
_playBnt.hidden = NO;
|
||||
_audioBgView.hidden = NO;
|
||||
_timeView.hidden = NO;
|
||||
_signatureView.hidden = YES;
|
||||
_signatureView.text = @"";
|
||||
_timeView.text = [NSString stringWithFormat:@"%@\"",_voiceDura];
|
||||
}
|
||||
-(void)setUserDesc:(NSString *)userDesc{
|
||||
_userDesc = userDesc;
|
||||
_playBnt.hidden = YES;
|
||||
_audioBgView.hidden = YES;
|
||||
_timeView.hidden = YES;
|
||||
_signatureView.hidden = NO;
|
||||
_signatureView.text = _userDesc;
|
||||
}
|
||||
#pragma mark - 懒加载
|
||||
- (UIView *)bgView{
|
||||
@@ -61,6 +170,8 @@
|
||||
if(!_playBnt){
|
||||
_playBnt = [UIButton new];
|
||||
[_playBnt setImage:kImage(@"home_audio_play_play") forState:UIControlStateNormal];
|
||||
[_playBnt setImage:kImage(@"home_audio_stop") forState:UIControlStateSelected];
|
||||
[_playBnt addTarget:self action:@selector(playAudioAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _playBnt;
|
||||
}
|
||||
|
@@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@class HomePlayRoomModel, HomeRecommendRoomModel;
|
||||
@interface XPNewHomePartyCollectionViewCell : UICollectionViewCell
|
||||
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
||||
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -108,9 +108,11 @@
|
||||
_bgImageView.imageUrl = _roomInfo.avatar;
|
||||
_tagBgImageView.imageUrl = _roomInfo.tagPict;
|
||||
_heatView.text = @(_roomInfo.onlineNum).stringValue;
|
||||
if(_rankImageView.image == nil){
|
||||
_rankImageView.image = nil;
|
||||
if(_roomInfo.isHourTop1 == YES){
|
||||
_rankImageView.image = kImage(@"home_hour_no_1");
|
||||
}else{
|
||||
}
|
||||
if(_roomInfo.isWeekTop1 == YES){
|
||||
_rankImageView.image = kImage(@"home_week_no_1");
|
||||
}
|
||||
|
||||
|
@@ -7,12 +7,24 @@
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@class XPNewHomePartyTableViewCell,HomePlayRoomModel;
|
||||
@protocol XPNewHomePartyTableViewCellDelegate <NSObject>
|
||||
///点击头像
|
||||
|
||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectItem:(HomePlayRoomModel *_Nullable)roomModel;
|
||||
///点击聊天
|
||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didSelectChat:(HomePlayRoomModel *_Nonnull)roomModel;
|
||||
///播放音乐
|
||||
-(void)xPNewHomePartyTableViewCell:(XPNewHomePartyTableViewCell *_Nullable)cell didPlayVoice:(HomePlayRoomModel *_Nonnull)roomModel isStop:(BOOL)isStop;
|
||||
@end
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class HomePlayRoomModel, HomeRecommendRoomModel;
|
||||
@interface XPNewHomePartyTableViewCell : UITableViewCell
|
||||
@property (nonatomic,strong) HomePlayRoomModel *roomInfo;
|
||||
|
||||
@property (nonatomic,strong) HomeRecommendRoomModel *roomInfo1;
|
||||
@property(nonatomic,weak) id<XPNewHomePartyTableViewCellDelegate>delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -48,6 +48,7 @@
|
||||
@property(nonatomic,strong) NetImageView *wealthView;
|
||||
///魅力
|
||||
@property(nonatomic,strong) NetImageView *charmView;
|
||||
@property(nonatomic,strong) NSDateFormatter *dateFormatter;
|
||||
@end
|
||||
|
||||
@implementation XPNewHomePartyTableViewCell
|
||||
@@ -154,13 +155,46 @@
|
||||
make.height.mas_equalTo(kGetScaleWidth(18));
|
||||
make.trailing.equalTo(self.chatBtn.mas_leading).mas_offset(-kGetScaleWidth(5));
|
||||
}];
|
||||
[self.audioView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(84));
|
||||
make.height.mas_equalTo(kGetScaleWidth(26));
|
||||
make.top.equalTo(self.tagView.mas_bottom).mas_offset(kGetScaleWidth(6));
|
||||
make.trailing.equalTo(self.tagView);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setRoomInfo:(HomePlayRoomModel *)roomInfo {
|
||||
_roomInfo = roomInfo;
|
||||
if (_roomInfo) {
|
||||
|
||||
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
||||
self.titleLabel.text = _roomInfo.nick;
|
||||
_tagView.itemList = [NSMutableArray arrayWithArray:_roomInfo.labels];
|
||||
NSString *dateStr = [self.dateFormatter stringFromDate:[NSDate dateWithTimeIntervalSince1970:_roomInfo.birth/1000]];
|
||||
[_birthdayView setTitle:dateStr forState:UIControlStateNormal];
|
||||
_gameBgView.hidden = YES;
|
||||
_gameIconView.hidden = YES;
|
||||
_borderImageView.hidden = YES;
|
||||
_greenView.hidden = YES;
|
||||
[_chatBtn setTitle:YMLocalizedString(@"XPSessionSayHelloTableViewCell0") forState:UIControlStateNormal];
|
||||
if(_roomInfo.inMic == YES){
|
||||
_gameBgView.hidden = NO;
|
||||
_gameIconView.hidden = NO;
|
||||
_borderImageView.hidden = NO;
|
||||
[_chatBtn setTitle:YMLocalizedString(@"XPSessionFindNewAlertView2") forState:UIControlStateNormal];
|
||||
}
|
||||
if(_roomInfo.inOnline == YES){
|
||||
_greenView.hidden = NO;
|
||||
}
|
||||
|
||||
if(_roomInfo.userVoice.length > 0){
|
||||
_audioView.voiceDura = _roomInfo.voiceDura;
|
||||
_audioView.userVoice = _roomInfo.userVoice;
|
||||
|
||||
}else{
|
||||
_audioView.userDesc = _roomInfo.userDesc;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,14 +202,22 @@
|
||||
_roomInfo1 = roomInfo1;
|
||||
if (_roomInfo1) {
|
||||
|
||||
self.avatarImageView.imageUrl = _roomInfo1.avatar;
|
||||
self.titleLabel.text = _roomInfo1.title;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(void)didSelectItemAction{
|
||||
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyTableViewCell:didSelectItem:)]){
|
||||
[self.delegate xPNewHomePartyTableViewCell:self didSelectItem:self.roomInfo];
|
||||
}
|
||||
}
|
||||
-(void)didSelectChatAction{
|
||||
if(self.delegate && [self.delegate respondsToSelector:@selector(xPNewHomePartyTableViewCell:didSelectChat:)]){
|
||||
[self.delegate xPNewHomePartyTableViewCell:self didSelectChat:self.roomInfo];
|
||||
}
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
@@ -184,7 +226,10 @@
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 74/2;
|
||||
_avatarImageView.layer.cornerRadius = kGetScaleWidth(60)/2;
|
||||
_avatarImageView.userInteractionEnabled = YES;
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(didSelectItemAction)];
|
||||
[_avatarImageView addGestureRecognizer:tap];
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
@@ -253,6 +298,7 @@
|
||||
[_chatBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_chatBtn.layer.cornerRadius = kGetScaleWidth(28)/2;
|
||||
_chatBtn.layer.masksToBounds = YES;
|
||||
[_chatBtn addTarget:self action:@selector(didSelectChatAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _chatBtn;
|
||||
}
|
||||
@@ -289,4 +335,13 @@
|
||||
}
|
||||
return _charmView;
|
||||
}
|
||||
- (NSDateFormatter *)dateFormatter {
|
||||
if (!_dateFormatter) {
|
||||
_dateFormatter = [[NSDateFormatter alloc] init];
|
||||
_dateFormatter.dateFormat = @"yyyy-MM-dd";
|
||||
|
||||
}
|
||||
return _dateFormatter;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// XPHomeRecommendOtherRoomView.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/3/3.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@class XPHomeRecommendOtherRoomView, HomeMenuSourceModel;
|
||||
@protocol XPHomeRecommendOtherRoomViewDelegate <NSObject>
|
||||
///点击了进入房间
|
||||
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(HomeMenuSourceModel *)model;
|
||||
@end
|
||||
|
||||
@interface XPHomeRecommendOtherRoomView : UIView
|
||||
///房间信息
|
||||
@property (nonatomic,strong) HomeMenuSourceModel *roomInfo;
|
||||
///代理
|
||||
@property (nonatomic,weak) id<XPHomeRecommendOtherRoomViewDelegate> delegate;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -0,0 +1,185 @@
|
||||
//
|
||||
// XPHomeRecommendOtherRoomView.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by 冯硕 on 2022/3/3.
|
||||
//
|
||||
|
||||
#import "XPHomeRecommendOtherRoomView.h"
|
||||
///Third
|
||||
#import <Masonry/Masonry.h>
|
||||
///Tool
|
||||
#import "NetImageView.h"
|
||||
#import "TTPopup.h"
|
||||
#import "UIImage+Utils.h"
|
||||
///Model
|
||||
#import "HomeMenuSourceModel.h"
|
||||
|
||||
@interface XPHomeRecommendOtherRoomView ()
|
||||
///背景
|
||||
@property (nonatomic,strong) UIView * contentView;
|
||||
///标题
|
||||
@property (nonatomic,strong) UILabel *titleLabel;
|
||||
///头像
|
||||
@property (nonatomic,strong) NetImageView *avatarImageView;
|
||||
///房间标题
|
||||
@property (nonatomic,strong) UILabel *roomTitleLabel;
|
||||
///加入房间
|
||||
@property (nonatomic,strong) UIButton *enterRoomButton;
|
||||
///关闭
|
||||
@property (nonatomic,strong) UIButton *closeButton;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XPHomeRecommendOtherRoomView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initSubViews];
|
||||
[self initSubViewConstraints];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[self addSubview:self.contentView];
|
||||
[self addSubview:self.closeButton];
|
||||
|
||||
[self.contentView addSubview:self.titleLabel];
|
||||
[self.contentView addSubview:self.avatarImageView];
|
||||
[self.contentView addSubview:self.roomTitleLabel];
|
||||
[self.contentView addSubview:self.enterRoomButton];
|
||||
}
|
||||
|
||||
- (void)initSubViewConstraints {
|
||||
[self mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(300);
|
||||
make.bottom.mas_equalTo(self.closeButton.mas_bottom);
|
||||
}];
|
||||
|
||||
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.left.right.mas_equalTo(self);
|
||||
make.height.mas_equalTo(299);
|
||||
}];
|
||||
|
||||
[self.closeButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(30, 30));
|
||||
make.centerX.mas_equalTo(self);
|
||||
make.top.mas_equalTo(self.contentView.mas_bottom).offset(32);
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.contentView).inset(19);
|
||||
make.top.mas_equalTo(self).offset(12);
|
||||
}];
|
||||
|
||||
[self.avatarImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(16);
|
||||
make.size.mas_equalTo(CGSizeMake(108, 108));
|
||||
make.centerX.mas_equalTo(self.contentView);
|
||||
}];
|
||||
|
||||
[self.roomTitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.contentView).inset(73);
|
||||
make.top.mas_equalTo(self.avatarImageView.mas_bottom).offset(24);
|
||||
}];
|
||||
|
||||
[self.enterRoomButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.right.mas_equalTo(self.contentView).inset(60);
|
||||
make.bottom.mas_equalTo(self.contentView).offset(-24);
|
||||
make.height.mas_equalTo(40);
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - Event Response
|
||||
- (void)enterRoomButtonAction:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(xPHomeRecommendOtherRoomView:didClickEnterRoom:)]) {
|
||||
[self.delegate xPHomeRecommendOtherRoomView:self didClickEnterRoom:self.roomInfo];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)closeButtonAction:(UIButton *)sender {
|
||||
[TTPopup dismiss];
|
||||
}
|
||||
|
||||
#pragma mark - Getters And Setters
|
||||
- (void)setRoomInfo:(HomeMenuSourceModel *)roomInfo {
|
||||
_roomInfo = roomInfo;
|
||||
if (_roomInfo) {
|
||||
self.roomTitleLabel.text = _roomInfo.title;
|
||||
self.avatarImageView.imageUrl = _roomInfo.avatar;
|
||||
}
|
||||
}
|
||||
|
||||
- (UIView *)contentView {
|
||||
if (!_contentView) {
|
||||
_contentView = [[UIView alloc] init];
|
||||
_contentView.backgroundColor = [UIColor whiteColor];
|
||||
_contentView.layer.masksToBounds = YES;
|
||||
_contentView.layer.cornerRadius = 12;
|
||||
_contentView.layer.shadowOffset = CGSizeMake(4, 4);
|
||||
_contentView.layer.shadowColor = UIColorRGBAlpha(0xEBEEF3, 0.7).CGColor;
|
||||
}
|
||||
return _contentView;
|
||||
}
|
||||
|
||||
- (UILabel *)titleLabel {
|
||||
if (!_titleLabel) {
|
||||
_titleLabel = [[UILabel alloc] init];
|
||||
_titleLabel.text = YMLocalizedString(@"XPHomeRecommendOtherRoomView0");
|
||||
_titleLabel.font = [UIFont boldSystemFontOfSize:16];
|
||||
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
||||
}
|
||||
return _titleLabel;
|
||||
}
|
||||
|
||||
- (NetImageView *)avatarImageView {
|
||||
if (!_avatarImageView) {
|
||||
NetImageConfig * config = [[NetImageConfig alloc]init];
|
||||
config.imageType = ImageTypeUserIcon;
|
||||
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
|
||||
_avatarImageView = [[NetImageView alloc] initWithConfig:config];
|
||||
_avatarImageView.layer.masksToBounds = YES;
|
||||
_avatarImageView.layer.cornerRadius = 8;
|
||||
}
|
||||
return _avatarImageView;
|
||||
}
|
||||
- (UILabel *)roomTitleLabel {
|
||||
if (!_roomTitleLabel) {
|
||||
_roomTitleLabel = [[UILabel alloc] init];
|
||||
_roomTitleLabel.font = [UIFont systemFontOfSize:14];
|
||||
_roomTitleLabel.numberOfLines = 2;
|
||||
_roomTitleLabel.textColor = [DJDKMIMOMColor mainTextColor];
|
||||
_roomTitleLabel.textAlignment = NSTextAlignmentCenter;
|
||||
}
|
||||
return _roomTitleLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)enterRoomButton {
|
||||
if (!_enterRoomButton) {
|
||||
_enterRoomButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_enterRoomButton setTitle:YMLocalizedString(@"XPHomeRecommendOtherRoomView1") forState:UIControlStateNormal];
|
||||
[_enterRoomButton setTitleColor:[DJDKMIMOMColor confirmButtonTextColor] forState:UIControlStateNormal];
|
||||
_enterRoomButton.titleLabel.font = [UIFont systemFontOfSize:15];
|
||||
[_enterRoomButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(10, 10)] forState:UIControlStateNormal];
|
||||
_enterRoomButton.layer.masksToBounds = YES;
|
||||
_enterRoomButton.layer.cornerRadius = 20;
|
||||
[_enterRoomButton addTarget:self action:@selector(enterRoomButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _enterRoomButton;
|
||||
}
|
||||
- (UIButton *)closeButton {
|
||||
if (!_closeButton) {
|
||||
_closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"common_close_white"] forState:UIControlStateNormal];
|
||||
[_closeButton setImage:[UIImage imageNamed:@"common_close_white"] forState:UIControlStateSelected];
|
||||
[_closeButton addTarget:self action:@selector(closeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
return _closeButton;
|
||||
}
|
||||
|
||||
@end
|
@@ -10,13 +10,17 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
|
||||
|
||||
@interface XPHomePartyViewController : MvpViewController<JXPagerViewListViewDelegate>
|
||||
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
|
||||
///模块的 ID
|
||||
@property (nonatomic,copy) NSString *pi_tabId;
|
||||
///是否是个播
|
||||
@property (nonatomic,assign) BOOL isAnchor;
|
||||
//TODO: 应该用一个新的控制器的 先发版吧
|
||||
@property(nonatomic,copy) HeaderRefreshComplete refreshComplete;
|
||||
|
||||
- (void)headerRefresh;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -84,13 +84,7 @@
|
||||
self.timer = [XPWeakTimer scheduledTimerWithTimeInterval:15 block:^(id userInfo) {
|
||||
[self headerRefresh];
|
||||
} userInfo:nil repeats:YES];
|
||||
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.collectionView.mj_header = header;
|
||||
[self.collectionView.mj_header beginRefreshing];
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - 刷新的fangfa
|
||||
@@ -140,13 +134,20 @@
|
||||
|
||||
#pragma mark - XPHomeProtocol
|
||||
- (void)getHomePersonalRoomListSuccess:(NSArray *)list{
|
||||
if(self.refreshComplete){
|
||||
self.refreshComplete();
|
||||
}
|
||||
for (HomePlayRoomModel *model in list) {
|
||||
model.width = [UILabel getWidthWithText:@(model.onlineNum).stringValue height:kGetScaleWidth(12) font:kFontBold(10)]+1;
|
||||
}
|
||||
self.datasource = [NSMutableArray arrayWithArray:list];
|
||||
[self.collectionView reloadData];
|
||||
}
|
||||
|
||||
- (void)getHomePersonalRoomListFail{
|
||||
if(self.refreshComplete){
|
||||
self.refreshComplete();
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - JXPagingViewListViewDelegate
|
||||
- (UIScrollView *)listScrollView {
|
||||
|
@@ -11,7 +11,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPHomeRecommendViewController : MvpViewController<JXPagerViewListViewDelegate>
|
||||
@property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
|
||||
|
||||
@property(nonatomic,copy) HeaderRefreshComplete refreshComplete;
|
||||
- (void)headerRefresh;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -71,7 +71,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self initSubViews];
|
||||
[self initHeaderAndFooterRrfresh];
|
||||
|
||||
[self addTimer];
|
||||
|
||||
}
|
||||
@@ -120,7 +120,7 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
dispatch_group_enter(group);
|
||||
dispatch_group_async(group, queue, ^{
|
||||
|
||||
[self.presenter getHomePersonalRoomListWithGroup:group];
|
||||
[self.presenter getFriendListWithGroup:group];
|
||||
|
||||
});
|
||||
|
||||
@@ -129,8 +129,10 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
|
||||
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
|
||||
self.isRequestData = NO;
|
||||
[self.tableView.mj_header endRefreshing];
|
||||
[self.tableView reloadData];
|
||||
if(self.refreshComplete){
|
||||
self.refreshComplete();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -140,15 +142,6 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
[self requestData];
|
||||
}
|
||||
|
||||
- (void)initHeaderAndFooterRrfresh {
|
||||
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
|
||||
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
|
||||
header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
||||
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
|
||||
self.tableView.mj_header = header;
|
||||
[self.tableView.mj_header beginRefreshing];
|
||||
}
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
@@ -296,36 +289,23 @@ UIKIT_EXTERN NSString * const kShieldingNotification;
|
||||
#pragma mark - XPHomeRecommendProtocol
|
||||
|
||||
|
||||
///推荐
|
||||
- (void)getHomeRecommendRoomListSuccess:(NSArray *)list withGroup:(nonnull dispatch_group_t)group{
|
||||
|
||||
}
|
||||
///房间派对
|
||||
- (void)getHomePersonalRoomListSuccess:(NSArray *)list withGroup:(nonnull dispatch_group_t)group {
|
||||
NSMutableArray * array = [NSMutableArray array];
|
||||
for (HomePlayRoomModel * info in list) {
|
||||
|
||||
[array addObject:info];
|
||||
|
||||
}
|
||||
self.personalRoomList = array;
|
||||
dispatch_group_leave(group);
|
||||
}
|
||||
|
||||
|
||||
///扩列交友
|
||||
- (void)getPlayGameWithTeamSuccess:(NSArray *)list withGroup:(nonnull dispatch_group_t)group{
|
||||
NSMutableArray * array = [NSMutableArray array];
|
||||
for (HomePlayRoomModel * info in list) {
|
||||
|
||||
[array addObject:info];
|
||||
|
||||
}
|
||||
self.playTeamList = array;
|
||||
|
||||
self.playTeamList = [NSMutableArray arrayWithArray:list];
|
||||
dispatch_group_leave(group);
|
||||
}
|
||||
|
||||
- (void)getHomeRecommendDataFailWithGroup:(dispatch_group_t)group {
|
||||
- (void)getHomeRecommendDataFailWithGroup:(dispatch_group_t)group{
|
||||
dispatch_group_leave(group);
|
||||
}
|
||||
- (void)getFriendListSuccess:(NSArray *)list withGroup:(dispatch_group_t)group{
|
||||
self.personalRoomList = [NSMutableArray arrayWithArray:list];
|
||||
dispatch_group_leave(group);
|
||||
}
|
||||
- (void)getFriendListFailWithGroup:(dispatch_group_t)group{
|
||||
dispatch_group_leave(group);
|
||||
|
||||
}
|
||||
#pragma mark - JXPagingViewListViewDelegate
|
||||
- (UIScrollView *)listScrollView {
|
||||
|
@@ -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
|
||||
|
@@ -8,8 +8,13 @@
|
||||
#import "BaseViewController.h"
|
||||
#import "BaseMvpPresenter.h"
|
||||
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
typedef void(^HeaderRefreshComplete)(void);
|
||||
|
||||
@interface MvpViewController<T> : BaseViewController
|
||||
|
||||
@property (nonatomic, strong) __kindof T presenter;
|
||||
|
@@ -1050,6 +1050,7 @@
|
||||
"XPRoomFunctionContainerView12" = "暂未设置话题";
|
||||
"XPRoomFunctionContainerView13" = "开始选择>";
|
||||
"XPRoomFunctionContainerView18" = "游戏中不可切换游戏或玩法!";
|
||||
|
||||
"XPRoomBackContainerView0" = "贵族专属背景图加载失败";
|
||||
"XPRoomBackContainerView1" = "个播背景图加载失败";
|
||||
|
||||
@@ -1126,7 +1127,7 @@
|
||||
|
||||
"XPRoomMenuContainerView0" = "房间公屏已关闭";
|
||||
"XPRoomMenuContainerView1" = "PK已开始暂时无法排麦";
|
||||
"XPRoomMenuContainerView2" = "说点什么...";
|
||||
"XPRoomMenuContainerView2" = "说点什麽...";
|
||||
"XPRoomMenuContainerView3" = "快给大家打个招呼吧";
|
||||
|
||||
"XPRoomSendTextView0" = "请输入消息...";
|
||||
@@ -1161,8 +1162,7 @@
|
||||
"StageView27" = "抱Ta上麦当主持";
|
||||
"StageView28" = "下麦旁听";
|
||||
"StageView29" = "关注Ta";
|
||||
///XPMineGameTableViewCell.m
|
||||
"XPMineGameTableViewCell0" = "休闲游戏";
|
||||
|
||||
|
||||
"AnchorStageView1" = "解锁";
|
||||
"AnchorStageView3" = "开麦";
|
||||
@@ -2663,9 +2663,7 @@
|
||||
"XPNobleCenterPayView3" = "确认支付";
|
||||
///LoginForgetEditView.m
|
||||
"LoginForgetEditView0" = "获取验证码";
|
||||
/// XPNewHomeViewController
|
||||
"XPNewHomeViewController0"="热门推荐";
|
||||
"XPNewHomeViewController1"="优质陪伴";
|
||||
|
||||
///LoginForgetPasswordViewController.m
|
||||
"LoginForgetPasswordViewController0" = "忘记密码";
|
||||
"LoginForgetPasswordViewController1" = "验证码发送成功";
|
||||
@@ -2972,12 +2970,24 @@
|
||||
"LittleGameStageView0" = "游戏中不可以换麦!";
|
||||
///LittleGameScrollStageView.m
|
||||
"LittleGameScrollStageView0" = "游戏中不可以换麦!";
|
||||
///XPMineGameTableViewCell.m
|
||||
"XPMineGameTableViewCell0" = "休闲游戏";
|
||||
|
||||
|
||||
|
||||
|
||||
///XPNewHomeHeadView
|
||||
"XPNewHomeHeadView0"="心动恋爱";
|
||||
"XPNewHomeHeadView1"="颜值女神聚集地";
|
||||
"XPNewHomeHeadView2"="陪伴交友";
|
||||
"XPNewHomeHeadView3"="有趣的人都在这";
|
||||
/// XPNewHomeViewController
|
||||
"XPNewHomeViewController0"="热门推荐";
|
||||
"XPNewHomeViewController1"="优质陪伴";
|
||||
|
||||
//XPHomeRecommendOtherRoomView
|
||||
"XPHomeRecommendOtherRoomView0"="暂无合适房间,为你推荐其他房间~";
|
||||
"XPHomeRecommendOtherRoomView1"="去看看";
|
||||
|
||||
///不能脚本生成的
|
||||
"App_Common_And" = "和";
|
||||
|
@@ -168,7 +168,7 @@
|
||||
"XPMineUserInfoEditPresenter4" = "相冊";
|
||||
"XPMineUserInfoEditPresenter5" = "個人介紹";
|
||||
"XPMineUserInfoEditPresenter6" = "聲音簽名";
|
||||
"XPMineUserInfoEditPresenter7" = "來錄制你的專屬聲音吧~";
|
||||
"XPMineUserInfoEditPresenter7" = "來錄製你的專屬聲音吧~";
|
||||
"XPMineUserInfoEditPresenter8" = "標簽";
|
||||
"XPMineUserInfoEditPresenter9" = "設置個人標簽將更受歡迎~";
|
||||
"XPMineUserInfoEditPresenter10" = "地區";
|
||||
@@ -344,7 +344,7 @@
|
||||
"XPMineUserInfoHeaderView1" = "我是個默認簽名";
|
||||
"XPMineUserInfoHeaderView2" = "%ld粉絲";
|
||||
"XPMineUserInfoHeaderView3" = "直播中";
|
||||
"XPMineUserInfoHeaderView4" = "錄制聲音卡";
|
||||
"XPMineUserInfoHeaderView4" = "錄製聲音卡";
|
||||
"XPMineUserInfoHeaderView5" = "我是個默認簽名";
|
||||
///XPMineUserInfoIndividualTagView
|
||||
"XPMineUserInfoIndividualTagView0"="TA的標簽";
|
||||
@@ -1127,7 +1127,7 @@
|
||||
|
||||
"XPRoomMenuContainerView0" = "房間公屏已關閉";
|
||||
"XPRoomMenuContainerView1" = "PK已開始暫時無法排麥";
|
||||
"XPRoomMenuContainerView2" = "說點什麽...";
|
||||
"XPRoomMenuContainerView2" = "說點什麼...";
|
||||
"XPRoomMenuContainerView3" = "快給大家打個招呼吧";
|
||||
|
||||
"XPRoomSendTextView0" = "請輸入消息...";
|
||||
@@ -2714,8 +2714,8 @@
|
||||
"XPTreasureFairyPrizeRecordCell2"="傳說猛獁森林";
|
||||
///XPTreasureFairySendRecordCell
|
||||
"XPTreasureFairySendRecordCell0"="yyyy年MM月dd日 HH時mm分ss秒";
|
||||
"XPTreasureFairySendRecordCell1"="你贈送%@一張“%@“精靈卡";
|
||||
"XPTreasureFairySendRecordCell2"="%@贈送了你一張“%@“精靈卡";
|
||||
"XPTreasureFairySendRecordCell1"="你贈送%@一張「%@「精靈卡";
|
||||
"XPTreasureFairySendRecordCell2"="%@贈送了你一張「%@「精靈卡";
|
||||
///XPTreasureFairyShopingExchangeCell
|
||||
"XPTreasureFairyShopingExchangeCell0"="鉆";
|
||||
"XPTreasureFairyShopingExchangeCell1"="兌換";
|
||||
@@ -2736,7 +2736,7 @@
|
||||
"XPTreasureFairyExchangeView0"="鉆";
|
||||
"XPTreasureFairyExchangeView1"="提示";
|
||||
"XPTreasureFairyExchangeView2"="兌換";
|
||||
"XPTreasureFairyExchangeView3"="您將要兌換“%@(%@)”";
|
||||
"XPTreasureFairyExchangeView3"="您將要兌換「%@(%@)」";
|
||||
"XPTreasureFairyExchangeView4"="兌換成功~";
|
||||
"XPTreasureFairyExchangeView5"="昵稱";
|
||||
"XPTreasureFairyExchangeView6"="我的碎片:";
|
||||
@@ -2745,7 +2745,7 @@
|
||||
"XPTreasureFairyFriendView1"="搜索好友";
|
||||
///XPTreasureFairyMessageSendView
|
||||
"XPTreasureFairyMessageSendView0"="贈送成功";
|
||||
"XPTreasureFairyMessageSendView1"="確定向“%@”贈送1張“%@”精靈卡嗎?";
|
||||
"XPTreasureFairyMessageSendView1"="確定向「%@」贈送1張「%@」精靈卡嗎?";
|
||||
"XPTreasureFairyMessageSendView2"="關閉";
|
||||
"XPTreasureFairyMessageSendView3"="贈送";
|
||||
///XPTreasureFairyMoreView
|
||||
@@ -2765,8 +2765,8 @@
|
||||
///XPTreasureFairySendView
|
||||
"XPTreasureFairySendView0"="贈送成功";
|
||||
"XPTreasureFairySendView1"="已向好友發送索要信息";
|
||||
"XPTreasureFairySendView2"="確定贈送“%@”1張“%@”精靈卡嗎?";
|
||||
"XPTreasureFairySendView3"="確定向“%@”索要1張“%@”精靈卡嗎?";
|
||||
"XPTreasureFairySendView2"="確定贈送「%@」1張「%@」精靈卡嗎?";
|
||||
"XPTreasureFairySendView3"="確定向「%@」索要1張「%@」精靈卡嗎?";
|
||||
"XPTreasureFairySendView4"="贈送";
|
||||
"XPTreasureFairySendView5"="索要";
|
||||
"XPTreasureFairySendView6"="關閉";
|
||||
@@ -2851,7 +2851,7 @@
|
||||
"XPMineUserInfoRecordedSoundView5"="點擊停止";
|
||||
"XPMineUserInfoRecordedSoundView6"="點擊試聽";
|
||||
"XPMineUserInfoRecordedSoundView7"="點擊停止播放";
|
||||
"XPMineUserInfoRecordedSoundView8"="删除聲音";
|
||||
"XPMineUserInfoRecordedSoundView8"="刪除聲音";
|
||||
"XPMineUserInfoRecordedSoundView9"="聲音簽名審核通過,快叫小夥伴聽聽吧~";
|
||||
"XPMineUserInfoRecordedSoundView10"="正在上麥中,不能錄音";
|
||||
///XPMineUserInfoRecordedSoundVC
|
||||
@@ -2985,6 +2985,10 @@
|
||||
"XPNewHomeViewController0"="熱門推薦";
|
||||
"XPNewHomeViewController1"="優質陪伴";
|
||||
|
||||
//XPHomeRecommendOtherRoomView
|
||||
"XPHomeRecommendOtherRoomView0"="暫無合適房間,為你推薦其他房間~";
|
||||
"XPHomeRecommendOtherRoomView1"="去看看";
|
||||
|
||||
///不能腳本生成的
|
||||
"App_Common_And" = "和";
|
||||
"App_Common_Male" = "男";
|
||||
|
Reference in New Issue
Block a user