// // RQVipBuyView.m // jiaPei // // Created by 张嵘 on 2022/3/2. // Copyright © 2022 JCZ. All rights reserved. // #import "RQVipBuyView.h" @interface RQVipBuyView () @property (weak, nonatomic) IBOutlet UIStackView *myPriceView; @property (weak, nonatomic) IBOutlet UILabel *nowPriceLabel; @property (weak, nonatomic) IBOutlet UIButton *priceBtn; @property (weak, nonatomic) IBOutlet NSLayoutConstraint *prewToBottom; @end @implementation RQVipBuyView + (instancetype)vipBuyView { return [super rq_viewFromXib]; } - (void)awakeFromNib { [super awakeFromNib]; self.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.16].CGColor; CGFloat btnHeight = RQ_FIT_HORIZONTAL(93.f) - RQ_FIT_HORIZONTAL(18.f) - 8 - 8 - 12; CGFloat priceBtnWidth = (RQ_SCREEN_WIDTH - 16 - 16) - RQ_FIT_HORIZONTAL(100.f); [self.priceBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) { graColor.fromColor = [UIColor qmui_colorWithHexString:@"#252531"]; graColor.toColor = [UIColor qmui_colorWithHexString:@"#2C2D3C"]; graColor.type = QQGradualChangeTypeLeftToRight; } size:CGSizeMake(priceBtnWidth, btnHeight) cornerRadius:QQRadiusMake(btnHeight / 2.f, 0, btnHeight / 2.f, 0)] forState:UIControlStateNormal]; [self.buyBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) { graColor.fromColor = [UIColor qmui_colorWithHexString:@"#DBA05C"]; graColor.toColor = [UIColor qmui_colorWithHexString:@"#F3C085"]; graColor.type = QQGradualChangeTypeLeftToRight; } size:CGSizeMake(RQ_FIT_HORIZONTAL(100.f), btnHeight) cornerRadius:QQRadiusMake(0, btnHeight / 2.f, 0, btnHeight / 2.f)] forState:UIControlStateNormal]; self.buyBtn.titleLabel.adjustsFontForContentSizeCategory = YES; _prewToBottom.constant = 12 + RQ_APPLICATION_SAFEAREA_BOTTOM_HEIGHT; } - (void)setTypeModel:(RQTypeModel *)typeModel { self.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.16].CGColor; CGFloat btnHeight = RQ_FIT_HORIZONTAL(93.f) - RQ_FIT_HORIZONTAL(18.f) - 8 - 8 - 12; CGFloat priceBtnWidth = (RQ_SCREEN_WIDTH - 16 - 16) - RQ_FIT_HORIZONTAL(100.f); [self.priceBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) { graColor.fromColor = [UIColor qmui_colorWithHexString:@"#252531"]; graColor.toColor = [UIColor qmui_colorWithHexString:@"#2C2D3C"]; graColor.type = QQGradualChangeTypeLeftToRight; } size:CGSizeMake(priceBtnWidth, btnHeight) cornerRadius:QQRadiusMake(btnHeight / 2.f, 0, btnHeight / 2.f, 0)] forState:UIControlStateNormal]; [self.buyBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) { graColor.fromColor = [UIColor qmui_colorWithHexString:@"#DBA05C"]; graColor.toColor = [UIColor qmui_colorWithHexString:@"#F3C085"]; graColor.type = QQGradualChangeTypeLeftToRight; } size:CGSizeMake(RQ_FIT_HORIZONTAL(100), btnHeight) cornerRadius:QQRadiusMake(0, btnHeight / 2.f, 0, btnHeight / 2.f)] forState:UIControlStateNormal]; if (RQObjectIsNil(typeModel)) { [self.priceBtn setTitleNormal:@"暂无可用VIP套餐"]; } else { NSString *nowPriceStr; NSString *oldPriceStr; if (RQStringIsNotEmpty(typeModel.dictValue) && [typeModel.dictValue containsString:@","]) { nowPriceStr = [typeModel.dictValue componentsSeparatedByString:@","].firstObject; if ([typeModel.dictValue componentsSeparatedByString:@","].count >= 2) { oldPriceStr = [typeModel.dictValue componentsSeparatedByString:@","][1]; } else { oldPriceStr = @""; } } else { nowPriceStr = typeModel.dictValue; oldPriceStr = typeModel.dictValue; } if ([oldPriceStr isEqualToString:nowPriceStr]) { NSString *price = [NSString stringWithFormat:@"¥%@/1年",nowPriceStr]; [self.priceBtn setTitleNormal:price]; } else { NSString *price = [NSString stringWithFormat:@"¥%@/1年 ¥%@",nowPriceStr,oldPriceStr]; NSString *year = [NSString stringWithFormat:[typeModel.dictLabel isEqualToString:@"理论实操计时"]? @"/长期" : @"/1年"]; NSString *oldPrice = [NSString stringWithFormat:@"¥%@",oldPriceStr]; NSMutableAttributedString *nowPriceAttrStr = [[NSMutableAttributedString alloc] initWithString:price]; [nowPriceAttrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:22] range:[price rangeOfString:year]]; [nowPriceAttrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:[price rangeOfString:oldPrice]]; [nowPriceAttrStr addAttribute:NSStrikethroughStyleAttributeName value:@(1) range:[price rangeOfString:oldPrice]]; [nowPriceAttrStr addAttribute:NSBaselineOffsetAttributeName value:@(NSUnderlineStyleSingle) range:[price rangeOfString:oldPrice]]; [nowPriceAttrStr addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:115/255.0 green:115/255.0 blue:115/255.0 alpha:1.0] range:[price rangeOfString:oldPrice]]; [self.priceBtn setAttributedTitle:nowPriceAttrStr forState:UIControlStateNormal]; } } [self layoutIfNeeded]; } - (IBAction)userAgreeBtnAction:(id)sender { _userAgreeBtn.selected = !_userAgreeBtn.selected; } - (IBAction)userAgreementBtnAction:(id)sender { NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://ys.zzxcx.net/jsjp-sf.html"]]; RQWebViewModel *viewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey : request,RQViewModelWebViewTypeKey:@(RQWebViewType_VIP)}]; RQWebViewViewController *viewController = [[RQWebViewViewController alloc] initWithViewModel:viewModel]; RQBaseNavigationController *nav = [[RQBaseNavigationController alloc] initWithRootViewController:viewController]; [RQControllerHelper.currentViewController presentViewController:nav animated:YES completion:^{ }]; // [RQ_APPDELEGATE.services presentViewModel:viewModel animated:YES completion:^{ // // }]; } @end