Files
yuyin_ios/SweetParty/主类/Mine/VIP/YYVipVC.m
2025-08-08 11:05:33 +08:00

153 lines
5.3 KiB
Objective-C
Executable File

//
// YYVipVC.m
// SweetParty
//
// Created by bj_szd on 2023/12/18.
//
#import "YYVipVC.h"
#import "YYVipItemCell.h"
#import "YYVipChangeVC.h"
@interface YYVipVC () <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (weak, nonatomic) IBOutlet UIButton *confirmBtn;
@property (weak, nonatomic) IBOutlet UILabel *timeLab;
@property (nonatomic, strong) NSArray *dataArray;
@property (nonatomic, assign) NSInteger selectIndex;
@end
@implementation YYVipVC
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//默认都是黑色的,只有需要浅色的才需要额外写
LightContentStatusBar;
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
//默认都是黑色的,只有需要浅色的才需要额外写
BlackContentStatusBar;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self showNaviBarWithTitle:@""];
[self.naviView.backBtn setImage:ImageNamed(@"whiteBack") forState:UIControlStateNormal];
self.selectIndex = -1;
[self createUI];
[self fetchData];
}
- (void)fetchData {
NSDictionary *params = @{};
[AFNetworkRequset.shared postRequestWithParams:params Path:@"/api/Vip/get_vip_list" Loading:NO Hud:NO Success:^(id _Nonnull responseDic) {
NSArray *arr = [YYVipItemModel mj_objectArrayWithKeyValuesArray:responseDic[@"data"][@"vip_list"]];
self.dataArray = arr;
[self.collectionView reloadData];
NSInteger is_vip = [responseDic[@"data"] safeIntForKey:@"is_vip"];
if (is_vip == 1) {
NSString *timeStr = [NSString timestampToDateString:[responseDic[@"data"] safeStringForKey:@"vip_end_time"]];
self.timeLab.hidden = NO;
self.timeLab.text = [NSString stringWithFormat:@"会员到期时间:%@", timeStr];
[self.confirmBtn setTitle:@"续费会员" forState:UIControlStateNormal];
}else {
self.timeLab.hidden = YES;
[self.confirmBtn setTitle:@"立即开通" forState:UIControlStateNormal];
}
} Failure:^(id _Nonnull errorData) {
}];
}
- (void)createUI {
self.confirmBtn.backgroundColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(ScreenWidth-15*2, 45) direction:FXGradientChangeDirectionHorizontal startColor:HEXCOLOR(0xF6D2D0) endColor:HEXCOLOR(0xFFBB99)];
UIButton *rightBtn = [ControlCreator createButton:self.view rect:CGRectMake(ScreenWidth-75-15, yb_StatusBar_H+7, 75, 30) text:@"更换邀请人" font:YBMediumFont(13) color:HEXCOLOR(0xFFFFFF) backguoundColor:nil imageName:nil target:self action:@selector(onChangeInvite)];
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
CGFloat itemW = (ScreenWidth-27*2-10*2)/3-10;
layout.itemSize = CGSizeMake(itemW, 83);
layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 10;
layout.sectionInset = UIEdgeInsetsMake(0, 12, 0, 12);
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
_collectionView.collectionViewLayout = layout;
_collectionView.delegate = self;
_collectionView.dataSource = self;
[_collectionView registerNib:[UINib nibWithNibName:@"YYVipItemCell" bundle:nil] forCellWithReuseIdentifier:@"YYVipItemCell"];
}
- (void)onChangeInvite {
YYVipChangeVC *vc = [[YYVipChangeVC alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
- (IBAction)onConfirm:(id)sender {
if (self.selectIndex == -1) {
[HelpPageDefine showMessage:@"请选择开通时长"];
return;
}
YYVipItemModel *model = self.dataArray[self.selectIndex];
NSDictionary *params = @{@"vid":model.vid};
[[AFNetworkRequset shared] postRequestWithParams:params Path:@"/api/pay/pay_vip_order" Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
[self fetchData];
} Failure:^(id _Nonnull errorData) {
}];
}
#pragma mark - UICollectionViewDelegate && UICollectionViewDataSource
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.dataArray.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
YYVipItemCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"YYVipItemCell" forIndexPath:indexPath];
YYVipItemModel *model = self.dataArray[indexPath.row];
cell.dayLab.text = [NSString stringWithFormat:@"%@天", model.day];
cell.priceLab.text = [NSString stringWithFormat:@"%@金币", model.price];
if (self.selectIndex == indexPath.row) {
cell.bgImgV.image = ImageNamed(@"vip_item_sel");
cell.dayLab.textColor = HEXCOLOR(0x512A12);
cell.priceLab.textColor = HEXCOLOR(0x785139);
}else {
cell.bgImgV.image = ImageNamed(@"vip_item_nor");
cell.dayLab.textColor = HEXCOLORA(0xFFFFFF, 0.6);
cell.priceLab.textColor = HEXCOLORA(0xFFFFFF, 0.6);
}
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
self.selectIndex = indexPath.row;
[self.collectionView reloadData];
}
@end