RQVipBuyView.m 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //
  2. // RQVipBuyView.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/3/2.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQVipBuyView.h"
  9. @interface RQVipBuyView ()
  10. @property (weak, nonatomic) IBOutlet UIStackView *myPriceView;
  11. @property (weak, nonatomic) IBOutlet UILabel *nowPriceLabel;
  12. @property (weak, nonatomic) IBOutlet UIButton *priceBtn;
  13. @property (weak, nonatomic) IBOutlet NSLayoutConstraint *prewToBottom;
  14. @end
  15. @implementation RQVipBuyView
  16. + (instancetype)vipBuyView {
  17. return [super rq_viewFromXib];
  18. }
  19. - (void)awakeFromNib {
  20. [super awakeFromNib];
  21. self.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.16].CGColor;
  22. CGFloat btnHeight = RQ_FIT_HORIZONTAL(93.f) - RQ_FIT_HORIZONTAL(18.f) - 8 - 8 - 12;
  23. CGFloat priceBtnWidth = (RQ_SCREEN_WIDTH - 16 - 16) - RQ_FIT_HORIZONTAL(100.f);
  24. [self.priceBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) {
  25. graColor.fromColor = [UIColor qmui_colorWithHexString:@"#252531"];
  26. graColor.toColor = [UIColor qmui_colorWithHexString:@"#2C2D3C"];
  27. graColor.type = QQGradualChangeTypeLeftToRight;
  28. } size:CGSizeMake(priceBtnWidth, btnHeight) cornerRadius:QQRadiusMake(btnHeight / 2.f, 0, btnHeight / 2.f, 0)] forState:UIControlStateNormal];
  29. [self.buyBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) {
  30. graColor.fromColor = [UIColor qmui_colorWithHexString:@"#DBA05C"];
  31. graColor.toColor = [UIColor qmui_colorWithHexString:@"#F3C085"];
  32. graColor.type = QQGradualChangeTypeLeftToRight;
  33. } size:CGSizeMake(RQ_FIT_HORIZONTAL(100.f), btnHeight) cornerRadius:QQRadiusMake(0, btnHeight / 2.f, 0, btnHeight / 2.f)] forState:UIControlStateNormal];
  34. self.buyBtn.titleLabel.adjustsFontForContentSizeCategory = YES;
  35. _prewToBottom.constant = 12 + RQ_APPLICATION_SAFEAREA_BOTTOM_HEIGHT;
  36. }
  37. - (void)setTypeModel:(RQTypeModel *)typeModel {
  38. self.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.16].CGColor;
  39. CGFloat btnHeight = RQ_FIT_HORIZONTAL(93.f) - RQ_FIT_HORIZONTAL(18.f) - 8 - 8 - 12;
  40. CGFloat priceBtnWidth = (RQ_SCREEN_WIDTH - 16 - 16) - RQ_FIT_HORIZONTAL(100.f);
  41. [self.priceBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) {
  42. graColor.fromColor = [UIColor qmui_colorWithHexString:@"#252531"];
  43. graColor.toColor = [UIColor qmui_colorWithHexString:@"#2C2D3C"];
  44. graColor.type = QQGradualChangeTypeLeftToRight;
  45. } size:CGSizeMake(priceBtnWidth, btnHeight) cornerRadius:QQRadiusMake(btnHeight / 2.f, 0, btnHeight / 2.f, 0)] forState:UIControlStateNormal];
  46. [self.buyBtn setBackgroundImage:[UIImage imageWithGradualChangingColor:^(QQGradualChangingColor *graColor) {
  47. graColor.fromColor = [UIColor qmui_colorWithHexString:@"#DBA05C"];
  48. graColor.toColor = [UIColor qmui_colorWithHexString:@"#F3C085"];
  49. graColor.type = QQGradualChangeTypeLeftToRight;
  50. } size:CGSizeMake(RQ_FIT_HORIZONTAL(100), btnHeight) cornerRadius:QQRadiusMake(0, btnHeight / 2.f, 0, btnHeight / 2.f)] forState:UIControlStateNormal];
  51. if (RQObjectIsNil(typeModel)) {
  52. [self.priceBtn setTitleNormal:@"暂无可用VIP套餐"];
  53. } else {
  54. NSString *nowPriceStr;
  55. NSString *oldPriceStr;
  56. if (RQStringIsNotEmpty(typeModel.dictValue) && [typeModel.dictValue containsString:@","]) {
  57. nowPriceStr = [typeModel.dictValue componentsSeparatedByString:@","].firstObject;
  58. if ([typeModel.dictValue componentsSeparatedByString:@","].count >= 2) {
  59. oldPriceStr = [typeModel.dictValue componentsSeparatedByString:@","][1];
  60. } else {
  61. oldPriceStr = @"";
  62. }
  63. } else {
  64. nowPriceStr = typeModel.dictValue;
  65. oldPriceStr = typeModel.dictValue;
  66. }
  67. if ([oldPriceStr isEqualToString:nowPriceStr]) {
  68. NSString *price = [NSString stringWithFormat:@"¥%@/1年",nowPriceStr];
  69. [self.priceBtn setTitleNormal:price];
  70. } else {
  71. NSString *price = [NSString stringWithFormat:@"¥%@/1年 ¥%@",nowPriceStr,oldPriceStr];
  72. NSString *year = [NSString stringWithFormat:[typeModel.dictLabel isEqualToString:@"理论实操计时"]? @"/长期" : @"/1年"];
  73. NSString *oldPrice = [NSString stringWithFormat:@"¥%@",oldPriceStr];
  74. NSMutableAttributedString *nowPriceAttrStr = [[NSMutableAttributedString alloc] initWithString:price];
  75. [nowPriceAttrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:22] range:[price rangeOfString:year]];
  76. [nowPriceAttrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:13] range:[price rangeOfString:oldPrice]];
  77. [nowPriceAttrStr addAttribute:NSStrikethroughStyleAttributeName value:@(1) range:[price rangeOfString:oldPrice]];
  78. [nowPriceAttrStr addAttribute:NSBaselineOffsetAttributeName value:@(NSUnderlineStyleSingle) range:[price rangeOfString:oldPrice]];
  79. [nowPriceAttrStr addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:115/255.0 green:115/255.0 blue:115/255.0 alpha:1.0] range:[price rangeOfString:oldPrice]];
  80. [self.priceBtn setAttributedTitle:nowPriceAttrStr forState:UIControlStateNormal];
  81. }
  82. }
  83. [self layoutIfNeeded];
  84. }
  85. - (IBAction)userAgreeBtnAction:(id)sender {
  86. _userAgreeBtn.selected = !_userAgreeBtn.selected;
  87. }
  88. - (IBAction)userAgreementBtnAction:(id)sender {
  89. NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://ys.zzxcx.net/jsjp-sf.html"]];
  90. RQWebViewModel *viewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey : request,RQViewModelWebViewTypeKey:@(RQWebViewType_VIP)}];
  91. RQWebViewViewController *viewController = [[RQWebViewViewController alloc] initWithViewModel:viewModel];
  92. RQBaseNavigationController *nav = [[RQBaseNavigationController alloc] initWithRootViewController:viewController];
  93. [RQControllerHelper.currentViewController presentViewController:nav animated:YES completion:^{
  94. }];
  95. // [RQ_APPDELEGATE.services presentViewModel:viewModel animated:YES completion:^{
  96. //
  97. // }];
  98. }
  99. @end