From abc5dcdf6e12b3c70d1784c243e63821e53f78e1 Mon Sep 17 00:00:00 2001 From: liyuhua <15626451870@163.com> Date: Thu, 28 Sep 2023 00:48:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../View/SendGiftView/View/XPSendGiftView.m | 900 +++++++++--------- 1 file changed, 470 insertions(+), 430 deletions(-) diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m index 92e49f0b..228afa16 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m @@ -44,8 +44,9 @@ #import "XPGiftProtocol.h" ///VC #import "XPMineRechargeViewController.h" +#import "XPIAPRechargeViewController.h" #import "XPWebViewController.h" - +UIKIT_EXTERN NSString * const kFreeGiftCountdownNotification; UIKIT_EXTERN NSString * kShowFirstRechargeView; @interface XPSendGiftView ()< XPGiftBarViewDelegate, XPGiftProtocol, XPGiftInfoViewDelegate, XPGraffitiGiftViewDelegate, XPGiftUsersViewDelegate, XPGiftHeadTypeViewDelegate, XPGiftLuckyGiftBroadcastViewDelegate, XPGiftTwelveStarBroadcastViewDelegate> @@ -88,107 +89,120 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; @property (nonatomic,assign) GiftSegmentType segmentType; ///福袋礼物全服记录 @property (nonatomic,strong) NSArray *records; +///背包礼物数据 +@property (nonatomic,copy) NSArray * packGiftList; @end @implementation XPSendGiftView - (XPGiftPresenter *)createPresenter { - return [[XPGiftPresenter alloc] init]; + return [[XPGiftPresenter alloc] init]; } - +-(void)dealloc{ + [[NSNotificationCenter defaultCenter]removeObserver:self]; +} - (instancetype)initWithType:(SendGiftType)type uid:(NSString * __nullable)uid{ - if (self = [super init]) { - self.modalPresentationStyle = UIModalPresentationOverFullScreen; - self.roomUid = uid; - self.usingplaceType = type; - } - return self; + if (self = [super init]) { + self.modalPresentationStyle = UIModalPresentationOverFullScreen; + self.roomUid = uid; + self.usingplaceType = type; + } + return self; } - (void)viewDidLoad { - [self initSubViews]; - [self initSubViewConstraints]; - [self initHttpRequest]; + [self initSubViews]; + [self initSubViewConstraints]; + [self initHttpRequest]; } #pragma mark - Private Method - (void)initSubViews { - [self.view addSubview:self.topView]; + [self.view addSubview:self.topView]; [self.view addSubview:self.contentView]; [self.contentView addSubview:self.effectView]; - [self.contentView addSubview:self.stackView]; - [self.stackView addArrangedSubview:self.graffitiView]; + [self.contentView addSubview:self.stackView]; + [self.stackView addArrangedSubview:self.graffitiView]; [self.stackView addArrangedSubview:self.headTypeView]; - [self.stackView addArrangedSubview:self.userView]; - [self.stackView addArrangedSubview:self.giftInfoView]; - [self.stackView addArrangedSubview:self.giftBarView]; - [self.stackView addArrangedSubview:self.bottomView]; + [self.stackView addArrangedSubview:self.userView]; + [self.stackView addArrangedSubview:self.giftInfoView]; + [self.stackView addArrangedSubview:self.giftBarView]; + [self.stackView addArrangedSubview:self.bottomView]; + [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getFreeGiftCountdownNotification:) name:kFreeGiftCountdownNotification object:nil]; +} +-(void)getFreeGiftCountdownNotification:(NSNotification *)not{ + NSDictionary *freeDic = not.userInfo; + BOOL isReset = [freeDic[@"isReset"] boolValue];///礼物清零 + + if(isReset == YES){ + [self.presenter getPackGiftList]; + self.giftInfoView.isDelFreeGift = NO; + } } - - (void)initSubViewConstraints { - [self.topView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.top.mas_equalTo(self.view); - make.bottom.mas_equalTo(self.contentView.mas_top);; - }]; - - [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.stackView.mas_top); - make.left.right.bottom.mas_equalTo(self.view); - }]; - + [self.topView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.mas_equalTo(self.view); + make.bottom.mas_equalTo(self.contentView.mas_top);; + }]; + + [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.stackView.mas_top); + make.left.right.bottom.mas_equalTo(self.view); + }]; + [self.effectView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self.contentView); }]; - [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.left.right.bottom.mas_equalTo(self.contentView); - }]; - - [self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(kSafeAreaBottomHeight); - }]; + [self.stackView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.mas_equalTo(self.contentView); + }]; + + [self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) { + make.height.mas_equalTo(kSafeAreaBottomHeight); + }]; } - (void)initHttpRequest { - [self.presenter getUserInfo:[AccountInfoStorage instance].getUid]; - [self.presenter getUserWallInfo]; - [self.presenter getNormalGiftList:self.roomUid]; - [self.presenter getPackGiftList]; - [self.presenter luckyGiftBroadcastRecord]; -// [self.presenter getTwelveStarLastRankFirst:self.roomUid]; + [self.presenter getUserInfo:[AccountInfoStorage instance].getUid]; + [self.presenter getUserWallInfo]; + [self.presenter getNormalGiftList:self.roomUid]; + [self.presenter getPackGiftList]; + [self.presenter luckyGiftBroadcastRecord]; +// [self.presenter getTwelveStarLastRankFirst:self.roomUid]; } #pragma mark - Send Custom Message - (void)sendGraffitiGiftMessage { - if (self.segmentType == GiftSegmentType_Graffiti && self.graffitiPoint.count > 0) { - AttachmentModel * attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_Graffiti_Gift; - attachment.second = Custom_Message_Sub_Graffiti_Gift; - NSMutableDictionary * dic = [NSMutableDictionary dictionary]; - [dic setValue:@(self.giftInfoView.lastSelectGift.giftId) forKey:@"giftId"]; - [dic setValue:self.graffitiPoint forKey:@"drawFixedArray"]; - attachment.data = dic; - [self sendCustomMessage:attachment]; - } + if (self.segmentType == GiftSegmentType_Graffiti && self.graffitiPoint.count > 0) { + AttachmentModel * attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_Graffiti_Gift; + attachment.second = Custom_Message_Sub_Graffiti_Gift; + NSMutableDictionary * dic = [NSMutableDictionary dictionary]; + [dic setValue:@(self.giftInfoView.lastSelectGift.giftId) forKey:@"giftId"]; + [dic setValue:self.graffitiPoint forKey:@"drawFixedArray"]; + attachment.data = dic; + [self sendCustomMessage:attachment]; + } } - (void)sendCustomMessage:(GiftReceiveInfoModel *)receiveModel oringinDic:(NSDictionary *)originDic { - NSDictionary * dict = originDic; - if (receiveModel.roomSendGiftType == RoomSendGiftType_AllMic) { // 全麦 - NSMutableDictionary *data = [NSMutableDictionary dictionary]; - [data addEntriesFromDictionary:dict]; - if (receiveModel.gift.giftType == GiftType_Lucky) { // 如果是福袋 需要分开发送消息 - NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; + NSDictionary * dict = originDic; + if (receiveModel.roomSendGiftType == RoomSendGiftType_AllMic) { // 全麦 + NSMutableDictionary *data = [NSMutableDictionary dictionary]; + [data addEntriesFromDictionary:dict]; + if (receiveModel.gift.giftType == GiftType_Lucky) { // 如果是福袋 需要分开发送消息 + NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; // NSArray *displayGift = (NSArray *)[data objectForKey:@"displayGift"]; // NSMutableArray *displayList = [NSMutableArray array]; - if (luckyBagGifts.count >0) { - for (int i = 0; i < luckyBagGifts.count; i++) { - NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; - [data1 addEntriesFromDictionary:dict]; - AttachmentModel * attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_AllMicroSend; - attachment.second = Custom_Message_Sub_AllMicroLuckySend; - NSDictionary * obj = [luckyBagGifts safeObjectAtIndex1:i]; + if (luckyBagGifts.count >0) { + for (int i = 0; i < luckyBagGifts.count; i++) { + NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; + [data1 addEntriesFromDictionary:dict]; + AttachmentModel * attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_AllMicroSend; + attachment.second = Custom_Message_Sub_AllMicroLuckySend; + NSDictionary * obj = [luckyBagGifts safeObjectAtIndex1:i]; // NSArray *giftList = (NSArray *)obj[@"giftList"]; // for (NSDictionary *giftDic in giftList) { // for (NSDictionary *displayDic in displayGift) { @@ -201,250 +215,251 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; // } // } // [data1 setValue:displayList forKey:@"displayGift"]; - [data1 setObject:i == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; - [data1 setObject:obj forKey:@"luckyGiftList"]; - [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; - [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; - [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; - if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { - [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; - } - [data1 removeObjectForKey:@"luckyBagGifts"]; - [data1 removeObjectForKey:@"targetUsers"]; - [data1 removeObjectForKey:@"gift"]; - attachment.data = data1; - [self sendCustomMessage:attachment]; - } - } - }else { // 全麦赠送普通礼物 包含背包礼物 - AttachmentModel * attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_AllMicroSend; - attachment.second = Custom_Message_Sub_AllMicroSend; - [data setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; - attachment.data = data; - [self sendCustomMessage:attachment]; - } - } else if (receiveModel.roomSendGiftType == RoomSendGiftType_MutableOnMic) { // 多人非全麦 - NSMutableDictionary *data = [NSMutableDictionary dictionary]; - [data addEntriesFromDictionary:dict]; - if (receiveModel.gift.giftType == GiftType_Lucky) { // 多人非全麦 福袋礼物 - NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; - if (luckyBagGifts.count >0) { - // 产品想一个消息 多次发送 只能遍历插入消息体 - [luckyBagGifts enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; - [data1 addEntriesFromDictionary:dict]; - AttachmentModel * attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_AllMicroSend; - attachment.second = Custom_Message_Sub_AllBatchMicroLuckySend; - [data1 setObject:idx == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; - [data1 setObject:obj forKey:@"luckyGiftList"]; - [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; - [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; - [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; - if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { - [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; - } - [data1 removeObjectForKey:@"luckyBagGifts"]; - [data1 removeObjectForKey:@"targetUsers"]; - attachment.data = data1; - [self sendCustomMessage:attachment]; - }]; - } - }else { // 多人非全麦 普通礼物 - AttachmentModel *attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_AllMicroSend; - attachment.second = Custom_Message_Sub_AllBatchSend; - attachment.data = data; - [self sendCustomMessage:attachment]; - } - } else if (receiveModel.roomSendGiftType == RoomSendGiftType_ToOne) { // 单人 - NSMutableDictionary *data = [NSMutableDictionary dictionary]; - [data addEntriesFromDictionary:dict]; - if (receiveModel.gift.giftType == GiftType_Lucky) { // 一对一 福袋礼物 - NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; - [luckyBagGifts enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; - [data1 addEntriesFromDictionary:dict]; - AttachmentModel * attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_Gift; - attachment.second = Custom_Message_Sub_Gift_LuckySend; - [data1 setObject:idx == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; - [data1 setObject:obj forKey:@"luckyGiftList"]; - [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; - [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; - [data1 setObject:[obj valueForKeyPath:@"user.nick"] forKey:@"targetNick"]; - [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; - if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { - [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; - } - [data1 removeObjectForKey:@"luckyBagGifts"]; - [data1 removeObjectForKey:@"targetUsers"]; - attachment.data = data1; - [self sendCustomMessage:attachment]; - }]; - }else { // 一对一 普通礼物 - AttachmentModel *attachment = [[AttachmentModel alloc] init]; - attachment.first = CustomMessageType_Gift; - attachment.second = Custom_Message_Sub_Gift_Send; - NSDictionary *targetUsers = ((NSArray *)[data objectForKey:@"targetUsers"]).firstObject; - [data setObject:[targetUsers valueForKeyPath:@"uid"] forKey:@"targetUid"]; - [data setObject:[targetUsers valueForKeyPath:@"nick"] forKey:@"targetNick"]; - [data setObject:[targetUsers valueForKeyPath:@"avatar"] forKey:@"targetAvatar"]; - attachment.data = data; - [self sendCustomMessage:attachment]; - } - } - + [data1 setObject:i == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; + [data1 setObject:obj forKey:@"luckyGiftList"]; + [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; + [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; + [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; + if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { + [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; + } + [data1 removeObjectForKey:@"luckyBagGifts"]; + [data1 removeObjectForKey:@"targetUsers"]; + [data1 removeObjectForKey:@"gift"]; + attachment.data = data1; + [self sendCustomMessage:attachment]; + } + } + }else { // 全麦赠送普通礼物 包含背包礼物 + AttachmentModel * attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_AllMicroSend; + attachment.second = Custom_Message_Sub_AllMicroSend; + [data setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; + attachment.data = data; + [self sendCustomMessage:attachment]; + } + } else if (receiveModel.roomSendGiftType == RoomSendGiftType_MutableOnMic) { // 多人非全麦 + NSMutableDictionary *data = [NSMutableDictionary dictionary]; + [data addEntriesFromDictionary:dict]; + if (receiveModel.gift.giftType == GiftType_Lucky) { // 多人非全麦 福袋礼物 + NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; + if (luckyBagGifts.count >0) { + // 产品想一个消息 多次发送 只能遍历插入消息体 + [luckyBagGifts enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; + [data1 addEntriesFromDictionary:dict]; + AttachmentModel * attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_AllMicroSend; + attachment.second = Custom_Message_Sub_AllBatchMicroLuckySend; + [data1 setObject:idx == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; + [data1 setObject:obj forKey:@"luckyGiftList"]; + [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; + [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; + [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; + if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { + [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; + } + [data1 removeObjectForKey:@"luckyBagGifts"]; + [data1 removeObjectForKey:@"targetUsers"]; + attachment.data = data1; + [self sendCustomMessage:attachment]; + }]; + } + }else { // 多人非全麦 普通礼物 + AttachmentModel *attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_AllMicroSend; + attachment.second = Custom_Message_Sub_AllBatchSend; + attachment.data = data; + [self sendCustomMessage:attachment]; + } + } else if (receiveModel.roomSendGiftType == RoomSendGiftType_ToOne) { // 单人 + NSMutableDictionary *data = [NSMutableDictionary dictionary]; + [data addEntriesFromDictionary:dict]; + if (receiveModel.gift.giftType == GiftType_Lucky) { // 一对一 福袋礼物 + NSArray *luckyBagGifts = (NSArray *)[data objectForKey:@"luckyBagGifts"]; + [luckyBagGifts enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { + NSMutableDictionary * data1 = [NSMutableDictionary dictionary]; + [data1 addEntriesFromDictionary:dict]; + AttachmentModel * attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_Gift; + attachment.second = Custom_Message_Sub_Gift_LuckySend; + [data1 setObject:idx == 0 ? @(YES):@(NO) forKey:@"isShowAnimation"]; + [data1 setObject:obj forKey:@"luckyGiftList"]; + [data1 setObject:receiveModel.gift.giftName forKey:@"giftName"]; + [data1 setObject:[obj valueForKeyPath:@"user.uid"] forKey:@"targetUid"]; + [data1 setObject:[obj valueForKeyPath:@"user.nick"] forKey:@"targetNick"]; + [data1 setObject:[dict valueForKeyPath:@"targetUsers.uid"] forKey:@"targetUids"]; + if ([dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"]) { + [data1 setObject:[dict valueForKeyPath:@"gift.luckyGiftSvgaUrl"] forKey:@"luckyGiftSvgaUrl"]; + } + [data1 removeObjectForKey:@"luckyBagGifts"]; + [data1 removeObjectForKey:@"targetUsers"]; + attachment.data = data1; + [self sendCustomMessage:attachment]; + }]; + }else { // 一对一 普通礼物 + AttachmentModel *attachment = [[AttachmentModel alloc] init]; + attachment.first = CustomMessageType_Gift; + attachment.second = Custom_Message_Sub_Gift_Send; + NSDictionary *targetUsers = ((NSArray *)[data objectForKey:@"targetUsers"]).firstObject; + [data setObject:[targetUsers valueForKeyPath:@"uid"] forKey:@"targetUid"]; + [data setObject:[targetUsers valueForKeyPath:@"nick"] forKey:@"targetNick"]; + [data setObject:[targetUsers valueForKeyPath:@"avatar"] forKey:@"targetAvatar"]; + attachment.data = data; + [self sendCustomMessage:attachment]; + } + } + } - (void)sendCustomMessage:(AttachmentModel *)attachment { - - NSString *sessionID = self.usingplaceType == SendGiftType_User ? [NSString stringWithFormat:@"%ld", self.userArray.firstObject.uid] : [NSString stringWithFormat:@"%ld", [self.delegate getRoomInfo].roomId]; - NIMMessage *message = [[NIMMessage alloc]init]; - NIMCustomObject *object = [[NIMCustomObject alloc] init]; - object.attachment = attachment; - message.messageObject = object; + + NSString *sessionID = self.usingplaceType == SendGiftType_User ? [NSString stringWithFormat:@"%ld", self.userArray.firstObject.uid] : [NSString stringWithFormat:@"%ld", [self.delegate getRoomInfo].roomId]; + NIMMessage *message = [[NIMMessage alloc]init]; + NIMCustomObject *object = [[NIMCustomObject alloc] init]; + object.attachment = attachment; + message.messageObject = object; UserInfoModel *userInfo = [self.delegate getUserInfo]; XPMessageRemoteExtModel *extModel = [[XPMessageRemoteExtModel alloc] init]; extModel.androidBubbleUrl = userInfo.androidBubbleUrl; extModel.iosBubbleUrl = userInfo.iosBubbleUrl; - extModel.fromSayHelloChannel = userInfo.fromSayHelloChannel; + extModel.fromSayHelloChannel = userInfo.fromSayHelloChannel; NSMutableDictionary *remoteExt = [NSMutableDictionary dictionaryWithObject:extModel.model2dictionary forKey:[NSString stringWithFormat:@"%ld", userInfo.uid]]; message.remoteExt = remoteExt; - NIMSessionType sessionType = self.usingplaceType == SendGiftType_Room ? NIMSessionTypeChatroom : NIMSessionTypeP2P; - //构造会话 - NIMSession *session = [NIMSession session:sessionID type:sessionType]; - [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:session error:nil]; + NIMSessionType sessionType = self.usingplaceType == SendGiftType_Room ? NIMSessionTypeChatroom : NIMSessionTypeP2P; + //构造会话 + NIMSession *session = [NIMSession session:sessionID type:sessionType]; + [[NIMSDK sharedSDK].chatManager sendMessage:message toSession:session error:nil]; } #pragma mark - Deal Send Gift Data - (NSString *)dealSendGiftCount:(XPGiftCountModel *)model gift:(GiftInfoModel *)gift { - NSString * count = @"1"; - if (model.isTotal) { - count = [NSString stringWithFormat:@"%ld", gift.count]; - } else { - count = model.giftNumber; - } + NSString * count = @"1"; + if (model.isTotal) { + count = [NSString stringWithFormat:@"%ld", gift.count]; + } else { + count = model.giftNumber; + } - if (self.segmentType == GiftSegmentType_Graffiti) { - count = [NSString stringWithFormat:@"%ld", self.graffitiPoint.count]; - } - return count; + if (self.segmentType == GiftSegmentType_Graffiti) { + count = [NSString stringWithFormat:@"%ld", self.graffitiPoint.count]; + } + return count; } - (NSString *)dealSendGiftUids:(NSArray *)uids { - NSString *uidString = [[NSString alloc] init]; - for (NSString *item in uids) { - if (uidString.length > 0) { - uidString = [uidString stringByAppendingString:@","]; - } - uidString = [uidString stringByAppendingString:item]; - } - return uidString; + NSString *uidString = [[NSString alloc] init]; + for (NSString *item in uids) { + if (uidString.length > 0) { + uidString = [uidString stringByAppendingString:@","]; + } + uidString = [uidString stringByAppendingString:item]; + } + return uidString; } - (RoomSendGiftType)dealRoomSendGiftType:(GiftInfoModel *)giftInfo giftCount:(XPGiftCountModel *)giftCount { - NSArray * uids = self.userView.selectUserArray; - RoomSendGiftType roomSendGiftType; - if (self.userView.isSelectAll) { - if (giftInfo.sourceType == GiftSourceType_Pack && giftCount.isTotal && giftInfo && uids.count > 1) { - [self showErrorToast:YMLocalizedString(@"XPSendGiftView0")]; - return -1; - } - roomSendGiftType = RoomSendGiftType_AllMic; - } else if(self.userView.selectUserArray.count > 1) { - if (giftInfo.sourceType == GiftSourceType_Pack && giftCount.isTotal) { - [self showErrorToast:YMLocalizedString(@"XPSendGiftView1")]; - return -1; - } - roomSendGiftType = RoomSendGiftType_MutableOnMic; - } else if(self.userView.selectUserArray.count == 1) { - roomSendGiftType = RoomSendGiftType_ToOne; - } else { - roomSendGiftType = -1; - } - return roomSendGiftType; + NSArray * uids = self.userView.selectUserArray; + RoomSendGiftType roomSendGiftType; + if (self.userView.isSelectAll) { + if (giftInfo.sourceType == GiftSourceType_Pack && giftCount.isTotal && giftInfo && uids.count > 1) { + [self showErrorToast:YMLocalizedString(@"XPSendGiftView0")]; + return -1; + } + roomSendGiftType = RoomSendGiftType_AllMic; + } else if(self.userView.selectUserArray.count > 1) { + if (giftInfo.sourceType == GiftSourceType_Pack && giftCount.isTotal) { + [self showErrorToast:YMLocalizedString(@"XPSendGiftView1")]; + return -1; + } + roomSendGiftType = RoomSendGiftType_MutableOnMic; + } else if(self.userView.selectUserArray.count == 1) { + roomSendGiftType = RoomSendGiftType_ToOne; + } else { + roomSendGiftType = -1; + } + return roomSendGiftType; } #pragma mark - Public Method - (void)configGiftUsers:(NSArray *)users { - self.userArray = users; - [self.userView configGiftUsers:users]; - if (users.count <= 0 || self.usingplaceType == SendGiftType_User) { - self.userView.hidden = YES; - } else { - self.userView.hidden = NO; - } + self.userArray = users; + [self.userView configGiftUsers:users]; + if (users.count <= 0 || self.usingplaceType == SendGiftType_User) { + self.userView.hidden = YES; + } else { + self.userView.hidden = NO; + } } #pragma mark - XPGiftBarViewDelegate - (void)xPGiftBarView:(XPGiftBarView *)view didClickSendGift:(XPGiftCountModel *)giftCount { ///总礼物 三要素 送礼物的人 送的什么礼物 送多少个礼物 - NSArray * uids = self.userView.selectUserArray; - GiftInfoModel * giftInfo = self.giftInfoView.lastSelectGift; - if (self.usingplaceType == SendGiftType_Room) { - if (uids.count > 0) { - ///送礼物的人 - NSString * uidString = [self dealSendGiftUids:uids]; - ///送礼物的个数 - NSString * giftNumber = [self dealSendGiftCount:giftCount gift:giftInfo]; - ///送的什么礼物 - NSString * giftId = [NSString stringWithFormat:@"%ld", giftInfo.giftId]; - ///给麦上的人送礼物 - GiftSendType sendType = GiftSendType_OnMic; - ///礼物来源 - GiftSourceType sourceType = giftInfo.sourceType; + NSArray * uids = self.userView.selectUserArray; + GiftInfoModel * giftInfo = self.giftInfoView.lastSelectGift; + if (self.usingplaceType == SendGiftType_Room) { + if (uids.count > 0) { + ///送礼物的人 + NSString * uidString = [self dealSendGiftUids:uids]; + ///送礼物的个数 + NSString * giftNumber = [self dealSendGiftCount:giftCount gift:giftInfo]; + ///送的什么礼物 + NSString * giftId = [NSString stringWithFormat:@"%ld", giftInfo.giftId]; + ///给麦上的人送礼物 + GiftSendType sendType = GiftSendType_OnMic; + ///礼物来源 + GiftSourceType sourceType = giftInfo.sourceType; if(sourceType != GiftSourceType_Normal && sourceType != GiftSourceType_Pack){ sourceType = _segmentType == GiftSegmentType_Pack ? GiftSourceType_Pack :GiftSourceType_Normal; } - ///送一个人 还是全麦 还是多人非全麦 - RoomSendGiftType roomSendType = [self dealRoomSendGiftType:giftInfo giftCount:giftCount]; - if (roomSendType == -1) { - return; - } - self.giftBarView.sendButtonIsEnable = NO; - ///发送消息 - [self.presenter sendGift:uidString giftNum:giftNumber sendType:sendType giftId:giftId giftSource:sourceType giftType:giftInfo.giftType roomSendType:roomSendType roomUid:self.roomUid msg:@""]; - } else { - [self showErrorToast:YMLocalizedString(@"XPSendGiftView2")]; - return; - } - } else if(self.usingplaceType == SendGiftType_User) { - ///送礼物的人 - NSString * uidString = [self dealSendGiftUids:uids]; - ///送礼物的个数 - NSString * giftNumber = [self dealSendGiftCount:giftCount gift:giftInfo]; - ///送的什么礼物 - NSString * giftId = [NSString stringWithFormat:@"%ld", giftInfo.giftId]; - ///给麦上的人送礼物 - GiftSendType sendType = GiftSendType_Chat; - ///礼物来源 - GiftSourceType sourceType = giftInfo.sourceType; + ///送一个人 还是全麦 还是多人非全麦 + RoomSendGiftType roomSendType = [self dealRoomSendGiftType:giftInfo giftCount:giftCount]; + if (roomSendType == -1) { + return; + } + self.giftBarView.sendButtonIsEnable = NO; + ///发送消息 + [self.presenter sendGift:uidString giftNum:giftNumber sendType:sendType giftId:giftId giftSource:sourceType giftType:giftInfo.giftType roomSendType:roomSendType roomUid:self.roomUid msg:@""]; + } else { + [self showErrorToast:YMLocalizedString(@"XPSendGiftView2")]; + return; + } + } else if(self.usingplaceType == SendGiftType_User) { + ///送礼物的人 + NSString * uidString = [self dealSendGiftUids:uids]; + ///送礼物的个数 + NSString * giftNumber = [self dealSendGiftCount:giftCount gift:giftInfo]; + ///送的什么礼物 + NSString * giftId = [NSString stringWithFormat:@"%ld", giftInfo.giftId]; + ///给麦上的人送礼物 + GiftSendType sendType = GiftSendType_Chat; + ///礼物来源 + GiftSourceType sourceType = giftInfo.sourceType; if(sourceType != GiftSourceType_Normal && sourceType != GiftSourceType_Pack){ sourceType = _segmentType == GiftSegmentType_Pack ? GiftSourceType_Pack :GiftSourceType_Normal; } - ///送一个人 还是全麦 还是多人非全麦 - RoomSendGiftType roomSendType = RoomSendGiftType_ToOne; - self.giftBarView.sendButtonIsEnable = NO; - [self.presenter sendGift:uidString giftNum:giftNumber sendType:sendType giftId:giftId giftSource:sourceType giftType:giftInfo.giftType roomSendType:roomSendType roomUid:self.roomUid msg:@""]; - } - + ///送一个人 还是全麦 还是多人非全麦 + RoomSendGiftType roomSendType = RoomSendGiftType_ToOne; + self.giftBarView.sendButtonIsEnable = NO; + [self.presenter sendGift:uidString giftNum:giftNumber sendType:sendType giftId:giftId giftSource:sourceType giftType:giftInfo.giftType roomSendType:roomSendType roomUid:self.roomUid msg:@""]; + } + } ///充值 - (void)xPGiftBarViewDidClickRecharge:(XPGiftBarView *)view { - [self dismissViewControllerAnimated:YES completion:nil]; - XPWebViewController * webVC =[[XPWebViewController alloc] init]; - webVC.isPush = YES; - webVC.url = [NSString stringWithFormat:URLWithType(kThirdPartyPay),@"4",[YYUtility deviceID]]; - [self.delegate.getCurrentNav pushViewController:webVC animated:YES]; + [self dismissViewControllerAnimated:NO completion:^{ +// XPMineRechargeViewController * rechargeVC = [[XPMineRechargeViewController alloc] init]; + XPIAPRechargeViewController * rechargeVC = [[XPIAPRechargeViewController alloc] init]; + rechargeVC.type = @"4"; + [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:rechargeVC animated:YES]; + }]; } - (void)xPGiftBarViewDidClickFirstRecharge:(XPGiftBarView *)view { - [self dismissViewControllerAnimated:NO completion:^{ - [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":@"1",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":@"1",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; + }]; } #pragma mark - XPGiftLuckyGiftBroadcastViewDelegate @@ -464,28 +479,28 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; #pragma mark - XPGiftWeekStarBroadcastViewDelegate ///点击了周星榜入口 - (void)xPGiftWeekStarBroadcastViewWeekStarClick { - [self dismissViewControllerAnimated:NO completion:^{ - XPWebViewController * webVC = [[XPWebViewController alloc] init]; - webVC.roomUid = self.roomUid; - webVC.url = URLWithType(kNewWeekStarURL); - [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + XPWebViewController * webVC = [[XPWebViewController alloc] init]; + webVC.roomUid = self.roomUid; + webVC.url = URLWithType(kNewWeekStarURL); + [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES]; + }]; } #pragma mark - XPGiftHeadTypeViewDelegate ///点击了贵族 - (void)xPGiftHeadTypeViewDidClickNoble:(XPGiftHeadTypeView *)view { - [self dismissViewControllerAnimated:NO completion:^{ - [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventvipEntranceGiftClick]; - XPNobleCenterViewController * nobleVC = [[XPNobleCenterViewController alloc] initWithRoomUid:self.delegate.getRoomInfo.uid]; - [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:nobleVC animated:YES]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventvipEntranceGiftClick]; + XPNobleCenterViewController * nobleVC = [[XPNobleCenterViewController alloc] initWithRoomUid:self.delegate.getRoomInfo.uid]; + [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:nobleVC animated:YES]; + }]; } ///点击了首充 - (void)xPGiftHeadTypeViewDidClickFirstRecharge:(XPGiftHeadTypeView *)view { - [self dismissViewControllerAnimated:NO completion:^{ - [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":@"1",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":@"1",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; + }]; } ///点击了礼物 @@ -509,9 +524,9 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; #pragma mark - XPGiftInfoViewDelegate - (void)xPGiftInfoView:(XPGiftInfoView *)view didClickSegment:(GiftSegmentType)type { - self.segmentType = type; - self.giftBarView.type = type; - self.giftBarView.drawGiftCount = 0; + self.segmentType = type; + self.giftBarView.type = type; + self.giftBarView.drawGiftCount = 0; if (type == GiftSegmentType_Lucky) { [self.constellationBanner removeFromSuperview]; if (!self.luckyBroadcastView.superview) { @@ -524,20 +539,20 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; } } else if(type == GiftSegmentType_WeekStar) { [self.luckyBroadcastView removeFromSuperview]; -// if ([ClientConfig shareConfig].configInfo.twelveStarSwitch) { - self.constellationBanner.hidden = NO; - if (!self.constellationBanner.superview) { - [self.view addSubview:self.constellationBanner]; - [self.constellationBanner mas_makeConstraints:^(MASConstraintMaker *make) { - make.bottom.mas_equalTo(self.contentView.mas_top); - make.left.right.mas_equalTo(0); - make.height.mas_equalTo(kGetScaleWidth(56)); - }]; - } +// if ([ClientConfig shareConfig].configInfo.twelveStarSwitch) { + self.constellationBanner.hidden = NO; + if (!self.constellationBanner.superview) { + [self.view addSubview:self.constellationBanner]; + [self.constellationBanner mas_makeConstraints:^(MASConstraintMaker *make) { + make.bottom.mas_equalTo(self.contentView.mas_top); + make.left.right.mas_equalTo(0); + make.height.mas_equalTo(kGetScaleWidth(56)); + }]; + } -// } else { -// self.constellationBanner.hidden = YES; -// } +// } else { +// self.constellationBanner.hidden = YES; +// } } else { [self.luckyBroadcastView removeFromSuperview]; [self.constellationBanner removeFromSuperview]; @@ -545,120 +560,145 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; } - (void)xPGiftInfoView:(XPGiftInfoView *)view didClickItem:(GiftInfoModel *)info type:(GiftSegmentType)type { - if (type == GiftSegmentType_Graffiti) { - self.giftInfoView.hidden = YES; - self.graffitiView.hidden = NO; - self.graffitiView.price = info.goldPrice; - self.giftBarView.drawGiftCount = 0; - self.graffitiView.selectUidNumber = self.userView.selectUserArray.count; - [[SDWebImageManager sharedManager] loadImageWithURL:[NSURL URLWithString:info.giftUrl] options:SDWebImageProgressiveLoad progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) { - if (error == nil && image) { - self.graffitiView.image = image; - } else { - self.giftInfoView.hidden = NO; - } - }]; + if (type == GiftSegmentType_Graffiti) { + self.giftInfoView.hidden = YES; + self.graffitiView.hidden = NO; + self.graffitiView.price = info.goldPrice; + self.giftBarView.drawGiftCount = 0; + self.graffitiView.selectUidNumber = self.userView.selectUserArray.count; + [[SDWebImageManager sharedManager] loadImageWithURL:[NSURL URLWithString:info.giftUrl] options:SDWebImageProgressiveLoad progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) { + if (error == nil && image) { + self.graffitiView.image = image; + } else { + self.giftInfoView.hidden = NO; + } + }]; }else if(type == GiftSegmentType_WeekStar){ self.constellationBanner.giftInfo = info; } else { - self.giftBarView.drawGiftCount = 10; - } + self.giftBarView.drawGiftCount = 10; + } } #pragma mark - XPGiftUsersViewDelegate - (void)xPGiftUsersView:(XPGiftUsersView *)view didSelectUsers:(NSArray *)selectUids { - self.graffitiView.selectUidNumber = selectUids.count; + self.graffitiView.selectUidNumber = selectUids.count; } #pragma mark - XPGraffitiGiftViewDelegate - (void)xPGraffitiGiftView:(XPGraffitiGiftView *)view didClickClose:(UIButton *)sender { - [UIView animateWithDuration:0.2 animations:^{ - self.graffitiView.hidden = YES; - self.giftInfoView.hidden = NO; - }]; + [UIView animateWithDuration:0.2 animations:^{ + self.graffitiView.hidden = YES; + self.giftInfoView.hidden = NO; + }]; } - (void)xPGraffitiGiftView:(XPGraffitiGiftView *)view didClickChange:(UIButton *)sender { - [UIView animateWithDuration:0.2 animations:^{ - self.graffitiView.hidden = YES; - self.giftInfoView.hidden = NO; - }]; + [UIView animateWithDuration:0.2 animations:^{ + self.graffitiView.hidden = YES; + self.giftInfoView.hidden = NO; + }]; } - (void)xPGraffitiGiftView:(XPGraffitiGiftView *)view didDrawCompletion:(NSArray *)pointArray { - self.graffitiPoint = pointArray; - self.giftBarView.drawGiftCount = self.graffitiPoint.count; + self.graffitiPoint = pointArray; + self.giftBarView.drawGiftCount = self.graffitiPoint.count; } #pragma mark - XPGiftTwelveStarBroadcastViewDelegate - (void)xPGiftTwelveStarBroadcastView:(XPGiftTwelveStarBroadcastView *)view didClickDetail:(UIButton *)sender { - [self dismissViewControllerAnimated:NO completion:^{ - XPWebViewController * webVC = [[XPWebViewController alloc] init]; - webVC.url = URLWithType(kNewWeekStarURL); - [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + XPWebViewController * webVC = [[XPWebViewController alloc] init]; + webVC.url = URLWithType(kNewWeekStarURL); + [[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES]; + }]; } #pragma mark - XPGiftProtocol - (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo { self.headTypeView.isShowFirstRecharge = userInfo.isFirstCharge; - self.giftBarView.isShowFirstRecharge = userInfo.isFirstCharge; - self.giftInfoView.curUserNobleLevel = userInfo.userVipInfoVO.vipLevel; + self.giftBarView.isShowFirstRecharge = userInfo.isFirstCharge; + self.giftInfoView.curUserNobleLevel = userInfo.userVipInfoVO.vipLevel; } - (void)getUserWalletInfo:(WalletInfoModel *)balanceInfo { - self.giftBarView.walletInfoModel = balanceInfo; + self.giftBarView.walletInfoModel = balanceInfo; } ///背包礼物 - (void)getPacketGiftListSuccess:(NSArray *)giftList { - self.giftInfoView.packOriginArray = giftList; + self.packGiftList = giftList; + NSMutableArray *giftArray = [NSMutableArray arrayWithArray:self.packGiftList]; + BOOL isHaveFreeGift = NO; + for (int i = 0 ; i < self.packGiftList.count; i++) { + GiftInfoModel *infoModel = self.packGiftList[i]; + if(infoModel.giftId == self.freeModel.giftId.integerValue){ + [giftArray removeObjectAtIndex:i]; + [giftArray insertObject:infoModel atIndex:0]; + isHaveFreeGift = YES; + break; + } + } + if(isHaveFreeGift == NO && self.freeModel.curStage != nil && self.freeModel.curStage.integerValue == 0 ){ + GiftInfoModel *infoModel = [GiftInfoModel new]; + infoModel.giftId = self.freeModel.giftId.integerValue; + infoModel.count = 0; + infoModel.giftUrl = self.freeModel.giftUrl; + infoModel.giftName = self.freeModel.giftName; + [giftArray insertObject:infoModel atIndex:0]; + } + self.giftInfoView.freeModel = self.freeModel; + self.giftInfoView.packOriginArray = giftArray; } - (void)getPacketGiftListFail:(NSString *)message { - self.packGiftRetryCount ++; - if (self.packGiftRetryCount <= 10) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self.presenter getPackGiftList]; - }); - } + self.packGiftRetryCount ++; + if (self.packGiftRetryCount <= 10) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.presenter getPackGiftList]; + }); + } } ///普通礼物 /幸运礼物 - (void)getNormalGiftListSuccess:(NSArray *)giftList { - self.giftInfoView.normalOriginArray = giftList; + self.giftInfoView.normalOriginArray = giftList; } - (void)getNormalGiftListFail:(NSString *)message { - self.normalGiftRetryCount ++; - if (self.normalGiftRetryCount <= 10) { - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - [self.presenter getNormalGiftList:self.roomUid]; - }); - } + self.normalGiftRetryCount ++; + if (self.normalGiftRetryCount <= 10) { + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [self.presenter getNormalGiftList:self.roomUid]; + }); + } } - (void)sendGiftSuccess:(GiftReceiveInfoModel *)receiveInfo originDic:(NSDictionary *)originDic uidCount:(NSInteger)uidCount{ - self.giftBarView.sendButtonIsEnable = YES; - if (receiveInfo.sourceType == GiftSourceType_Pack) { - ///更新个数 - [self.giftInfoView updatePackSource:receiveInfo numberUser:uidCount]; - } else { - [self.presenter getUserWallInfo]; - } - [self sendCustomMessage:receiveInfo oringinDic:originDic]; + self.giftBarView.sendButtonIsEnable = YES; + if (receiveInfo.sourceType == GiftSourceType_Pack) { + ///更新个数 + [self.giftInfoView updatePackSource:receiveInfo numberUser:uidCount]; + } else { + [self.presenter getUserWallInfo]; + } + dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)); + dispatch_after(delayTime, dispatch_get_main_queue(), ^{ + [self sendCustomMessage:receiveInfo oringinDic:originDic]; + }); + ///发送涂鸦礼物消息 - [self sendGraffitiGiftMessage]; - if (self.segmentType == GiftSegmentType_Graffiti) { - NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPSendGiftView3"),self.giftInfoView.lastSelectGift.giftName]; - [self showSuccessToast:title]; - [self dismissViewControllerAnimated:YES completion:nil]; - } + [self sendGraffitiGiftMessage]; + if (self.segmentType == GiftSegmentType_Graffiti) { + NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPSendGiftView3"),self.giftInfoView.lastSelectGift.giftName]; + [self showSuccessToast:title]; + [self dismissViewControllerAnimated:YES completion:nil]; + } } ///送礼物失败 - (void)sendGiftFailWithCode:(NSInteger)code msg:(NSString *)msg { - self.giftBarView.sendButtonIsEnable = YES; + self.giftBarView.sendButtonIsEnable = YES; if (code == 31005) {// 余额不足 [self showNotSufficientFundsWithToast:msg]; } else if (code == 8535) {//贵族等级未达到礼物等级 @@ -679,9 +719,9 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; /// 余额不足,是否弹首充弹窗 - (void)showNotSufficientFundsWithToast:(NSString *)msg { if (self.delegate.getUserInfo.isFirstCharge) { - [self dismissViewControllerAnimated:NO completion:^{ - [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":self.delegate != nil ? @"2" : @"9",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; - }]; + [self dismissViewControllerAnimated:NO completion:^{ + [[NSNotificationCenter defaultCenter]postNotificationName:kShowFirstRechargeView object:@{@"type":self.delegate != nil ? @"2" : @"9",@"diamonds": self.giftBarView.walletInfoModel.diamonds ?: @"0"}]; + }]; } else { [self showErrorToast:msg]; } @@ -689,30 +729,30 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (void)luckyGiftBroadcastRecordSuccess:(NSArray *)records { - self.records = records; - self.luckyBroadcastView.records = records; + self.records = records; + self.luckyBroadcastView.records = records; } - (void)getTwelveStarLastRankFirstSuccess:(GiftTwelveStarFirstModel *)model { - + } #pragma mark - Event Response - (void)disMissViewRecognizer:(UITapGestureRecognizer *)tap { - [self dismissViewControllerAnimated:YES completion:nil]; + [self dismissViewControllerAnimated:YES completion:nil]; } #pragma mark - Getters And Setters - (void)setUsingplaceType:(SendGiftType)usingplaceType { - _usingplaceType = usingplaceType; - self.giftBarView.usingplaceType = usingplaceType; - self.giftInfoView.usingplaceType = _usingplaceType; - self.headTypeView.hidden = _usingplaceType == SendGiftType_User; - self.userView.hidden = _usingplaceType == SendGiftType_User; - self.effectView.hidden = _usingplaceType == SendGiftType_User; - if (_usingplaceType == SendGiftType_User) { - self.contentView.backgroundColor = [UIColor whiteColor]; - } + _usingplaceType = usingplaceType; + self.giftBarView.usingplaceType = usingplaceType; + self.giftInfoView.usingplaceType = _usingplaceType; + self.headTypeView.hidden = _usingplaceType == SendGiftType_User; + self.userView.hidden = _usingplaceType == SendGiftType_User; + self.effectView.hidden = _usingplaceType == SendGiftType_User; + if (_usingplaceType == SendGiftType_User) { + self.contentView.backgroundColor = [UIColor whiteColor]; + } } - (void)setSelectGiftId:(NSString *)selectGiftId { @@ -721,86 +761,86 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; } - (void)setDelegate:(id)delegate { - _delegate = delegate; - if (_delegate) { - self.giftInfoView.roomType = _delegate.getRoomInfo.type; - } + _delegate = delegate; + if (_delegate) { + self.giftInfoView.roomType = _delegate.getRoomInfo.type; + } } - (UIView *)topView { - if (!_topView) { - _topView = [[UIView alloc] init]; - _topView.backgroundColor = [UIColor clearColor]; - UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMissViewRecognizer:)]; - [_topView addGestureRecognizer:tap]; - } - return _topView; + if (!_topView) { + _topView = [[UIView alloc] init]; + _topView.backgroundColor = [UIColor clearColor]; + UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMissViewRecognizer:)]; + [_topView addGestureRecognizer:tap]; + } + return _topView; } - (UIView *)contentView { - if (!_contentView) { - _contentView = [[UIView alloc] init]; + if (!_contentView) { + _contentView = [[UIView alloc] init]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, KScreenHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(8, 8)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = CGRectMake(0, 0, KScreenWidth, KScreenHeight); maskLayer.path = maskPath.CGPath; _contentView.layer.mask = maskLayer; - } - return _contentView; + } + return _contentView; } - (XPGiftUsersView *)userView { - if (!_userView) { - _userView = [[XPGiftUsersView alloc] init]; - _userView.delegate = self; - } - return _userView; + if (!_userView) { + _userView = [[XPGiftUsersView alloc] init]; + _userView.delegate = self; + } + return _userView; } - (XPGiftInfoView *)giftInfoView { - if (!_giftInfoView) { - _giftInfoView = [[XPGiftInfoView alloc] init]; - _giftInfoView.delegate = self; - } - return _giftInfoView; + if (!_giftInfoView) { + _giftInfoView = [[XPGiftInfoView alloc] init]; + _giftInfoView.delegate = self; + } + return _giftInfoView; } - (XPGiftBarView *)giftBarView { - if (!_giftBarView) { - _giftBarView = [[XPGiftBarView alloc] init]; - _giftBarView.delegate = self; - } - return _giftBarView; + if (!_giftBarView) { + _giftBarView = [[XPGiftBarView alloc] init]; + _giftBarView.delegate = self; + } + return _giftBarView; } - (UIStackView *)stackView { - if (!_stackView) { - _stackView = [[UIStackView alloc] init]; - _stackView.axis = UILayoutConstraintAxisVertical; - _stackView.distribution = UIStackViewDistributionFill; - _stackView.alignment = UIStackViewAlignmentFill; - _stackView.spacing = 0; - _stackView.backgroundColor = [UIColor clearColor]; - } - return _stackView; + if (!_stackView) { + _stackView = [[UIStackView alloc] init]; + _stackView.axis = UILayoutConstraintAxisVertical; + _stackView.distribution = UIStackViewDistributionFill; + _stackView.alignment = UIStackViewAlignmentFill; + _stackView.spacing = 0; + _stackView.backgroundColor = [UIColor clearColor]; + } + return _stackView; } - (UIView *)bottomView { - if (!_bottomView) { - _bottomView = [[UIView alloc] init]; - _bottomView.backgroundColor = [UIColor clearColor]; - } - return _bottomView; + if (!_bottomView) { + _bottomView = [[UIView alloc] init]; + _bottomView.backgroundColor = [UIColor clearColor]; + } + return _bottomView; } - (XPGraffitiGiftView *)graffitiView { - if (!_graffitiView) { - _graffitiView = [[XPGraffitiGiftView alloc] init]; - _graffitiView.hidden = YES; - _graffitiView.delegate = self; - } - return _graffitiView; + if (!_graffitiView) { + _graffitiView = [[XPGraffitiGiftView alloc] init]; + _graffitiView.hidden = YES; + _graffitiView.delegate = self; + } + return _graffitiView; } - (XPGiftHeadTypeView *)headTypeView { @@ -821,8 +861,8 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; - (XPGiftTwelveStarBroadcastView *)constellationBanner { if (!_constellationBanner) { - _constellationBanner = [[XPGiftTwelveStarBroadcastView alloc] initWithFrame:CGRectZero]; - _constellationBanner.delegate = self; + _constellationBanner = [[XPGiftTwelveStarBroadcastView alloc] initWithFrame:CGRectZero]; + _constellationBanner.delegate = self; } return _constellationBanner; }