提交
This commit is contained in:
@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@end
|
||||
|
||||
@interface QXRedBagRecordCell : UITableViewCell
|
||||
@property (nonatomic,strong)QXDrawRedpacketRecordModel *recordModel;
|
||||
+(instancetype)cellWithTabelView:(UITableView*)tableView;
|
||||
@end
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
//
|
||||
|
||||
#import "QXRedBagRecordViewController.h"
|
||||
#import "QXMineNetwork.h"
|
||||
@class QXRedBagRecordCell;
|
||||
@interface QXRedBagRecordViewController ()<UITableViewDataSource,UITableViewDelegate>
|
||||
@property (nonatomic,strong)UIView *topView;
|
||||
@@ -18,6 +19,7 @@
|
||||
@property (nonatomic,strong)UILabel *countLabel;
|
||||
|
||||
@property (nonatomic,strong)UITableView *tableView;
|
||||
@property (nonatomic,strong)QXDrawRedPacketModel *model;
|
||||
@end
|
||||
|
||||
@implementation QXRedBagRecordViewController
|
||||
@@ -40,10 +42,10 @@
|
||||
self.senderNameLabel = [[UILabel alloc] init];
|
||||
self.senderNameLabel.textColor = RGB16(0xffffff);
|
||||
self.senderNameLabel.font = [UIFont systemFontOfSize:18];
|
||||
self.senderNameLabel.text = @"傻狗涛的红包";
|
||||
self.senderNameLabel.text = @"-";
|
||||
[self.topView addSubview:self.senderNameLabel];
|
||||
[self.senderNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.equalTo(self.topView).offset(41);;
|
||||
make.centerX.equalTo(self.topView).offset(41-13);;
|
||||
make.top.equalTo(self.topView).offset(92);
|
||||
}];
|
||||
|
||||
@@ -58,7 +60,7 @@
|
||||
}];
|
||||
|
||||
self.remarkLabel = [[UILabel alloc] init];
|
||||
self.remarkLabel.text = @"恭喜发财大吉大利";
|
||||
self.remarkLabel.text = @"-";
|
||||
self.remarkLabel.textColor = RGB16(0xffffff);
|
||||
self.remarkLabel.font = [UIFont systemFontOfSize:13];
|
||||
[self.topView addSubview:self.remarkLabel];
|
||||
@@ -71,7 +73,7 @@
|
||||
self.moneyLabel = [[UILabel alloc] init];
|
||||
self.moneyLabel.font = [UIFont boldSystemFontOfSize:19];
|
||||
self.moneyLabel.textColor = RGB16(0xffffff);
|
||||
self.moneyLabel.text = @"5000金币";
|
||||
self.moneyLabel.text = @"0金币";
|
||||
[self.topView addSubview:self.moneyLabel];
|
||||
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.equalTo(self.topView);
|
||||
@@ -80,7 +82,7 @@
|
||||
|
||||
self.bottomLabel = [[UILabel alloc] init];
|
||||
self.bottomLabel.textColor = RGB16(0xffffff);
|
||||
self.bottomLabel.text = @"已存入金币";
|
||||
self.bottomLabel.text = @"已存入钱包";
|
||||
self.bottomLabel.font = [UIFont systemFontOfSize:13];
|
||||
[self.topView addSubview:self.bottomLabel];
|
||||
[self.bottomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -126,14 +128,41 @@
|
||||
[backBtn addTarget:self action:@selector(backAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||
[self.view addSubview:backBtn];
|
||||
}
|
||||
|
||||
-(void)setRedbagId:(NSString *)redbagId{
|
||||
_redbagId = redbagId;
|
||||
MJWeakSelf
|
||||
[QXMineNetwork getRedpacketRecordWithRedpacketId:redbagId successBlock:^(QXDrawRedPacketModel* model) {
|
||||
weakSelf.model = model;
|
||||
weakSelf.remarkLabel.text = model.redpacket_info.remark;
|
||||
[weakSelf.senderHeaderImageView sd_setImageWithURL:[NSURL URLWithString:model.redpacket_info.avatar]];
|
||||
weakSelf.senderNameLabel.text = [NSString stringWithFormat:@"%@的红包",model.redpacket_info.nickname];
|
||||
NSString *coinStr = @"";
|
||||
if (weakSelf.model.redpacket_info.coin_type.intValue == 1) {
|
||||
weakSelf.bottomLabel.text = @"已存入金币";
|
||||
coinStr = [NSString stringWithFormat:@"%@%@",model.my_record.amount,@"金币"];
|
||||
}else{
|
||||
weakSelf.bottomLabel.text = @"已存入钻石";
|
||||
coinStr = [NSString stringWithFormat:@"%@%@",model.my_record.amount,@"钻石"];
|
||||
}
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:coinStr];
|
||||
[attr yy_setFont:[UIFont boldSystemFontOfSize:46] range:[coinStr rangeOfString:[NSString stringWithFormat:@"%@",model.my_record.amount]]];
|
||||
weakSelf.moneyLabel.attributedText = attr;
|
||||
weakSelf.countLabel.text = [NSString stringWithFormat:@"已领取%ld/%@",model.redpacket_info.total_count.integerValue-model.redpacket_info.left_count.integerValue,model.redpacket_info.total_count];
|
||||
[weakSelf.tableView reloadData];
|
||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||
|
||||
}];
|
||||
}
|
||||
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||
return 1;
|
||||
}
|
||||
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
||||
return self.dataArray.count;
|
||||
return self.model.records.count;
|
||||
}
|
||||
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
QXRedBagRecordCell *cell = [QXRedBagRecordCell cellWithTabelView:tableView];
|
||||
cell.recordModel = self.model.records[indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
-(void)backAction{
|
||||
@@ -172,6 +201,13 @@
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)setRecordModel:(QXDrawRedpacketRecordModel *)recordModel{
|
||||
_recordModel = recordModel;
|
||||
self.nameLabel.text = recordModel.nickname;
|
||||
[self.userHeaderImageView sd_setImageWithURL:[NSURL URLWithString:recordModel.avatar]];
|
||||
self.timeLabel.text = recordModel.createtime;
|
||||
self.moneyLabel.text = recordModel.amount;
|
||||
}
|
||||
-(void)initSubviews{
|
||||
self.bgView = [[UIView alloc] init];
|
||||
[self.contentView addSubview:self.bgView];
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// QXRoomViewController+Activity.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/10/15.
|
||||
//
|
||||
|
||||
#import "QXRoomViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXRoomViewController (Activity)
|
||||
-(void)initActivityObeserver;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// QXRoomViewController+Activity.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/10/15.
|
||||
//
|
||||
|
||||
#import "QXRoomViewController+Activity.h"
|
||||
#import "QXMeetActivityDriftView.h"
|
||||
@implementation QXRoomViewController (Activity)
|
||||
|
||||
-(void)initActivityObeserver{
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateProgress:) name:noticeXLHNotice object:nil];
|
||||
}
|
||||
|
||||
-(void)updateProgress:(NSNotification *)notice{
|
||||
QXMeetActivityDriftModel *model = notice.object;
|
||||
if (model.from_type == QXMeetActivityTypeAcLock) {
|
||||
[self.meetView updateUserAndGiftInfoWithModel:model];
|
||||
self.acTagView.end_time = model.end_time.longLongValue;
|
||||
return;
|
||||
}
|
||||
if (model.from_type == QXMeetActivityTypeAcProgress) {
|
||||
[self.skyView updateProgress:model.xlh_data];
|
||||
[self.ageView updateProgress:model.xlh_data];
|
||||
[self.timeView updateProgress:model.xlh_data];
|
||||
}
|
||||
if (model.xlh_data.status.intValue == 1) {
|
||||
self.acTagView.end_time = model.xlh_data.end_time;
|
||||
[self.view addSubview:self.acTagView];
|
||||
}else{
|
||||
[self.acTagView stopTimer];
|
||||
[self.acTagView removeFromSuperview];
|
||||
}
|
||||
}
|
||||
@end
|
||||
@@ -115,7 +115,7 @@
|
||||
}
|
||||
|
||||
-(void)meetActivityGiftInfoIsUpdate:(QXRoomChatListModel *)giftInfo{
|
||||
[self.meetView updateUserAndGiftInfoWithModel:giftInfo];
|
||||
self.acTagView.end_time = giftInfo.end_time.longLongValue;
|
||||
// [self.meetView updateUserAndGiftInfoWithModel:giftInfo];
|
||||
// self.acTagView.end_time = giftInfo.end_time.longLongValue;
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -9,27 +9,95 @@
|
||||
#import "QXMineNetwork.h"
|
||||
@implementation QXRoomViewController (RedPacket)
|
||||
-(void)recievedRedPacket:(QXRedPacketModel *)model{
|
||||
self.redBagTagView.hidden = NO;
|
||||
[[QXRedPacketManager sharedManager] addRedPacket:model];
|
||||
}
|
||||
-(void)initRedpacketManager{
|
||||
[QXRedPacketManager sharedManager].delegate = self;
|
||||
[[QXRedPacketManager sharedManager] startCheckTimer];
|
||||
// 获取红包列表
|
||||
[self getRedBagList];
|
||||
}
|
||||
|
||||
-(void)getRedBagList{
|
||||
// [QXMineNetwork ];
|
||||
MJWeakSelf
|
||||
[QXMineNetwork getRedpacketListWithRoomId:self.roomId successBlock:^(NSArray<QXRedPacketModel *> * _Nonnull list) {
|
||||
if (list.count > 0) {
|
||||
weakSelf.redBagTagView.count = [NSString stringWithFormat:@"%ld",list.count];
|
||||
weakSelf.redBagTagView.hidden = NO;
|
||||
[[QXRedPacketManager sharedManager] addRedPackets:list];
|
||||
}else{
|
||||
[[QXRedPacketManager sharedManager] removeAllRedpackets];
|
||||
}
|
||||
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
|
||||
|
||||
}];
|
||||
}
|
||||
#pragma mark - QXRedPacketManagerDelegate
|
||||
/// 添加红包成功
|
||||
-(void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket{
|
||||
|
||||
}
|
||||
/// 更新红包回调
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId {
|
||||
|
||||
-(void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
|
||||
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||
}
|
||||
/// 移除红包回调
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket {
|
||||
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didRemoveRedPacket:(NSString *)packetId remainingCount:(NSInteger)remainingCount{
|
||||
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||
}
|
||||
|
||||
/// 更新红包回调
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacket:(QXRedPacketModel *)redPacket remainingCount:(NSInteger)remainingCount{
|
||||
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0) {
|
||||
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
|
||||
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
|
||||
}else{
|
||||
if (self.redbagDrawView.isFromToComment) {
|
||||
[self.redbagDrawView changeViewType:(QXRedBagDrawTypeOpen)];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didAddRedPackets:(NSArray<QXRedPacketModel *> *)redPackets remainingCount:(NSInteger)remainingCount{
|
||||
self.redBagTagView.count = [NSString stringWithFormat:@"%ld",remainingCount];
|
||||
}
|
||||
|
||||
- (void)QXRedPacketManager:(QXRedPacketManager *)manager didUpdateRedPacketTime:(long)time redPacket:(QXRedPacketModel *)redPacket {
|
||||
/// 开红包的倒计时
|
||||
if (self.redbagDrawView.redpacketModel != nil && self.redbagDrawView.redpacketModel.countdown > 0 && time>=0) {
|
||||
if (self.redbagDrawView.redpacketModel.type.intValue == 1) {
|
||||
// 普通红包
|
||||
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
|
||||
// 有收藏房间条件
|
||||
if (self.roomModel.user_info.is_collect.intValue == 1) {
|
||||
/// 需要满足收藏再倒计时
|
||||
self.redbagDrawView.needTime = time;
|
||||
}
|
||||
}else{
|
||||
self.redbagDrawView.needTime = time;
|
||||
}
|
||||
}else{
|
||||
if (self.redbagDrawView.isFromToComment) {
|
||||
// 普通红包
|
||||
if ([self.redbagDrawView.redpacketModel.conditions containsString:@"1"]) {
|
||||
// 有收藏房间条件
|
||||
if (self.roomModel.user_info.is_collect.intValue == 1) {
|
||||
/// 需要满足收藏再倒计时
|
||||
self.redbagDrawView.needTime = time;
|
||||
}
|
||||
}else{
|
||||
self.redbagDrawView.needTime = time;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 红包列表的倒计时
|
||||
if (self.redbagListView.dataArray.count > 0) {
|
||||
NSInteger index = [self.redbagListView.dataArray indexOfObject:redPacket];
|
||||
[self.redbagListView updateRedpacketTimeWithIndex:index time:time];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -20,6 +20,11 @@
|
||||
#import "QXTimePraizeView.h"/// 时空之巅
|
||||
#import "QXMeetActivityView.h"
|
||||
#import "QXActivityTagView.h"
|
||||
|
||||
/// 红包
|
||||
#import "QXRedBagTagView.h"
|
||||
#import "QXRedBagDrawView.h"
|
||||
#import "QXRedBagListView.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXRoomViewController : QXBaseViewController<QXRoomMessageManagerDelegate,QXRoomSeatDelegate>
|
||||
@@ -39,6 +44,11 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
/// 发送礼物
|
||||
@property (nonatomic,strong)QXSendGiftView *sendGiftView;
|
||||
|
||||
/// 红包入口
|
||||
@property (nonatomic,strong)QXRedBagTagView *redBagTagView;
|
||||
@property (nonatomic,strong)QXRedBagDrawView *redbagDrawView;
|
||||
@property (nonatomic,strong)QXRedBagListView *redbagListView;
|
||||
|
||||
|
||||
@property (nonatomic,strong)QXActivityTagView *acTagView;
|
||||
@property (nonatomic,strong)QXSkyPraizeView *skyView;
|
||||
|
||||
@@ -31,10 +31,9 @@
|
||||
#import "QXRoomViewController+Friend.h"
|
||||
#import "QXAllRoomHourRankView.h"
|
||||
#import "QXRedBagSendView.h"
|
||||
#import "QXRedBagTagView.h"
|
||||
#import "QXRedBagDrawView.h"
|
||||
#import "QXRedBagListView.h"
|
||||
#import "QXRoomViewController+RedPacket.h"
|
||||
#import "QXRoomViewController+Activity.h"
|
||||
#import "QXRedBagRecordViewController.h"
|
||||
|
||||
@interface QXRoomViewController ()<
|
||||
QXRoomBottomViewDelegate,
|
||||
@@ -82,10 +81,7 @@ QXRoomUserInfoViewDelegate
|
||||
@property (nonatomic,strong)QXAllRoomHourRankView *hourRankView;
|
||||
@property (nonatomic,strong)QXAllRoomHourRankTagView *hourRankIconView;
|
||||
|
||||
/// 红包入口
|
||||
@property (nonatomic,strong)QXRedBagTagView *redBagTagView;
|
||||
@property (nonatomic,strong)QXRedBagDrawView *redbagDrawView;
|
||||
@property (nonatomic,strong)QXRedBagListView *redbagListView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation QXRoomViewController
|
||||
@@ -137,6 +133,7 @@ QXRoomUserInfoViewDelegate
|
||||
-(void)initSubViews{
|
||||
|
||||
// [self updateBgImage:@"room_background"];
|
||||
[self initActivityObeserver];
|
||||
self.bgImageHidden = YES;
|
||||
self.roomBgImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
|
||||
// self.roomBgImageView.image = [UIImage imageNamed:@"room_background"];
|
||||
@@ -1376,7 +1373,9 @@ QXRoomUserInfoViewDelegate
|
||||
}
|
||||
-(void)didSendMessage:(NSString *)message redpacketModel:(nonnull QXRedPacketModel *)redpacketModel{
|
||||
if (redpacketModel) {
|
||||
self.redbagDrawView.type = QXRedBagDrawTypeOpen;
|
||||
// self.redbagDrawView.type = QXRedBagDrawTypeOpen;
|
||||
self.redbagDrawView.isFromToComment = YES;
|
||||
self.redbagDrawView.redpacketModel = redpacketModel;
|
||||
[self.redbagDrawView showInView:self.view];
|
||||
}
|
||||
}
|
||||
@@ -1496,6 +1495,7 @@ QXRoomUserInfoViewDelegate
|
||||
break;
|
||||
case QXRoomSettingTypeSendRedBag:{
|
||||
QXRedBagSendView *redbagView = [[QXRedBagSendView alloc] init];
|
||||
redbagView.room_id = self.roomId;
|
||||
[redbagView showInView:self.view];
|
||||
}
|
||||
break;
|
||||
@@ -1929,15 +1929,24 @@ QXRoomUserInfoViewDelegate
|
||||
-(QXRedBagTagView *)redBagTagView{
|
||||
if (!_redBagTagView) {
|
||||
_redBagTagView = [[QXRedBagTagView alloc] init];
|
||||
_redBagTagView.hidden = YES;
|
||||
MJWeakSelf
|
||||
_redBagTagView.startBlock = ^(BOOL isList) {
|
||||
weakSelf.redbagListView.dataArray = @[@"",@"",@"",@"",@""];
|
||||
[weakSelf.redbagListView showInView:weakSelf.view];
|
||||
return;
|
||||
if (isList) {
|
||||
weakSelf.redbagListView.dataArray = [QXRedPacketManager sharedManager].allRedPackets;
|
||||
[weakSelf.redbagListView showInView:weakSelf.view];
|
||||
}else{
|
||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||
QXRedPacketModel *model = [QXRedPacketManager sharedManager].allRedPackets.firstObject;
|
||||
if (model.is_qiang.intValue == 1) {
|
||||
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||
vc.redbagId = model.redpacket_id;
|
||||
[weakSelf.navigationController pushViewController:vc animated:YES];
|
||||
}else{
|
||||
weakSelf.redbagDrawView.isFromToComment = NO;
|
||||
weakSelf.redbagDrawView.isCollectedRoom = weakSelf.roomModel.user_info.is_collect.intValue==1;
|
||||
weakSelf.redbagDrawView.redpacketModel = model;
|
||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -1946,10 +1955,14 @@ QXRoomUserInfoViewDelegate
|
||||
-(QXRedBagDrawView *)redbagDrawView{
|
||||
if (!_redbagDrawView) {
|
||||
_redbagDrawView = [[QXRedBagDrawView alloc] init];
|
||||
_redbagDrawView.room_id = self.roomId;
|
||||
MJWeakSelf
|
||||
_redbagDrawView.toInputPwdBlock = ^(NSString * _Nonnull password, QXRedPacketModel * _Nonnull redpacketModel) {
|
||||
[weakSelf.bottomView inputMessageWithName:password redpacketModel:redpacketModel];
|
||||
};
|
||||
_redbagDrawView.collectRoomBlock = ^{
|
||||
[weakSelf.titleView setRoomCollect:YES];
|
||||
};
|
||||
}
|
||||
return _redbagDrawView;
|
||||
}
|
||||
@@ -1957,10 +1970,17 @@ QXRoomUserInfoViewDelegate
|
||||
if (!_redbagListView) {
|
||||
_redbagListView = [[QXRedBagListView alloc] init];
|
||||
MJWeakSelf
|
||||
_redbagListView.didSelectedRedBlock = ^{
|
||||
weakSelf.redbagDrawView.redpacketModel = [QXRedPacketModel new];
|
||||
weakSelf.redbagDrawView.type = QXRedBagDrawTypePwdSend;
|
||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||
_redbagListView.didSelectedRedBlock = ^(QXRedPacketModel * _Nonnull model) {
|
||||
if (model.is_qiang.intValue == 1) {
|
||||
QXRedBagRecordViewController *vc = [[QXRedBagRecordViewController alloc] init];
|
||||
vc.redbagId = model.redpacket_id;
|
||||
[weakSelf.navigationController pushViewController:vc animated:YES];
|
||||
}else{
|
||||
weakSelf.redbagDrawView.isFromToComment = NO;
|
||||
weakSelf.redbagDrawView.isCollectedRoom = weakSelf.roomModel.user_info.is_collect.intValue==1;
|
||||
weakSelf.redbagDrawView.redpacketModel = model;
|
||||
[weakSelf.redbagDrawView showInView:weakSelf.view];
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user