YOUPAILZBaseBackpackVC.m 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. //
  2. // YOUPAILZBaseBackpackVC.m
  3. // VQU
  4. //
  5. // Created by 肖浩然的mac on 2021/8/26.
  6. // Copyright © 2021 MS. All rights reserved.
  7. //
  8. #import "YOUPAILZBaseBackpackVC.h"
  9. #import "JXCategoryView.h"
  10. #import "JXPagerView.h"
  11. #import "YOUPAILZBackpackVC.h"
  12. #import "YOUPAILZBackPackVipVC.h"
  13. #import "JXCategoryDotView.h"
  14. #define LZCategoryViewHeight 44.0f
  15. #define LZCategoryViewItemWidth 34.0f
  16. @interface YOUPAILZBaseBackpackVC ()<JXCategoryViewDelegate,JXPagerViewDelegate,JXCategoryListContainerViewDelegate>
  17. @property (nonatomic, weak) JXCategoryListContainerView *youpaippagerView;
  18. //@property (nonatomic, strong) JXCategoryTitleView *categoryView;
  19. @property (strong, nonatomic) NSArray *youpaiptitlesArr;
  20. @property (nonatomic, strong) JXCategoryDotView *youpaipcategoryView;
  21. @property (nonatomic, strong) NSMutableArray *youpaipdotStates;
  22. @end
  23. @implementation YOUPAILZBaseBackpackVC
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. self.title = @"我的背包";
  27. self.youpaiptitlesArr = @[LCStr(word4),@"贵族体验卡"];//优惠券
  28. self.view.backgroundColor = [UIColor whiteColor];
  29. [self youpaifsetupUI];
  30. [self youpaifrequestAvatarDressData];
  31. }
  32. -(void)youpaifsetupUI{
  33. JXCategoryDotView *categoryView = [[JXCategoryDotView alloc] init];
  34. [self.view addSubview:categoryView];
  35. [categoryView mas_makeConstraints:^(MASConstraintMaker *make) {
  36. make.top.mas_equalTo(NavBarHeight);
  37. make.left.mas_equalTo(ScaleSize(76));
  38. make.right.mas_equalTo(-ScaleSize(76));
  39. make.height.mas_equalTo(LZCategoryViewHeight);
  40. }];
  41. categoryView.backgroundColor = [UIColor whiteColor];
  42. categoryView.titles = self.youpaiptitlesArr;
  43. categoryView.delegate = self;
  44. categoryView.titleSelectedColor = LZ273145Color;
  45. categoryView.titleColor = LZA3AABEColor;
  46. categoryView.titleColorGradientEnabled = YES;
  47. categoryView.titleFont = LCBoldFont(14.0f);
  48. categoryView.titleSelectedFont = LCBoldFont(14.0f);
  49. categoryView.cellWidth = 100;
  50. categoryView.cellSpacing = 0.0f;
  51. categoryView.averageCellSpacingEnabled = YES;
  52. _youpaipdotStates = @[@YES, @YES].mutableCopy;
  53. categoryView.dotStates = _youpaipdotStates;
  54. self.youpaipcategoryView = categoryView;
  55. categoryView.dotSize = CGSizeMake(4, 4);
  56. categoryView.dotColor = LCRedColor;
  57. // self.myCategoryView.dotStates = self.dotStates;
  58. // [self.myCategoryView reloadDataWithoutListContainer];
  59. JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
  60. lineView.verticalMargin = 4.0f;
  61. lineView.indicatorHeight = 3.0f;
  62. lineView.indicatorWidth = 10;
  63. lineView.indicatorColor = LZ7C69FEColor;
  64. // lineView.layer.cornerRadius = 1.25;
  65. // lineView.layer.masksToBounds = YES;
  66. // [lineView.layer addSublayer:[LCTools getGradientLayerWithSize:CGSizeMake(lineView.indicatorWidth, lineView.indicatorHeight) twoColors:@[HexColorFromRGB(0xFF0084),HexColorFromRGB(0xFF3A00)] gradientType:GradientLeftToRight]];
  67. categoryView.indicators = @[lineView];
  68. JXCategoryListContainerView *pagerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_CollectionView delegate:self];
  69. pagerView.listCellBackgroundColor = LCBkgColor;
  70. [self.view addSubview:pagerView];
  71. [pagerView mas_makeConstraints:^(MASConstraintMaker *make) {
  72. make.top.mas_equalTo(categoryView.mas_bottom).offset(30);
  73. make.left.mas_equalTo(0);
  74. make.right.mas_equalTo(0);
  75. make.bottom.mas_equalTo(-SafeHeight);
  76. }];
  77. self.youpaippagerView = pagerView;
  78. self.youpaipcategoryView.listContainer = self.youpaippagerView;
  79. // //未读红点
  80. // UIView *redView = [UIView new];
  81. // self.redView = redView;
  82. // [self addSubview:redView];
  83. // [redView mas_makeConstraints:^(MASConstraintMaker *make) {
  84. // make.right.mas_equalTo(-40);
  85. // make.centerY.mas_equalTo(righMedaltView);
  86. // make.size.mas_equalTo(CGSizeMake(4, 4));
  87. // }];
  88. // redView.layer.cornerRadius = 2;
  89. // redView.layer.masksToBounds = YES;
  90. // redView.backgroundColor = LCRedColor;
  91. // redView.hidden = YES;
  92. }
  93. // 返回列表的数量
  94. - (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
  95. return self.youpaiptitlesArr.count;
  96. }
  97. // 根据下标 index 返回对应遵守并实现 `JXCategoryListContentViewDelegate` 协议的列表实例
  98. - (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
  99. // noble_experience_card 贵族体验卡 video_coupon 视频优惠券
  100. NSArray *typeArr = @[@"video_coupon",@"noble_experience_card"];
  101. if (index == 0) {
  102. YOUPAILZBackpackVC *vc = [YOUPAILZBackpackVC new];
  103. vc.youpaiptype = typeArr[index];
  104. return vc;
  105. }else{
  106. YOUPAILZBackPackVipVC *vc = [YOUPAILZBackPackVipVC new];
  107. vc.youpaiptype = typeArr[index];
  108. return vc;
  109. }
  110. }
  111. #pragma mark - JXCategoryViewDelegate
  112. - (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
  113. if ([self.youpaipdotStates[index] boolValue] == YES) {
  114. self.youpaipdotStates[index] = @(NO);
  115. self.youpaipcategoryView.dotStates = self.youpaipdotStates;
  116. [categoryView reloadCellAtIndex:index];
  117. }
  118. }
  119. - (void)youpaifrequestAvatarDressData{
  120. @weakify(self);
  121. [LCHttpHelper requestWithURLString:GetPackageDot parameters:nil needToken:YES type:(HttpRequestTypePost) success:^(id responseObject) {
  122. @strongify(self);
  123. NSDictionary* dict = (NSDictionary*)responseObject;
  124. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  125. if (code == 0) {//成功
  126. NSDictionary *data = [dict objectForKey:@"data"];
  127. NSDictionary *redDic = data[@"red_dot"];
  128. self.youpaipdotStates = @[@NO,redDic[@"noble_experience_card"]].mutableCopy;
  129. self.youpaipcategoryView.dotStates = self.youpaipdotStates;
  130. [self.youpaipcategoryView reloadDataWithoutListContainer];
  131. }
  132. } failure:^(NSError *error) {
  133. }];
  134. }
  135. @end