跟随进房的公屏显示以及进房添加跟随来源
This commit is contained in:
@@ -92,6 +92,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///技能卡图标列表
|
||||
@property (nonatomic, strong) NSArray *absCardPics;
|
||||
|
||||
///跟随的 本地添加的字段
|
||||
@property (nonatomic,copy) NSString *fromNick;
|
||||
@property (nonatomic,assign) UserEnterRoomFromType fromType;
|
||||
@property (nonatomic,copy) NSString *fromUid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -42,4 +42,15 @@ typedef NS_ENUM(NSInteger, GroupType) {
|
||||
GroupType_Blue = 1,//蓝队 男神
|
||||
GroupTyp_red = 2, //红队 女神
|
||||
};
|
||||
|
||||
typedef NS_ENUM(NSInteger, UserEnterRoomFromType) {
|
||||
///首页推荐
|
||||
UserEnterRoomFromType_Home_Recommend = 1,
|
||||
///跟随用户
|
||||
UserEnterRoomFromType_Follow_User = 2,
|
||||
///赛事详情
|
||||
UserEnterRoomFromType_Follow_Game_Detail = 8,
|
||||
///跨房PK
|
||||
UserEnterRoomFromType_Cross_Room_PK = 9
|
||||
};
|
||||
#endif /* XPEnum_h */
|
||||
|
@@ -217,7 +217,7 @@ UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
|
||||
HomeMenuSourceModel * sourceModel = [HomeMenuSourceModel modelWithDictionary:data.data];
|
||||
if (sourceModel.isPick) {
|
||||
if (sourceModel.uid.integerValue > 0) {
|
||||
[XPRoomViewController openRoom:sourceModel.uid viewController:self.currenViewController];
|
||||
[XPRoomViewController openRoom:sourceModel.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self.currenViewController];
|
||||
}
|
||||
} else {
|
||||
XPHomeRecommendOtherRoomView * recommendView = [[XPHomeRecommendOtherRoomView alloc] init];
|
||||
@@ -258,14 +258,14 @@ UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
|
||||
#pragma mark - XPHomeHotRoomTableViewCellDelegate
|
||||
- (void)xPHomeHotRoomTableViewCell:(XPHomeHotRoomTableViewCell *)view didClickItem:(HomeRecommendRoomModel *)roomInfo {
|
||||
if (roomInfo.uid.length > 0) {
|
||||
[XPRoomViewController openRoom:roomInfo.uid viewController:self.currenViewController];
|
||||
[XPRoomViewController openRoom:roomInfo.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self.currenViewController];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - XPHomeRecommendTableViewCellDelegate
|
||||
- (void)xPHomeRecommendTableViewCell:(XPHomeRecommendTableViewCell *)view didClickItem:(HomeRecommendRoomModel *)roomInfo {
|
||||
if (roomInfo.roomUid.length > 0) {
|
||||
[XPRoomViewController openRoom:roomInfo.roomUid viewController:self.currenViewController];
|
||||
[XPRoomViewController openRoom:roomInfo.roomUid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self.currenViewController];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ UIKIT_EXTERN NSString * kHomeMoreScrollPageKey;
|
||||
#pragma mark - XPHomeRecommendOtherRoomViewDelegate
|
||||
- (void)xPHomeRecommendOtherRoomView:(XPHomeRecommendOtherRoomView *)view didClickEnterRoom:(HomeMenuSourceModel *)model {
|
||||
if (model.uid.integerValue > 0) {
|
||||
[XPRoomViewController openRoom:model.uid viewController:self.currenViewController];
|
||||
[XPRoomViewController openRoom:model.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self.currenViewController];
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -108,7 +108,7 @@
|
||||
if (self.roomList.count > 0) {
|
||||
HomePlayRoomModel * model = [self.roomList objectAtIndex:indexPath.row];
|
||||
if (!model.isBanner && model.uid.integerValue > 0) {
|
||||
[XPRoomViewController openRoom:model.uid viewController:self];
|
||||
[XPRoomViewController openRoom:model.uid fromNick:nil fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -97,7 +97,7 @@
|
||||
if (self.roomList.count > 0) {
|
||||
HomePlayRoomModel * model = [self.roomList objectAtIndex:indexPath.row];
|
||||
if (!model.isBanner && model.uid.integerValue > 0) {
|
||||
[XPRoomViewController openRoom:model.uid viewController:self];
|
||||
[XPRoomViewController openRoom:model.uid fromNick:model.title fromType:UserEnterRoomFromType_Home_Recommend fromUid:nil viewController:self];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -257,7 +257,7 @@
|
||||
#pragma mark - XPHomeAttentionTableViewCellDelegate
|
||||
- (void)xPHomeAttentionTableViewCell:(XPHomeAttentionTableViewCell *)view didClickItem:(HomeLiveRoomModel *)model {
|
||||
if (model.roomUid > 0) {
|
||||
[XPRoomViewController openRoom:[NSString stringWithFormat:@"%ld", model.uid] viewController:self];
|
||||
[XPRoomViewController openRoom:[NSString stringWithFormat:@"%ld", model.uid] fromNick:model.nick fromType:UserEnterRoomFromType_Follow_User fromUid:[NSString stringWithFormat:@"%ld", model.roomUid] viewController:self];
|
||||
} else {
|
||||
if (model.uid > 0) {
|
||||
XPMineUserInfoViewController * userInfoVC = [[XPMineUserInfoViewController alloc] init];
|
||||
|
@@ -69,6 +69,9 @@
|
||||
extModel.experUrl = userInfo.userLevelVo.experUrl;
|
||||
extModel.newUser = userInfo.newUser;
|
||||
extModel.vipIcon = userInfo.userVipInfoVO.vipIcon;
|
||||
extModel.fromUid = userInfo.fromUid;
|
||||
extModel.fromType = userInfo.fromType;
|
||||
extModel.fromNick = userInfo.fromNick;
|
||||
|
||||
NSMutableDictionary *ext = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]];
|
||||
request.roomExt = [ext toJSONString];
|
||||
|
@@ -7,6 +7,7 @@
|
||||
|
||||
#import "NSObject+MJExtension.h"
|
||||
#import "UserLevelVo.h"
|
||||
#import "XPEnum.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPMessageRemoteExtModel : NSObject
|
||||
@@ -29,7 +30,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic,assign) NSInteger experLevelSeq;
|
||||
///跟随的
|
||||
@property (nonatomic,copy) NSString *fromNick;
|
||||
@property (nonatomic,copy) NSString *fromType;
|
||||
@property (nonatomic,assign) UserEnterRoomFromType fromType;
|
||||
@property (nonatomic,copy) NSString *fromUid;
|
||||
///名牌的
|
||||
@property (nonatomic,copy) NSString *inRoomNameplatePic;
|
||||
|
@@ -173,16 +173,26 @@
|
||||
[attribute appendAttributedString:[self createNameplateAttibute:extModel.inRoomNameplateWord image:extModel.inRoomNameplatePic textFont:[UIFont systemFontOfSize:9]]];
|
||||
[attribute appendAttributedString:[self createSapceAttribute:2]];
|
||||
}
|
||||
|
||||
[attribute appendAttributedString:[self createTextAttribute:nick color:[ThemeColor messageNickColor] font:kRoomMessageDefalutFont]];
|
||||
|
||||
[attribute appendAttributedString:[self createNickAtrribute:nick uid:message.from.integerValue]];
|
||||
if (extModel.carName.length > 0) {
|
||||
[attribute appendAttributedString:[self createTextAttribute:@" 驾着 " color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:@" 驾着 " color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:extModel.carName color:[ThemeColor messageNickColor] font:kRoomMessageDefalutFont]];
|
||||
[attribute appendAttributedString:[self createSapceAttribute:2]];
|
||||
}
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"进入了房间" color:[ThemeColor messageDefaultTextColor] font:kRoomMessageDefalutFont]];
|
||||
[self attributeAddHihtLight:attribute uid:message.from.integerValue];
|
||||
|
||||
if (extModel.fromType > 0) {
|
||||
if (extModel.fromType == UserEnterRoomFromType_Home_Recommend) {
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"根据首页推荐" color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
} else if(extModel.fromType == UserEnterRoomFromType_Follow_User) {
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"跟随" color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
[attribute appendAttributedString:[self createNickAtrribute:extModel.fromNick uid:extModel.fromUid.integerValue]];
|
||||
} else if(extModel.fromType == UserEnterRoomFromType_Follow_Game_Detail) {
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"接受" color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
[attribute appendAttributedString:[self createNickAtrribute:extModel.fromNick uid:extModel.fromUid.integerValue]];
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"的邀请" color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
}
|
||||
}
|
||||
[attribute appendAttributedString:[self createTextAttribute:@"进入了房间" color:[ThemeColor messageTextColor] font:kRoomMessageDefalutFont]];
|
||||
return attribute;
|
||||
}
|
||||
break;
|
||||
|
@@ -6,7 +6,7 @@
|
||||
//
|
||||
|
||||
#import "MvpViewController.h"
|
||||
|
||||
#import "XPMessageRemoteExtModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPRoomViewController : MvpViewController
|
||||
@@ -17,6 +17,15 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
*/
|
||||
+ (BOOL)openRoom:(NSString*)roomUid viewController:(UIViewController*)viewController;
|
||||
|
||||
/** 跟随进房
|
||||
* @params roomUid 房主uid
|
||||
* @params fromNick 跟随的人用户昵称
|
||||
* @params fromType 跟随的类型
|
||||
* @params fromUid 跟随人的uid
|
||||
* @params viewController 启动方
|
||||
*/
|
||||
+ (BOOL)openRoom:(NSString*)roomUid fromNick:(NSString * __nullable)fromNick fromType:(UserEnterRoomFromType)fromType fromUid:(NSString * __nullable)fromUid viewController:(UIViewController*)viewController;
|
||||
|
||||
- (instancetype)init NS_UNAVAILABLE;
|
||||
+ (instancetype)new NS_UNAVAILABLE;
|
||||
- (id)copy NS_UNAVAILABLE;
|
||||
|
@@ -78,17 +78,28 @@ UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
@property (nonatomic,strong) RoomInfoModel *roomInfo;
|
||||
///本地是否修改过礼物特效显示 当前房间如果设置过礼物特效是否显示的话 就不再跟随房间礼物特效的更新而更新
|
||||
@property (nonatomic,assign) BOOL hasAnimationEffect;
|
||||
///跟随的
|
||||
@property (nonatomic,copy) NSString *fromNick;
|
||||
@property (nonatomic,assign) UserEnterRoomFromType fromType;
|
||||
@property (nonatomic,copy) NSString *fromUid;
|
||||
@end
|
||||
|
||||
@implementation XPRoomViewController
|
||||
|
||||
+ (BOOL)openRoom:(NSString *)roomUid viewController:(UIViewController *)viewController {
|
||||
XPRoomViewController * roomVC = [[self alloc] init];
|
||||
roomVC.roomUid = roomUid;
|
||||
BaseNavigationController * baseNav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
|
||||
baseNav.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
[viewController presentViewController:baseNav animated:YES completion:nil];
|
||||
return YES;
|
||||
return [self openRoom:roomUid fromNick:nil fromType:0 fromUid:nil viewController:viewController];
|
||||
}
|
||||
|
||||
+ (BOOL)openRoom:(NSString*)roomUid fromNick:(NSString * __nullable)fromNick fromType:(UserEnterRoomFromType)fromType fromUid:(NSString * __nullable)fromUid viewController:(UIViewController*)viewController {
|
||||
XPRoomViewController * roomVC = [[self alloc] init];
|
||||
roomVC.roomUid = roomUid;
|
||||
roomVC.fromUid = fromUid;
|
||||
roomVC.fromType = fromType;
|
||||
roomVC.fromNick = fromNick;
|
||||
BaseNavigationController * baseNav = [[BaseNavigationController alloc] initWithRootViewController:roomVC];
|
||||
baseNav.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
[viewController presentViewController:baseNav animated:YES completion:nil];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
@@ -309,6 +320,9 @@ UIKIT_EXTERN NSString * const kRoomMiniNotificationKey;
|
||||
|
||||
#pragma mark - XPRoomProtocol
|
||||
- (void)initEnterRoomSuccess:(RoomInfoModel *)roomInfo user:(UserInfoModel *)userInfo {
|
||||
userInfo.fromUid = self.fromUid;
|
||||
userInfo.fromType = self.fromType;
|
||||
userInfo.fromNick = self.fromNick;
|
||||
self.hasAnimationEffect = roomInfo.hasAnimationEffect;
|
||||
self.roomInfo = roomInfo;
|
||||
self.userInfo = userInfo;
|
||||
|
Reference in New Issue
Block a user