// // YOUPAILZCommonGiftView.m // VQU // // Created by 肖浩然的mac on 2021/8/20. // Copyright © 2021 leo. All rights reserved. // #import "YOUPAILZCommonGiftView.h" #import "JXCategoryView.h" #import "JXPagerView.h" #import "YOUPAILZCommonGiftVC.h" #import "YOUPAILZCommonGiftListModel.h" #import "UIViewController+TFPresent.h" #import "SDCycleScrollView.h" #define LZCategoryViewHeight 54.0f #define LZCategoryViewItemWidth 65.0f @interface YOUPAILZCommonGiftView () @property (nonatomic, weak) JXCategoryListContainerView *youpaippagerView; @property (nonatomic, strong) JXCategoryTitleView *youpaipcategoryView; /* titlearr */ @property (strong, nonatomic) NSArray *youpaiptitlesArr; /* youpaipfirstBtn */ @property (strong, nonatomic) UIButton *youpaipfirstBtn; @property (strong, nonatomic) YOUPAILCFirstRechargeModel *youpaipfirstRechargeModel; @property(nonatomic,strong)SDCycleScrollView* youpaipSDCscrollView; @end @implementation YOUPAILZCommonGiftView - (void)viewDidLoad { [super viewDidLoad]; self.baseView.hidden = YES; // self.youpaiptitlesArr = @[@"1",@"2",@"3"]; dispatch_group_t group = dispatch_group_create(); dispatch_group_enter(group); dispatch_group_async(group, dispatch_get_main_queue(), ^{ NSLog(@"%@---获取 余额",[NSThread currentThread]); // 获取余额 [self youpaifrequestBannerData:^{ dispatch_group_leave(group); }]; }); dispatch_group_notify(group, dispatch_get_main_queue(), ^{ NSLog(@"%@---全部结束。。。",[NSThread currentThread]); [self youpaifrequestCategoryListData]; }); } -(void)youpaifsetupUI{ UIView *bgV = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 333.0f+SafeHeight)]; bgV.backgroundColor = [UIColor whiteColor]; [LCTools clipCorner:UIRectCornerTopLeft|UIRectCornerTopRight View:bgV size:CGSizeMake(20.0f, 20.0f)]; [self.view addSubview:bgV]; [bgV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.bottom.offset(0.0f); make.height.offset(333.0f+SafeHeight); }]; NSMutableArray *titles = [NSMutableArray array]; for (YOUPAILZCommonGiftListModel *model in self.youpaiptitlesArr) { [titles addObject:model.youpaipname]; } JXCategoryTitleView *youpaipcategoryView = [[JXCategoryTitleView alloc] init]; youpaipcategoryView.backgroundColor = [UIColor whiteColor]; youpaipcategoryView.titles = titles; youpaipcategoryView.delegate = self; youpaipcategoryView.titleSelectedColor = UIColor.blackColor; youpaipcategoryView.titleColor = UIColor.blackColor; youpaipcategoryView.titleColorGradientEnabled = YES; youpaipcategoryView.titleFont = LCFont(18.0f); youpaipcategoryView.titleSelectedFont = LCBoldFont(18.0f); youpaipcategoryView.cellWidth = LZCategoryViewItemWidth; youpaipcategoryView.cellSpacing = 0.0f; youpaipcategoryView.averageCellSpacingEnabled = NO; youpaipcategoryView.defaultSelectedIndex =1; [bgV addSubview:youpaipcategoryView]; self.youpaipcategoryView = youpaipcategoryView; [youpaipcategoryView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.right.offset(0.0f); make.height.offset(49.0f); }]; JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init]; lineView.verticalMargin = 8.0f; lineView.indicatorHeight = 3.0f; lineView.indicatorWidth = 10; lineView.indicatorColor = UIColor.blackColor; youpaipcategoryView.indicators = @[lineView]; JXCategoryListContainerView *pagerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_CollectionView delegate:self]; [pagerView setDefaultSelectedIndex:1]; pagerView.listCellBackgroundColor = LCBkgColor; // pagerView.frame = CGRectMake(0.0f,CGRectGetMaxY(youpaipcategoryBgV.frame), KScreenWidth, KScreenHeight - CGRectGetMaxY(youpaipcategoryBgV.frame) - SafeHeight); [bgV addSubview:pagerView]; self.youpaippagerView = pagerView; [pagerView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.offset(0.0f); make.top.equalTo(youpaipcategoryView.mas_bottom); make.bottom.offset(0.0f); }]; self.youpaipcategoryView.listContainer = self.youpaippagerView; //首冲按钮 SDCycleScrollView *bannerView1 = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImage imageNamed:@""]]; [self.view addSubview:bannerView1]; self.youpaipSDCscrollView = bannerView1; [bannerView1 mas_makeConstraints:^(MASConstraintMaker *make) { make.right.mas_equalTo(0); make.bottom.mas_equalTo(bgV.mas_top); make.size.mas_equalTo(CGSizeMake(50, 50)); }]; bannerView1.autoScrollTimeInterval = 3.0;//2s轮播 bannerView1.pageControlStyle = SDCycleScrollViewPageContolStyleNone; bannerView1.backgroundColor = [UIColor clearColor]; NSMutableArray *imgUrlArray = [NSMutableArray new]; for (YOUPAILCBannerModel* model in self.youpaipfirstRechargeModel.youpaiplist) { [imgUrlArray addObject:[LCTools getImageUrlWithAddress:model.youpaipimage]]; } self.youpaipSDCscrollView.imageURLStringsGroup = imgUrlArray; if (self.youpaipfirstRechargeModel.youpaipis_open == 1) { self.youpaipSDCscrollView.hidden = NO; }else{ self.youpaipSDCscrollView.hidden = YES; } [self.youpaipcategoryView reloadData]; [pagerView reloadData]; } #pragma mark - SDCycleScrollViewDelegate - (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index { [self dismissViewControllerAnimated:NO completion:^{ YOUPAILCBannerModel* model = self.youpaipfirstRechargeModel.youpaiplist[index]; if (self.youpaiptouchAdvertBlock) { self.youpaiptouchAdvertBlock(model); }else{ if (model.youpaiplink_type==1) { ZCBaseWebVC* baseWeb = [[ZCBaseWebVC alloc]init]; baseWeb.contentUrl = model.youpaiplink_url; if ([LCTools getCurrentVC].navigationController == nil) { [[LCTools getContainNavigationControllerCurrentVC].navigationController pushViewController:baseWeb animated:YES]; }else{ [[LCTools getCurrentVC].navigationController pushViewController:baseWeb animated:YES]; } }else if (model.youpaiplink_type==2||model.youpaiplink_type==3){ [self youpaifpageToStr:model.youpaiplink_url]; } } }]; } - (void)youpaifrequestBannerData:(void(^)(void))complete{ [LCHttpHelper requestWithURLString:GetAdvert parameters:@{@"position":@"5"} needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) { NSDictionary* dict = (NSDictionary*)responseObject; NSInteger code = [[dict objectForKey:@"code"] integerValue]; if (code==0) {//成功 self.youpaipfirstRechargeModel = [YOUPAILCFirstRechargeModel mj_objectWithKeyValues:dict[@"data"]]; if (complete) { complete(); } } } failure:^(NSError *error) {}]; } // 返回列表的数量 - (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView { return self.youpaiptitlesArr.count; } // 根据下标 index 返回对应遵守并实现 `JXCategoryListContentViewDelegate` 协议的列表实例 - (id)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index { YOUPAILZCommonGiftListModel *model = self.youpaiptitlesArr[index]; YOUPAILZCommonGiftVC *vc = [YOUPAILZCommonGiftVC new]; vc.delegate = self; vc.youpaipisAnchor = self.youpaipisAnchor; vc.send_gift_hide = model.youpaipsend_gift_hide; vc.youpaipcountDown = self.youpaipcountDown; vc.ID = [NSString stringWithFormat:@"%ld",model.youpaipid]; [vc setYoupaipjumToWalletBlock:^{ if (self.jumToWalletBlock1) { self.jumToWalletBlock1(); } }]; return vc; } //- (void)youpaipcategoryView:(JXCategoryBaseView *)youpaipcategoryView didSelectedItemAtIndex:(NSInteger)index{ // // [self.youpaipcategoryView.listContainer reloadData]; // // //} -(void)youpaifDidSenderGiftWith:(YOUPAILCGiftModel *)model Count:(NSInteger)count CategoryID:(NSString *)categoryid{ if (self.youpaiplzgiftblock) { self.youpaiplzgiftblock(model, count,categoryid); } } - (void)youpaifrequestCategoryListData{ @weakify(self) [LCHttpHelper requestWithURLString:LiveGiftList parameters:@{} needToken:YES type:HttpRequestTypePost success:^(id responseObject) { @strongify(self) NSDictionary* dict = (NSDictionary*)responseObject; NSInteger code = [[dict objectForKey:@"code"] integerValue]; if (code == 0) { self.youpaiptitlesArr = [YOUPAILZCommonGiftListModel mj_objectArrayWithKeyValuesArray:[dict objectForKey:@"data"]]; [self youpaifsetupUI]; }else{ [ZCHUDHelper showTitle:[dict objectForKey:@"message"]]; } } failure:^(NSError *error) { [ZCHUDHelper showTitle:error.localizedDescription]; }]; } @end