bug修复

This commit is contained in:
liyuhua
2023-10-30 14:38:33 +08:00
parent b3003f1547
commit 73df709df5
6 changed files with 1602 additions and 1488 deletions

View File

@@ -38,7 +38,7 @@
#import "PIRoomEnterRedPacketView.h"
#import "BaseNavigationController.h"
UIKIT_EXTERN NSString *kShowFirstRechargeView;
@interface XPRoomActivityContainerView ()<SDCycleScrollViewDelegate>
@interface XPRoomActivityContainerView ()<SDCycleScrollViewDelegate,PIRoomEnterRedPacketViewDelegate>
///
@property (nonatomic,strong) UIStackView *stackView;
///
@@ -95,24 +95,9 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self.stackView addArrangedSubview:self.redPacketView];
[self.stackView addArrangedSubview:self.lookLoveImageView];
[self.stackView addArrangedSubview:self.joinDatingView];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(openRedPacketResult:) name:@"kOpenRedPacketResult" object:nil];
}
-(void)openRedPacketResult:(NSNotification *)not{
XPRedPacketResultModel *resultModel = not.object;
self.redPacketView.redPacketModel.result = [resultModel mj_JSONObject];
if(resultModel.redEnvelopeVO.pickNum.integerValue == resultModel.redEnvelopeVO.totalNum.integerValue){
[self.redPacketList removeObject:self.self.redPacketView.redPacketModel];
if(self.redPacketList.count == 0){
self.redPacketView.hidden = YES;
return;
}
self.redPacketView.redPacketModel = self.redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(self.redPacketList.count).stringValue;
}
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self);
@@ -259,17 +244,17 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
}
- (void)setRedPacketList:(NSMutableArray *)redPacketList{
_redPacketList = redPacketList;
if(_redPacketList.count > 0){
self.redPacketView.redPacketModel = _redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(_redPacketList.count).stringValue;
self.redPacketView.redPacketList = redPacketList;
if(self.openRedPacketHandle){
self.openRedPacketHandle(nil,self.hostDelegate.getRoomInfo.type,YES);
}
}
#pragma mark - RoomGuestDelegat
- (void)onRoomUpdate {
RoomInfoModel * roomInfo = self.hostDelegate.getRoomInfo;
self.redPacketView.type = roomInfo.type;
if (roomInfo.type == RoomType_MiniGame) {
self.redPacketView.hidden = YES;
self.lookLoveImageView.hidden = YES;
self.sailingImageView.hidden = YES;
if (self.isLoadActivity) {
@@ -278,6 +263,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
[self requestActivityList];
}
} else {
self.redPacketView.redPacketList = self.redPacketList;
if([self.activityList containsObject:self.lookLoveModel]){
[self.activityList removeObject:self.lookLoveModel];
}
@@ -325,6 +311,10 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
self.sailingImageView.hidden = YES;
}
}
if(self.openRedPacketHandle){
self.openRedPacketHandle(nil,self.hostDelegate.getRoomInfo.type,YES);
}
}
- (void)onRoomEntered {
@@ -478,58 +468,11 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
XPSailingViewController * sailingVC = [[XPSailingViewController alloc] initWithRoomUid:roomUid];
[self.hostDelegate.getCurrentNav presentViewController:sailingVC animated:YES completion:nil];
}
-(void)openRedPacketAction{
self.redPacketView.userInteractionEnabled = NO;
[XNDJTDDLoadingTool showLoading];
[Api getRedPacket:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
self.redPacketView.userInteractionEnabled = YES;
[XNDJTDDLoadingTool hideHUD];
if(code == 200){
XPRedPacketModel *redModel = [XPRedPacketModel modelWithJSON:data.data];
redModel.timestamp = data.timestamp;
redModel.sendUserNick = data.data[@"nick"];
redModel.sendUserAvatar = data.data[@"avatar"];
redModel.redEnvelopePosition = data.data[@"position"];
if(redModel.state == 2 || redModel.state == 6){
[self.redPacketList removeObject:self.self.redPacketView.redPacketModel];
if(self.redPacketList.count == 0){
self.redPacketView.hidden = YES;
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
return;
}
self.redPacketView.redPacketModel = self.redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(self.redPacketList.count).stringValue;
if(self.openRedPacketHandle){
self.openRedPacketHandle(self.redPacketView.redPacketModel);
}
return;
}
XPRedPacketResultModel *resultModel = [XPRedPacketResultModel modelWithDictionary:redModel.result];
if(redModel.state == 3 || redModel.state == 4){
if(resultModel.redEnvelopeVO.pickNum.integerValue == resultModel.redEnvelopeVO.totalNum.integerValue){
[self.redPacketList removeObject:self.self.redPacketView.redPacketModel];
if(self.redPacketList.count == 0){
self.redPacketView.hidden = YES;
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPRoomActivityContainerView3")];
return;
}
self.redPacketView.redPacketModel = self.redPacketList.firstObject;
self.redPacketView.hidden = NO;
self.redPacketView.pi_redNum = @(self.redPacketList.count).stringValue;
}
return;
}
[self.redPacketList replaceObjectAtIndex:[self.redPacketList indexOfObject:self.redPacketView.redPacketModel] withObject:redModel];
self.redPacketView.redPacketModel = redModel;
if(self.openRedPacketHandle){
self.openRedPacketHandle(self.redPacketView.redPacketModel);
}
}
} redEnvelopeId:self.redPacketView.redPacketModel.redEnvelopeId];
#pragma mark- PIRoomEnterRedPacketViewDelegate
-(void)openRedPacketWtihModel:(XPRedPacketModel *)redModel{
if(self.openRedPacketHandle){
self.openRedPacketHandle(redModel,self.hostDelegate.getRoomInfo.type,NO);
}
}
#pragma mark - Getters And Setters
- (SDCycleScrollView *)pi_cycleScrollView {
@@ -647,8 +590,7 @@ UIKIT_EXTERN NSString *kShowFirstRechargeView;
if(!_redPacketView){
_redPacketView = [[PIRoomEnterRedPacketView alloc]initWithFrame:CGRectZero];
_redPacketView.hidden = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(openRedPacketAction)];
[_redPacketView addGestureRecognizer:tap];
_redPacketView.delegate = self;
}
return _redPacketView;
}