This commit is contained in:
2026-02-04 15:40:45 +08:00
parent 7c7e2477cb
commit c1b50b407d
13 changed files with 146 additions and 32 deletions

View File

@@ -118,8 +118,15 @@ static NSString * const kKBSvipBenefitHeaderId = @"kKBSvipBenefitHeaderId";
[self.collectionView reloadData];
return;
}
self.plans = products ?: @[];
self.selectedIndex = self.plans.count > 0 ? 1 : NSNotFound; // 1 Month
// level=2 SVIP
NSMutableArray<KBPayProductModel *> *svipProducts = [NSMutableArray array];
for (KBPayProductModel *product in products) {
if (product.level == 1) {
[svipProducts addObject:product];
}
}
self.plans = svipProducts.copy;
self.selectedIndex = self.plans.count > 1 ? 1 : (self.plans.count > 0 ? 0 : NSNotFound); // 1 Month
[self.collectionView reloadData];
[self selectCurrentPlanAnimated:NO];
[self prepareStoreKitWithPlans:self.plans];
@@ -231,8 +238,9 @@ static NSString * const kKBSvipBenefitHeaderId = @"kKBSvipBenefitHeaderId";
if (indexPath.item < self.plans.count) {
KBPayProductModel *plan = self.plans[indexPath.item];
NSString *title = [self displayTitleForPlan:plan];
NSString *price = [plan priceDisplayText];
[cell configTitle:title price:price strike:nil];
NSString *currency = plan.currency ?: @"$";
NSString *price = [plan priceNumberText];
[cell configTitle:title currency:currency price:price strike:nil];
[cell applySelected:(indexPath.item == self.selectedIndex) animated:NO];
}
return cell;
@@ -264,22 +272,22 @@ static NSString * const kKBSvipBenefitHeaderId = @"kKBSvipBenefitHeaderId";
make.center.equalTo(header);
}];
// 线
UIView *leftLine = [UIView new];
leftLine.backgroundColor = [UIColor colorWithHex:0xE5E5E5];
UIImageView *leftLine = [UIImageView new];
leftLine.image = [UIImage imageNamed:@"pay_leftline_icon"];
[header addSubview:leftLine];
[leftLine mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(titleLabel.mas_left).offset(-12);
make.centerY.equalTo(header);
make.width.mas_equalTo(40);
make.width.mas_equalTo(53);
make.height.mas_equalTo(1);
}];
UIView *rightLine = [UIView new];
rightLine.backgroundColor = [UIColor colorWithHex:0xE5E5E5];
UIImageView *rightLine = [UIImageView new];
rightLine.image = [UIImage imageNamed:@"pay_rightline_icon"];
[header addSubview:rightLine];
[rightLine mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(titleLabel.mas_right).offset(12);
make.centerY.equalTo(header);
make.width.mas_equalTo(40);
make.width.mas_equalTo(53);
make.height.mas_equalTo(1);
}];
return header;
@@ -361,7 +369,8 @@ static NSString * const kKBSvipBenefitHeaderId = @"kKBSvipBenefitHeaderId";
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
if (section == 0) {
return UIEdgeInsetsMake(16, 16, 10, 16);
// 16Cell17 16+17=33
return UIEdgeInsetsMake(16, 22, 10, 22);
}
return UIEdgeInsetsMake(0, 16, 20, 16);
}