完成礼物功能

This commit is contained in:
启星
2026-01-26 14:19:00 +08:00
parent 472bd8b3ae
commit e5191e0f71
26 changed files with 353 additions and 40 deletions

View File

@@ -42,6 +42,12 @@
//@property (nonatomic,strong) UILabel *lineLabel;
//@property (nonatomic,strong) UILabel *endLabel;
@property (nonatomic,strong)UILabel *priviteLabel;
@property (nonatomic,strong)UIButton *priviteBtn;
@property (nonatomic,strong)UIView *bottomBgView;
@property (nonatomic,strong)UITextField *passwordTextField;
@property (nonatomic,strong) UIButton *pwdDeleteBtn;
@property (nonatomic,strong) QXTimer *timer;
//@property (nonatomic,strong)QXDatePickerView* pickerView;
@end
@@ -173,6 +179,60 @@
make.bottom.mas_equalTo(-5);
}];
self.priviteLabel = [[UILabel alloc] init];
self.priviteLabel.font = [UIFont boldSystemFontOfSize:15];
self.priviteLabel.textColor = RGB16A(0x000000, 0.45);
self.priviteLabel.text = QXText(@"是否设置密码");
[self.view addSubview:self.priviteLabel];
[self.priviteLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.noticeBgView.mas_bottom).offset(12);
make.left.equalTo(self.roomNameLabel);
make.height.mas_equalTo(24);
}];
self.priviteBtn = [[UIButton alloc] init];
[self.priviteBtn setImage:[UIImage imageNamed:@"home_switch_off"] forState:(UIControlStateNormal)];
[self.priviteBtn setImage:[UIImage imageNamed:@"home_switch_on"] forState:(UIControlStateSelected)];
[self.priviteBtn addTarget:self action:@selector(priviteAction) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:self.priviteBtn];
[self.priviteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-16);
make.width.mas_equalTo(40);
make.height.mas_equalTo(35);
make.centerY.equalTo(self.priviteLabel);
}];
self.bottomBgView = [[UIView alloc] init];
[self.bottomBgView addRoundedCornersWithRadius:11];
self.bottomBgView.backgroundColor = RGB16(0xEFF2F8);
[self.view addSubview:self.bottomBgView];
self.passwordTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 0, self.bottomBgView.width-34, 44)];
self.passwordTextField.placeholder = @"请输入房间密码(4位数字)";
self.passwordTextField.font = [UIFont systemFontOfSize:16];
// self.passwordTextField.secureTextEntry = YES;
self.passwordTextField.keyboardType = UIKeyboardTypeNumberPad;
self.passwordTextField.delegate = self;
[self.passwordTextField addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingChanged];
[self.bottomBgView addSubview:self.passwordTextField];
[self.bottomBgView addSubview:self.pwdDeleteBtn];
self.bottomBgView.hidden = YES;
[self.bottomBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.priviteLabel.mas_bottom).offset(12);
make.left.equalTo(self.roomNameLabel);
make.right.mas_equalTo(-16);
make.height.mas_equalTo(44);
}];
[self.pwdDeleteBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.equalTo(self.bottomBgView);
make.right.equalTo(self.bottomBgView).offset(-12);
make.width.mas_equalTo(44);
}];
[self.passwordTextField mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.equalTo(self.bottomBgView);
make.left.equalTo(self.bottomBgView).offset(12);
make.right.equalTo(self.pwdDeleteBtn.mas_left).offset(-4);
}];
[self.view addSubview:self.submitBtn];
@@ -207,6 +267,15 @@
if ([self.roomModel.room_info.room_intro isExist]) {
self.textView.placehoulderLabel.hidden = YES;
}
if (self.roomModel.room_info.room_password.length > 0) {
self.bottomBgView.hidden = NO;
self.priviteBtn.selected = YES;
self.passwordTextField.text = self.roomModel.room_info.room_password;
}else{
self.priviteBtn.selected = NO;
self.bottomBgView.hidden = YES;
self.passwordTextField.text = @"";
}
self.roomCoverUrl = self.roomModel.room_info.room_cover;
[self.submitBtn setTitle:QXText(@"确认修改") forState:UIControlStateNormal];
self.warningLabel.hidden = YES;
@@ -218,8 +287,18 @@
}
}
-(void)priviteAction{
self.priviteBtn.selected = !self.priviteBtn.selected;
if (self.priviteBtn.selected) {
self.bottomBgView.hidden = NO;
}else{
self.bottomBgView.hidden = YES;
self.passwordTextField.text = @"";
}
}
-(void)clearPwdAction{
self.passwordTextField.text = @"";
}
-(void)getRandomName{
MJWeakSelf
[QXMineNetwork getRoomRandomNameSuccessBlock:^(NSString * _Nonnull name) {
@@ -238,13 +317,24 @@
showToast(@"请上传房间封面");
return;
}
if (self.priviteBtn.selected == YES) {
if (self.passwordTextField.text.length == 0) {
showToast(@"请输入房间密码");
return;
}
if (self.passwordTextField.text.length > 4) {
showToast(@"房间密码只能是4位数字组成");
return;
}
}
MJWeakSelf
if (self.roomModel) {
[QXMineNetwork roomInfoEditWithRoomId:self.roomModel.room_info.room_id room_name:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_background:@"" successBlock:^(NSDictionary * _Nonnull dict) {
[QXMineNetwork roomInfoEditWithRoomId:self.roomModel.room_info.room_id room_name:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_background:self.roomModel.room_info.room_background room_password:self.passwordTextField.text successBlock:^(NSDictionary * _Nonnull dict) {
if (weakSelf.editSucceessBlock) {
weakSelf.roomModel.room_info.room_name = weakSelf.textField.text;
weakSelf.roomModel.room_info.room_cover = weakSelf.roomCoverUrl;
weakSelf.roomModel.room_info.room_intro = weakSelf.textView.text;
weakSelf.roomModel.room_info.room_password = weakSelf.passwordTextField.text;
weakSelf.editSucceessBlock(weakSelf.roomModel);
}
[weakSelf.navigationController popViewControllerAnimated:YES];
@@ -252,7 +342,7 @@
showToast(msg)
}];
}else{
[QXMineNetwork createRoomWithName:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text successBlock:^(NSDictionary * _Nonnull dict) {
[QXMineNetwork createRoomWithName:self.textField.text room_cover:self.roomCoverUrl room_intro:self.textView.text room_password:self.passwordTextField.text successBlock:^(NSDictionary * _Nonnull dict) {
if (weakSelf.createSucceessBlock) {
weakSelf.createSucceessBlock();
}
@@ -335,12 +425,34 @@
#pragma mark - UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
return [self.textField resignFirstResponder];
[textField resignFirstResponder];
return YES;
}
//-(void)textFieldDidBeginEditing:(UITextField *)textField{
// if (textField == self.passwordTextField) {
// [UIView animateWithDuration:0.1 animations:^{
// self.view.y = 550;
// }];
// }
//}
//-(void)textFieldDidEndEditing:(UITextField *)textField{
// if (textField == self.passwordTextField) {
// [UIView animateWithDuration:0.1 animations:^{
// self.view.y = 0;
// }];
// }
//}
- (void)textFieldDidChanged:(UITextField *)textField {
if (textField.text.length > 20) {
[textField deleteBackward];
if (textField == self.textField) {
if (textField.text.length > 20) {
[textField deleteBackward];
}
}else{
if (textField.text.length == 4) {
[textField resignFirstResponder];
}
}
}
#pragma mark - Btn Click
@@ -397,6 +509,14 @@
}
return _deleteBtn;
}
-(UIButton *)pwdDeleteBtn{
if (!_pwdDeleteBtn) {
_pwdDeleteBtn = [[UIButton alloc] init];
[_pwdDeleteBtn setImage:[UIImage imageNamed:@"Plus Circle"] forState:(UIControlStateNormal)];
[_pwdDeleteBtn addTarget:self action:@selector(clearPwdAction) forControlEvents:(UIControlEventTouchUpInside)];
}
return _pwdDeleteBtn;
}
- (UITextField *)textField {
if (!_textField) {
_textField = [[UITextField alloc] init];

View File

@@ -9,6 +9,7 @@
#import "QXGiftCell.h"
#import "QXBackpackRecordCell.h"
#import "QXMineNetwork.h"
#import "QXDressCell.h"
@interface QXBackpackSubViewController ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
@property (nonatomic,strong)UICollectionView *collectionView;
@@ -29,7 +30,7 @@
[self getBagList];
self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight-44-10);
}else if(self.type == 1){
[self getBagList];
[self getHotCardList];
self.collectionView.frame = CGRectMake(0, 12, SCREEN_WIDTH, SCREEN_HEIGHT-NavContentHeight-44-10);
}else if(self.type == 2){
[self getGiftRecordListIsIncome:YES];
@@ -57,7 +58,21 @@
[weakSelf.collectionView.mj_footer endRefreshing];
}];
}
-(void)getHotCardList{
@weakify(self)
[QXMineNetwork userDressListWithType:@"13" successBlock:^(NSArray<QXUserDressModel *> * _Nonnull list) {
@strongify(self);
[self.dataArray removeAllObjects];
[self.dataArray addObjectsFromArray:list];
[self.collectionView reloadData];
[self.collectionView.mj_header endRefreshing];
[self.collectionView.mj_footer endRefreshing];
} failBlock:^(NSError * _Nonnull error, NSString * _Nonnull msg) {
@strongify(self);
[self.collectionView.mj_header endRefreshing];
[self.collectionView.mj_footer endRefreshing];
}];
}
-(void)getGiftRecordListIsIncome:(BOOL)isIncom{
MJWeakSelf
if (isIncom) {
@@ -103,11 +118,15 @@
return self.dataArray.count;
}
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
if (self.type == 0 || self.type == 1) {
if (self.type == 0) {
QXGiftCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXGiftCell" forIndexPath:indexPath];
cell.roomGiftModel = self.dataArray[indexPath.row];
cell.cellType = QXGiftCellTypeBackpack;
return cell;
}else if(self.type == 1){
QXDressCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXDressCell" forIndexPath:indexPath];
cell.model = self.dataArray[indexPath.row];
return cell;
}else{
QXBackpackRecordCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXBackpackRecordCell" forIndexPath:indexPath];
if (indexPath.row == (self.dataArray.count - 1)) {
@@ -150,6 +169,7 @@
_collectionView.dataSource = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerNib:[UINib nibWithNibName:@"QXGiftCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXGiftCell"];
[_collectionView registerNib:[UINib nibWithNibName:@"QXDressCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXDressCell"];
[_collectionView registerNib:[UINib nibWithNibName:@"QXBackpackRecordCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"QXBackpackRecordCell"];
MJWeakSelf
_collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{

View File

@@ -69,7 +69,7 @@
}
-(void)getData{
MJWeakSelf
[QXMineNetwork getDressTypeListWithFrom:@"2" successBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
[QXMineNetwork getDressTypeListWithFrom:@"1" successBlock:^(NSArray<QXUserDressTypeModel *> * _Nonnull list) {
[weakSelf.dataArray removeAllObjects];
[weakSelf.dataArray addObjectsFromArray:list];
for (QXUserDressTypeModel*model in list) {

View File

@@ -45,6 +45,8 @@ NS_ASSUME_NONNULL_BEGIN
/// 当前钱包余额
@property (nonatomic,strong)NSString *user_wallet_coin;
/// 当前礼物所在标签 (只针对热度卡)
@property (nonatomic,strong)NSString *label;
@property (nonatomic,assign)BOOL isSelected;
@end

View File

@@ -88,6 +88,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,strong)NSString *start_time;
/// 酒吧房撩人所需金币数
@property (nonatomic,strong)NSString *end_time;
/// 房间密码
@property (nonatomic,strong)NSString *room_password;
@end

View File

@@ -278,6 +278,7 @@ NS_ASSUME_NONNULL_BEGIN
+(void)createRoomWithName:(NSString*)name
room_cover:(NSString*)room_cover
room_intro:(NSString*)room_intro
room_password:(NSString*)room_password
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
@@ -334,8 +335,9 @@ NS_ASSUME_NONNULL_BEGIN
/**
礼物标签列表
*/
+(void)giftLabelSuccessBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
+(void)giftLabelWithType:(NSString*)type
successBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
@@ -578,6 +580,7 @@ NS_ASSUME_NONNULL_BEGIN
room_cover:(NSString*)room_cover
room_intro:(NSString*)room_intro
room_background:(NSString*)room_background
room_password:(NSString*)room_password
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
@@ -1618,6 +1621,14 @@ NS_ASSUME_NONNULL_BEGIN
successBlock:(void (^)(NSArray<QXUserHomeModel*>* list,NSString*count))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
用户房间热度卡使用
*/
+(void)roomHotCardUseWithUdid:(NSString*)udid
room_id:(NSString*)room_id
num:(NSString*)num
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
@end

View File

@@ -490,7 +490,7 @@
+(void)getDressTypeListWithFrom:(NSString*)type
successBlock:(void (^)(NSArray<QXUserDressTypeModel *> * _Nonnull))successBlock
failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
[[QXRequset shareInstance] postWithUrl:QXDressTypeList parameters:@{@"type":type?type:@""} needCache:NO success:^(id responseObject) {
[[QXRequset shareInstance] postWithUrl:QXDressTypeList parameters:@{@"from":type?type:@""} needCache:NO success:^(id responseObject) {
if (successBlock) {
NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserDressTypeModel class] json:responseObject[@"data"]];
successBlock(list);
@@ -546,11 +546,12 @@
}
+(void)createRoomWithName:(NSString *)name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
+(void)createRoomWithName:(NSString *)name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro room_password:(NSString*)room_password successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
NSDictionary *parameters =@{
@"room_name":name,
@"room_cover":room_cover?room_cover:@"",
@"room_intro":room_intro?room_intro:@"",
@"room_password":room_password?:@""
};
[[QXRequset shareInstance] getWithUrl:QXCreatRoom parameters:parameters needCache:NO success:^(id responseObject) {
if (successBlock) {
@@ -684,11 +685,12 @@
/**
type 1 2
*/
+(void)giftLabelSuccessBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
+(void)giftLabelWithType:(NSString*)type
successBlock:(void (^)(NSArray<QXGiftLabelModel*>* list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
[[QXRequset shareInstance] getWithUrl:QXGiftLabel parameters:@{} needCache:NO success:^(id responseObject) {
[[QXRequset shareInstance] getWithUrl:QXGiftLabel parameters:@{@"type":type?:@""} needCache:NO success:^(id responseObject) {
NSArray *list = [NSArray yy_modelArrayWithClass:[QXGiftLabelModel class] json:responseObject[@"data"]];
successBlock(list);
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
@@ -699,6 +701,8 @@
/**
id0,
id100
*/
+(void)giftListWithLabel:(NSString*)label
roomId:(NSString*)roomId
@@ -1175,13 +1179,16 @@
room_name:(NSString *)room_name
room_cover:(NSString *)room_cover
room_intro:(NSString *)room_intro
room_background:(NSString *)room_background successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
room_background:(NSString *)room_background
room_password:(NSString*)room_password
successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{
NSDictionary *parameters =@{
@"room_id":roomId,
@"room_name":room_name?room_name:@"",
@"room_cover":room_cover?room_cover:@"",
@"room_intro":room_name?room_intro:@"",
@"room_background":room_background?room_background:@"",
@"room_password":room_password?:@""
};
[[QXRequset shareInstance] postWithUrl:QXRoomInfoEdit parameters:parameters needCache:NO success:^(id responseObject) {
if (successBlock) {
@@ -3323,5 +3330,26 @@
failBlock(error,msg);
}];
}
/**
使
*/
+(void)roomHotCardUseWithUdid:(NSString*)udid
room_id:(NSString*)room_id
num:(NSString*)num
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock{
NSDictionary *parameters =@{
@"udid":udid?:@"",
@"room_id":room_id?:@"",
@"num":num?:@""
};
[[QXRequset shareInstance] postWithUrl:QXUseRoomHotCard parameters:parameters needCache:NO success:^(id responseObject) {
if (successBlock) {
successBlock(responseObject[@"data"]);
}
} fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) {
failBlock(error,msg);
}];
}
@end

View File

@@ -19,7 +19,7 @@
_model = model;
self.nameLabel.text = model.title;
[self.dressImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
if ([model.type isEqualToString:@"12"]) {
if ([model.type isEqualToString:@"12"] || [model.type isEqualToString:@"13"]) {
self.timeLabel.text = [NSString stringWithFormat:@"x%@",model.num];
}else{
self.timeLabel.text = [NSString stringWithFormat:@"%@%@",model.remaining_day,QXText(@"天")];

View File

@@ -150,7 +150,7 @@
-(void)getGiftList{
MJWeakSelf
[QXMineNetwork giftListWithLabel:@"1" roomId:@"" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
[QXMineNetwork giftListWithLabel:@"100" roomId:@"" successBlock:^(NSArray<QXGiftModel *> * _Nonnull list) {
[weakSelf.dataArray removeAllObjects];
[weakSelf.dataArray addObjectsFromArray:list];
[weakSelf.collectionView reloadData];

View File

@@ -55,7 +55,7 @@
self.userCountLabel.text = [NSString stringWithFormat:@"等%@人",model.top_users_count];
if (model.top_users.count > 0) {
// self.countLabel.hidden = NO;
self.countLabel.hidden = NO;
self.userCountLabel.hidden = NO;
QXUserHomeModel *md1;
QXUserHomeModel *md2;
@@ -89,7 +89,7 @@
}
}else{
// self.countLabel.hidden = YES;
self.countLabel.hidden = YES;
self.userCountLabel.hidden = YES;
self.userImageView1.hidden = YES;
self.userImageView2.hidden = YES;