红包接口对接

This commit is contained in:
liyuhua
2023-10-26 15:20:20 +08:00
parent 6754f38c52
commit 6ed407b05a
10 changed files with 139 additions and 85 deletions

View File

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPRoomMenuContainerView : UIView<RoomGuestDelegate> @interface XPRoomMenuContainerView : UIView<RoomGuestDelegate>
@property (nonatomic,strong) XPFreeGiftModel *freeModel; @property (nonatomic,strong) XPFreeGiftModel *freeModel;
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate; - (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate;
-(void)showInputView:(NSString *)text;
- (void)menuResignFirstResponder; - (void)menuResignFirstResponder;
@end @end

View File

@@ -79,7 +79,10 @@
- (void)menuResignFirstResponder { - (void)menuResignFirstResponder {
[self.inputTextView.editTextFiled resignFirstResponder]; [self.inputTextView.editTextFiled resignFirstResponder];
} }
-(void)showInputView:(NSString *)text{
[self menuButtonAction:self.inputButton];
self.inputTextView.editTextFiled.text = text;
}
#pragma mark - Response #pragma mark - Response
- (void)menuButtonAction:(UIButton *)sender { - (void)menuButtonAction:(UIButton *)sender {
XPRoomMenuItemType type = sender.tag; XPRoomMenuItemType type = sender.tag;

View File

@@ -11,6 +11,7 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface XPRoomMessageContainerView : UIView<RoomGuestDelegate> @interface XPRoomMessageContainerView : UIView<RoomGuestDelegate>
- (void)showUserCard:(NSInteger)uid;
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate; - (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate;
@end @end

View File

@@ -92,7 +92,9 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
} }
return self; return self;
} }
- (void)showUserCard:(NSInteger)uid{
[self.messageParser showUserCard:uid];
}
#pragma mark - Response #pragma mark - Response
- (void)messageTipsBtnAction:(UIButton *)sender { - (void)messageTipsBtnAction:(UIButton *)sender {
self.isPending = NO; self.isPending = NO;

View File

@@ -12,7 +12,7 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface RoomHeaderView : UIView<RoomGuestDelegate> @interface RoomHeaderView : UIView<RoomGuestDelegate>
- (void)showSharePanel;
- (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate; - (instancetype)initWithDelegate:(id<RoomHostDelegate>)delegate;
@end @end

View File

@@ -53,6 +53,22 @@ typedef enum : NSUInteger {
@property(nonatomic,assign) long beginTime; @property(nonatomic,assign) long beginTime;
///0未完成1完成 ///0未完成1完成
@property(nonatomic,assign) int finish; @property(nonatomic,assign) int finish;
///发送者头像
@property (nonatomic, copy) NSString *sendUserAvatar;
///发送者昵称
@property (nonatomic, copy) NSString *sendUserNick;
///房间UID
@property (nonatomic, copy) NSString *roomUid;
///红包类型
@property (nonatomic, assign) NSInteger redEnvelopeType;
///房间标题
@property (nonatomic, copy) NSString *roomTitle;
///红包祝福语
@property (nonatomic, copy) NSString *redEnvelopeMessage;
////红包数量
@property(nonatomic,copy) NSString *redEnvelopeNum;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -7,11 +7,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "XPRedPacketModel.h" #import "XPRedPacketModel.h"
@protocol XPReceiveRedPacketViewDelegate <NSObject>
-(void)openRedPacketWithType:(RedPacketConditionsType)type uid:(NSString *_Nonnull)uid roomUid:(NSString *_Nonnull)roomUid;
@end
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@@ -20,13 +16,12 @@ NS_ASSUME_NONNULL_BEGIN
///是否在全服红包的房间内 ///是否在全服红包的房间内
@property (nonatomic, assign) BOOL inAllPacketRoom; @property (nonatomic, assign) BOOL inAllPacketRoom;
///红包信息
@property (nonatomic, strong) XPReceiveRedPacketModel *redPacketModel;
@property (nonatomic, strong) XPRedPacketModel *receiveModel; @property (nonatomic, strong) XPRedPacketModel *receiveModel;
@property (nonatomic, strong) UIView *alphaView; @property (nonatomic, strong) UIView *alphaView;
@property(nonatomic,weak) id<XPReceiveRedPacketViewDelegate>delegate;
@end @end

View File

@@ -162,49 +162,53 @@
_inAllPacketRoom = inAllPacketRoom; _inAllPacketRoom = inAllPacketRoom;
} }
- (void)setRedPacketModel:(XPReceiveRedPacketModel *)redPacketModel { //- (void)setRedPacketModel:(XPReceiveRedPacketModel *)redPacketModel {
_redPacketModel = redPacketModel; // _redPacketModel = redPacketModel;
self.sendAvatar.imageUrl = redPacketModel.sendUserAvatar; // self.sendAvatar.imageUrl = redPacketModel.sendUserAvatar;
self.sendWishLabel.text = redPacketModel.redEnvelopeMessage; // self.sendWishLabel.text = redPacketModel.redEnvelopeMessage;
if (redPacketModel.redEnvelopeType == 1) { // if (redPacketModel.redEnvelopeType == 1) {
self.sendNickLabel.text = redPacketModel.sendUserNick; // self.sendNickLabel.text = redPacketModel.sendUserNick;
} else { // } else {
if (self.inAllPacketRoom) { // if (self.inAllPacketRoom) {
self.sendNickLabel.text = redPacketModel.sendUserNick; // self.sendNickLabel.text = redPacketModel.sendUserNick;
} else { // } else {
NSString *nick = redPacketModel.sendUserNick; // NSString *nick = redPacketModel.sendUserNick;
//
NSString *roomTitle = redPacketModel.roomTitle; // NSString *roomTitle = redPacketModel.roomTitle;
if (redPacketModel.roomTitle.length > 6) { // if (redPacketModel.roomTitle.length > 6) {
roomTitle = [NSString stringWithFormat:@"%@...", [redPacketModel.roomTitle substringToIndex:6]]; // roomTitle = [NSString stringWithFormat:@"%@...", [redPacketModel.roomTitle substringToIndex:6]];
} // }
self.sendNickLabel.text = nick; // self.sendNickLabel.text = nick;
// NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] init]; //// NSMutableAttributedString *attribute = [[NSMutableAttributedString alloc] init];
// NSMutableAttributedString *roomAttr = [[NSMutableAttributedString alloc] initWithString:roomTitle attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}]; //// NSMutableAttributedString *roomAttr = [[NSMutableAttributedString alloc] initWithString:roomTitle attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}];
// NSMutableAttributedString *redPacketStr = [[NSMutableAttributedString alloc] initWithString:YMLocalizedString(@"XPReceiveRedPacketView0") attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}]; //// NSMutableAttributedString *redPacketStr = [[NSMutableAttributedString alloc] initWithString:YMLocalizedString(@"XPReceiveRedPacketView0") attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
// NSMutableAttributedString *nickAttr = [[NSMutableAttributedString alloc] initWithString:nick attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}]; //// NSMutableAttributedString *nickAttr = [[NSMutableAttributedString alloc] initWithString:nick attributes:@{NSForegroundColorAttributeName : UIColorFromRGB(0xFDCD00)}];
// [attribute appendAttributedString:roomAttr]; //// [attribute appendAttributedString:roomAttr];
// [attribute appendAttributedString:redPacketStr]; //// [attribute appendAttributedString:redPacketStr];
// [attribute appendAttributedString:nickAttr]; //// [attribute appendAttributedString:nickAttr];
// self.sendNickLabel.attributedText = attribute; //// self.sendNickLabel.attributedText = attribute;
//
//
} // }
} // }
} //}
- (void)setReceiveModel:(XPRedPacketModel *)receiveModel { - (void)setReceiveModel:(XPRedPacketModel *)receiveModel {
_receiveModel = receiveModel; _receiveModel = receiveModel;
self.sendAvatar.imageUrl = receiveModel.userVO.avatar; self.sendAvatar.imageUrl = _receiveModel.sendUserAvatar.length > 0 ? receiveModel.sendUserAvatar : receiveModel.userVO.avatar;
NSString *nick = _receiveModel.sendUserNick.length > 0 ? _receiveModel.sendUserNick : receiveModel.userVO.nick;
self.sendNickLabel.text = [NSString stringWithFormat:@"%@%@",receiveModel.userVO.nick,YMLocalizedString(@"XPReceiveRedPacketView8")] ; if (nick.length > 6) {
nick = [NSString stringWithFormat:@"%@...", [nick substringToIndex:6]];
}
self.sendNickLabel.text = [NSString stringWithFormat:@"%@%@",nick,YMLocalizedString(@"XPReceiveRedPacketView8")] ;
self.robView.hidden = YES; self.robView.hidden = YES;
self.robIcon.hidden = YES; self.robIcon.hidden = YES;
self.countDownView.hidden = YES; self.countDownView.hidden = YES;
self.countDownTitleView.hidden = YES; self.countDownTitleView.hidden = YES;
if(_receiveModel.kind == RedPacketConditionsType_NO){ if(_receiveModel.kind == RedPacketConditionsType_NO){
self.sendWishLabel.text = YMLocalizedString(@"XPReceiveRedPacketView9"); self.sendWishLabel.text = _receiveModel.redEnvelopeMessage.length > 0 ? _receiveModel.redEnvelopeMessage :YMLocalizedString(@"XPReceiveRedPacketView9");
if(_receiveModel.validityType == 1){ if(_receiveModel.validityType == 1){
NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000]; NSInteger time = [self getTimeDifferenceWithTimestamp:_receiveModel.timestamp / 1000 beginTime:_receiveModel.beginTime / 1000];
if(time > 0){ if(time > 0){
@@ -325,9 +329,7 @@
}else if(self.receiveModel.kind == RedPacketConditionsType_Followd){ }else if(self.receiveModel.kind == RedPacketConditionsType_Followd){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){ if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){ [[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Followd),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @""}];
[self.delegate openRedPacketWithType:RedPacketConditionsType_Followd uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId];
}
return; return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){ }else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
@@ -340,9 +342,8 @@
}else if(self.receiveModel.kind == RedPacketConditionsType_Share){ }else if(self.receiveModel.kind == RedPacketConditionsType_Share){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){ if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){
[self.delegate openRedPacketWithType:RedPacketConditionsType_Share uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId]; [[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Share),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @""}];
}
return; return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){ }else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
@@ -354,9 +355,7 @@
}else if(self.receiveModel.kind == RedPacketConditionsType_Share){ }else if(self.receiveModel.kind == RedPacketConditionsType_Share){
if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){ if(self.isCountDownEnd == NO && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
if(self.delegate && [self.delegate respondsToSelector:@selector(openRedPacketWithType:uid:roomUid:)]){ [[NSNotificationCenter defaultCenter]postNotificationName:@"kOpenRedPacketNotification" object:nil userInfo:@{@"type":@(RedPacketConditionsType_Scrolling),@"uid":self.receiveModel.userId ?: @"",@"roomUid":self.receiveModel.roomUId ?: @"",@"scrolling":self.receiveModel.message ?: @""}];
[self.delegate openRedPacketWithType:RedPacketConditionsType_Scrolling uid:self.receiveModel.userId roomUid:self.receiveModel.roomUId];
}
return; return;
}else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){ }else if(self.isCountDownEnd == YES && self.receiveModel.finish == 0){
[self removeFromSuperview]; [self removeFromSuperview];
@@ -366,24 +365,25 @@
return; return;
} }
} }
if (!self.redPacketModel) {
if (self.receiveModel.userVO != nil) {
[self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId]; [self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else { } else {
// //
if (self.redPacketModel.redEnvelopeType == 1) { if (self.receiveModel.redEnvelopeType == 1) {
//1 //1
[self openRoomRedPacket:sender redEnvelopeId:self.redPacketModel.redEnvelopeId]; [self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else { } else {
//2 //2
if (self.inAllPacketRoom) {// if (self.inAllPacketRoom) {//
[self openRoomRedPacket:sender redEnvelopeId:self.redPacketModel.redEnvelopeId]; [self openRoomRedPacket:sender redEnvelopeId:self.receiveModel.redEnvelopeId];
} else {// } else {//
if ([XPRoomMiniManager shareManager].getRoomInfo) { if ([XPRoomMiniManager shareManager].getRoomInfo) {
RoomInfoModel *roomInfo = [XPRoomMiniManager shareManager].getRoomInfo; RoomInfoModel *roomInfo = [XPRoomMiniManager shareManager].getRoomInfo;
if (roomInfo.uid == self.redPacketModel.roomUid.integerValue) { if (roomInfo.uid == self.receiveModel.roomUid.integerValue) {
[XPRoomViewController openMiniRoom:[NSString stringWithFormat:@"%ld", roomInfo.uid] viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC]]; [XPRoomViewController openMiniRoom:[NSString stringWithFormat:@"%ld", roomInfo.uid] viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC]];
} else { } else {
[XPRoomViewController openRoom:self.redPacketModel.roomUid viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC]]; [XPRoomViewController openRoom:self.receiveModel.roomUid viewController:[[XCCurrentVCStackManager shareManager] getCurrentVC]];
} }
} else { } else {
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@@ -395,7 +395,7 @@
} }
}]; }];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[XPRoomViewController openRoom:self.redPacketModel.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC]; [XPRoomViewController openRoom:self.receiveModel.roomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
}); });
} }
[self removeFromSuperview]; [self removeFromSuperview];

View File

@@ -38,6 +38,7 @@
#import "XPRedPacketModel.h" #import "XPRedPacketModel.h"
#import "FirstChargeRoomWindowModel.h" #import "FirstChargeRoomWindowModel.h"
#import "XPFreeGiftModel.h" #import "XPFreeGiftModel.h"
#import "XPUserCardInfoModel.h"
///View ///View
#import "BaseNavigationController.h" #import "BaseNavigationController.h"
#import "XPRoomActivityContainerView.h" #import "XPRoomActivityContainerView.h"
@@ -73,6 +74,7 @@
#import "LittleGameStageView.h" #import "LittleGameStageView.h"
#import "LittleGameScrollStageView.h" #import "LittleGameScrollStageView.h"
#import "XPRoomLittleGameContainerView.h" #import "XPRoomLittleGameContainerView.h"
#import "XPUserCardViewController.h"
UIKIT_EXTERN NSString * const kShieldingNotification; UIKIT_EXTERN NSString * const kShieldingNotification;
@@ -271,6 +273,23 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myGiftEffectUpdate:) name:kRoomGiftEffectUpdateNotificationKey object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myGiftEffectUpdate:) name:kRoomGiftEffectUpdateNotificationKey object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(showRoomFirstChargeWindowFormNot:) name:kShowFirstRechargeView object:nil]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(showRoomFirstChargeWindowFormNot:) name:kShowFirstRechargeView object:nil];
[XPSkillCardPlayerManager shareInstance].isInRoom = YES; [XPSkillCardPlayerManager shareInstance].isInRoom = YES;
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(openRedPacketNotification:) name:@"kOpenRedPacketNotification" object:nil];
}
///
-(void)openRedPacketNotification:(NSNotification *)not{
NSDictionary *redPacketDic = not.userInfo;
NSInteger type = [redPacketDic[@"type"] integerValue];
NSInteger userId = [redPacketDic[@"uid"] integerValue];
// NSString *roomUid = redPacketDic[@"roomUId"];
if(type == 2){
[self.messageContainerView showUserCard:userId];
}else if (type == 3){
[self.roomHeaderView showSharePanel];
}else if (type == 4){
NSString *scrolling = redPacketDic[@"scrolling"];
[self.menuContainerView showInputView:scrolling];
}
} }
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
@@ -326,6 +345,7 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
self.activityContainerView.openRedPacketHandle = ^(XPRedPacketModel * _Nullable redModel) { self.activityContainerView.openRedPacketHandle = ^(XPRedPacketModel * _Nullable redModel) {
@kStrongify(self); @kStrongify(self);
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
view.receiveModel = redModel; view.receiveModel = redModel;
for (UIView *subView in self.view.subviews) { for (UIView *subView in self.view.subviews) {
if([subView isKindOfClass:[XPReceiveRedPacketView class]]) { if([subView isKindOfClass:[XPReceiveRedPacketView class]]) {
@@ -1207,16 +1227,19 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
return; return;
} }
for (XPRedPacketModel *data in list) { for (XPRedPacketModel *data in list) {
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; if((data.validityType == 0 && data.type == RedPacketType_RoomDiamond)|| data.type == RedPacketType_AllDiamond){
view.receiveModel = data; XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
for (UIView *subView in self.view.subviews) { view.receiveModel = data;
if([subView isKindOfClass:[XPReceiveRedPacketView class]]) { for (UIView *subView in self.view.subviews) {
view.alphaView.backgroundColor = [UIColor clearColor]; if([subView isKindOfClass:[XPReceiveRedPacketView class]]) {
break; view.alphaView.backgroundColor = [UIColor clearColor];
} break;
} }
[self.view addSubview:view]; }
[self.view bringSubviewToFront:view]; [self.view addSubview:view];
[self.view bringSubviewToFront:view];
}
} }
if(list.count > 0){ if(list.count > 0){
self.activityContainerView.redPacketModel = list.lastObject; self.activityContainerView.redPacketModel = list.lastObject;
@@ -1477,8 +1500,10 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
} else if (attachment.first == CustomMessageType_RedPacket) { } else if (attachment.first == CustomMessageType_RedPacket) {
if (attachment.second == Custom_Message_Sub_RoomDiamandRedPacket) { if (attachment.second == Custom_Message_Sub_RoomDiamandRedPacket) {
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data]; XPRedPacketModel *data = [XPRedPacketModel modelWithJSON:attachment.data];
view.redPacketModel = data; data.validityType = 0;
data.kind = 1;
view.receiveModel = data;
for (UIView *subView in self.view.subviews) { for (UIView *subView in self.view.subviews) {
if([subView isKindOfClass:[XPReceiveRedPacketView class]]) { if([subView isKindOfClass:[XPReceiveRedPacketView class]]) {
view.alphaView.backgroundColor = [UIColor clearColor]; view.alphaView.backgroundColor = [UIColor clearColor];
@@ -1487,7 +1512,23 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出
} }
[self.view addSubview:view]; [self.view addSubview:view];
[self.view bringSubviewToFront:view]; [self.view bringSubviewToFront:view];
} }else if(attachment.second == Custom_Message_Sub_NewRoomDiamandRedPacket){
XPRedPacketModel *data = [XPRedPacketModel modelWithJSON:attachment.data];
if(data.validityType == 0){
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
view.receiveModel = data;
for (UIView *subView in self.view.subviews) {
if([subView isKindOfClass:[XPReceiveRedPacketView class]]) {
view.alphaView.backgroundColor = [UIColor clearColor];
break;
}
}
[self.view addSubview:view];
[self.view bringSubviewToFront:view];
}
self.activityContainerView.redPacketModel = data;
self.activityContainerView.pi_redNum = data.redEnvelopeNum;
}
}else if(attachment.first == CustomMessageType_Free_Gift_Star_Reset_Time){ }else if(attachment.first == CustomMessageType_Free_Gift_Star_Reset_Time){
if(attachment.second == Custom_Message_Sub_Free_Gift_Star_Reset_Time){ if(attachment.second == Custom_Message_Sub_Free_Gift_Star_Reset_Time){
[self.presenter getFreeGiftData]; [self.presenter getFreeGiftData];

View File

@@ -45,7 +45,7 @@
#import "XPTabAnchorCardModel.h" #import "XPTabAnchorCardModel.h"
#import "FirstRechargeModel.h" #import "FirstRechargeModel.h"
#import "MonentsUnReadModel.h" #import "MonentsUnReadModel.h"
#import "XPReceiveRedPacketModel.h" #import "XPRedPacketModel.h"
#import "GiftReceiveInfoModel.h" #import "GiftReceiveInfoModel.h"
#import "XPVersionUpdateModel.h" #import "XPVersionUpdateModel.h"
///VC ///VC
@@ -637,12 +637,10 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
} }
/// ///
-(void)receiveRedPacketDealWithData:(AttachmentModel *)attachment{ -(void)receiveRedPacketDealWithData:(AttachmentModel *)attachment{
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithDictionary:attachment.data]; if(attachment.second != Custom_Message_Sub_AllDiamandRedPacket)return;
if(attachment.second == Custom_Message_Sub_AllDiamandRedPacket ){ XPRedPacketModel *data = [XPRedPacketModel modelWithDictionary:attachment.data];
data.validityType = 0; data.validityType = 0;
data.kind = 1; data.kind = 1;
}
// //
__block BOOL isInRoom; __block BOOL isInRoom;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
@@ -655,8 +653,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
} else { } else {
view.inAllPacketRoom = NO; view.inAllPacketRoom = NO;
} }
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data]; view.receiveModel = data;
view.redPacketModel = data;
[roomVC.view addSubview:view]; [roomVC.view addSubview:view];
[roomVC.view bringSubviewToFront:view]; [roomVC.view bringSubviewToFront:view];
*stop = YES; *stop = YES;
@@ -667,8 +664,7 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
UIViewController *currentVc = [[XCCurrentVCStackManager shareManager] getCurrentVC]; UIViewController *currentVc = [[XCCurrentVCStackManager shareManager] getCurrentVC];
XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; XPReceiveRedPacketView *view = [[XPReceiveRedPacketView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
view.inAllPacketRoom = NO; view.inAllPacketRoom = NO;
XPReceiveRedPacketModel *data = [XPReceiveRedPacketModel modelWithJSON:attachment.data]; view.receiveModel = data;
view.redPacketModel = data;
[currentVc.view addSubview:view]; [currentVc.view addSubview:view];
[currentVc.view bringSubviewToFront:view]; [currentVc.view bringSubviewToFront:view];
} }