修复了金币开通贵族显示价格的问题

This commit is contained in:
fengshuo
2022-10-30 23:13:08 +08:00
parent ee1e8fa0d4
commit 9bb42176be
8 changed files with 99 additions and 7 deletions

View File

@@ -25,6 +25,8 @@ typedef NS_ENUM(NSInteger, RechargeType) {
@property (nonatomic,assign) BOOL isSelect; @property (nonatomic,assign) BOOL isSelect;
///是否是最后一个 ///是否是最后一个
@property (nonatomic,assign) BOOL isLastOne; @property (nonatomic,assign) BOOL isLastOne;
///副标题
@property (nonatomic,copy) NSString *subTitle;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -18,6 +18,8 @@
@property (nonatomic,strong) UIImageView *logoImageView; @property (nonatomic,strong) UIImageView *logoImageView;
/// ///
@property (nonatomic,strong) UILabel *titleLabel; @property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *subtitleLabel;
/// ///
@property (nonatomic,strong) UIButton *chooseButton; @property (nonatomic,strong) UIButton *chooseButton;
///线 ///线
@@ -40,6 +42,7 @@
self.selectionStyle = UITableViewCellSelectionStyleNone; self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.logoImageView]; [self.contentView addSubview:self.logoImageView];
[self.contentView addSubview:self.titleLabel]; [self.contentView addSubview:self.titleLabel];
[self.contentView addSubview:self.subtitleLabel];
[self.contentView addSubview:self.chooseButton]; [self.contentView addSubview:self.chooseButton];
[self.contentView addSubview:self.lineView]; [self.contentView addSubview:self.lineView];
} }
@@ -56,6 +59,11 @@
make.centerY.mas_equalTo(self.logoImageView); make.centerY.mas_equalTo(self.logoImageView);
make.left.mas_equalTo(self.logoImageView.mas_right).offset(10); make.left.mas_equalTo(self.logoImageView.mas_right).offset(10);
}]; }];
[self.subtitleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.titleLabel.mas_right).offset(10);
make.bottom.equalTo(self.titleLabel);
}];
[self.chooseButton mas_makeConstraints:^(MASConstraintMaker *make) { [self.chooseButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18)); make.size.mas_equalTo(CGSizeMake(18, 18));
@@ -78,6 +86,12 @@
_titleLabel.text = _rechargeTypeModel.title; _titleLabel.text = _rechargeTypeModel.title;
_chooseButton.selected = _rechargeTypeModel.isSelect; _chooseButton.selected = _rechargeTypeModel.isSelect;
self.lineView.hidden = _rechargeTypeModel.isLastOne; self.lineView.hidden = _rechargeTypeModel.isLastOne;
if (_rechargeTypeModel.subTitle.length > 0) {
self.subtitleLabel.text = _rechargeTypeModel.subTitle;
self.subtitleLabel.hidden = NO;
} else {
self.subtitleLabel.hidden = YES;
}
} }
} }
@@ -98,6 +112,16 @@
return _titleLabel; return _titleLabel;
} }
- (UILabel *)subtitleLabel {
if (!_subtitleLabel) {
_subtitleLabel = [[UILabel alloc] init];
_subtitleLabel.font = [UIFont systemFontOfSize:10];
_subtitleLabel.textColor = [ThemeColor secondTextColor];
_subtitleLabel.hidden = YES;
}
return _subtitleLabel;
}
- (UIButton *)chooseButton { - (UIButton *)chooseButton {
if (!_chooseButton) { if (!_chooseButton) {
_chooseButton = [UIButton buttonWithType:UIButtonTypeCustom]; _chooseButton = [UIButton buttonWithType:UIButtonTypeCustom];

View File

@@ -23,6 +23,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,assign) CGFloat money; @property (nonatomic,assign) CGFloat money;
///原价 ///原价
@property (nonatomic,assign) CGFloat oriPrice; @property (nonatomic,assign) CGFloat oriPrice;
///换算率
@property (nonatomic,assign) NSInteger rate;
@end @end

View File

@@ -18,6 +18,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPNobleRechargeTableViewCell : UITableViewCell @interface XPNobleRechargeTableViewCell : UITableViewCell
///钻石数
@property (nonatomic,assign) CGFloat diamondNum;
///默认的充值类型 ///默认的充值类型
@property (nonatomic,assign) RechargeDefaultPayType type; @property (nonatomic,assign) RechargeDefaultPayType type;
///当前选中的支付类型 ///当前选中的支付类型

View File

@@ -205,6 +205,7 @@
if (_type == RechargeDefaultPayType_Coin) { if (_type == RechargeDefaultPayType_Coin) {
self.currentItem = self.coinPayItem; self.currentItem = self.coinPayItem;
} }
self.coinPayItem.subTitle = [NSString stringWithFormat:@"(%.2f钻石)", _diamondNum > 0 ? _diamondNum : 0];
[self.tableView reloadData]; [self.tableView reloadData];
} }
@@ -238,7 +239,6 @@
EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init]; EnterPrieseRechargeTypeItemModel * zfbItem = [[EnterPrieseRechargeTypeItemModel alloc] init];
zfbItem.imageName = @"mine_recharge_alipay"; zfbItem.imageName = @"mine_recharge_alipay";
zfbItem.title = @"支付宝"; zfbItem.title = @"支付宝";
zfbItem.isSelect = YES;
zfbItem.type = RechargeType_ZFB; zfbItem.type = RechargeType_ZFB;
_aliPayItem = zfbItem; _aliPayItem = zfbItem;
} }

View File

@@ -16,6 +16,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic,copy) NSString *chargeMoney; @property (nonatomic,copy) NSString *chargeMoney;
///房主的uid ///房主的uid
@property (nonatomic,copy) NSString *roomUid; @property (nonatomic,copy) NSString *roomUid;
///利率
@property (nonatomic,assign) NSInteger rate;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -34,6 +34,10 @@
@interface XPNobleRechargeView ()<UITableViewDelegate, UITableViewDataSource, XPNobleRechargeTableViewCellDelegate> @interface XPNobleRechargeView ()<UITableViewDelegate, UITableViewDataSource, XPNobleRechargeTableViewCellDelegate>
/// ///
@property (nonatomic,strong) UILabel *titleLabel; @property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIStackView *moneyStackView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
/// ///
@property (nonatomic,strong) UILabel *moneyLabel; @property (nonatomic,strong) UILabel *moneyLabel;
/// ///
@@ -46,6 +50,8 @@
@property (nonatomic,assign) RechargeDefaultPayType payType; @property (nonatomic,assign) RechargeDefaultPayType payType;
/// ///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem; @property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) WalletInfoModel *walletInfo;
@end @end
@implementation XPNobleRechargeView @implementation XPNobleRechargeView
@@ -69,18 +75,18 @@
} else { } else {
self.payType = RechargeDefaultPayType_ZFB; self.payType = RechargeDefaultPayType_ZFB;
} }
[self.tableView reloadData];
NSString * uid = [AccountInfoStorage instance].getUid; NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket; NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) { [Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) { if (code == 200) {
WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data]; WalletInfoModel * model = [WalletInfoModel modelWithDictionary:data.data];
if (model.diamonds.integerValue > self.chargeMoney.integerValue) { self.walletInfo = model;
if (model.diamonds.integerValue >= (self.chargeMoney.integerValue * 10)) {
self.payType = RechargeDefaultPayType_Coin; self.payType = RechargeDefaultPayType_Coin;
} }
[self.tableView reloadData];
} }
[self.tableView reloadData];
} uid:uid ticket:ticket]; } uid:uid ticket:ticket];
} channelType:@"1"]; } channelType:@"1"];
@@ -90,9 +96,12 @@
- (void)initSubViews { - (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor]; self.backgroundColor = [ThemeColor appCellBackgroundColor];
[self addSubview:self.titleLabel]; [self addSubview:self.titleLabel];
[self addSubview:self.moneyLabel]; [self addSubview:self.moneyStackView];
[self addSubview:self.tableView]; [self addSubview:self.tableView];
[self addSubview:self.payButton]; [self addSubview:self.payButton];
[self.moneyStackView addArrangedSubview:self.diamondImageView];
[self.moneyStackView addArrangedSubview:self.moneyLabel];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 416 + kSafeAreaBottomHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12, 12)]; UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, KScreenWidth, 416 + kSafeAreaBottomHeight) byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(12, 12)];
CAShapeLayer *maskLayer = [CAShapeLayer layer]; CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = path.CGPath; maskLayer.path = path.CGPath;
@@ -109,10 +118,17 @@
make.centerX.mas_equalTo(self.mas_centerX); make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(87); make.top.mas_equalTo(87);
}]; }];
[self.moneyLabel mas_makeConstraints:^(MASConstraintMaker *make) { [self.moneyStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.mas_centerX); make.centerX.mas_equalTo(self.mas_centerX);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(20); make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(20);
make.height.mas_equalTo(30);
}]; }];
[self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(20);
make.height.mas_equalTo(20);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10); make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10);
make.left.right.mas_equalTo(self); make.left.right.mas_equalTo(self);
@@ -137,13 +153,24 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPNobleRechargeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])]; XPNobleRechargeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])];
cell.delegate = self; cell.delegate = self;
cell.type = self.payType; cell.diamondNum = self.walletInfo.diamonds.floatValue;
if (self.payType > 0) {
cell.type = self.payType;
}
return cell; return cell;
} }
#pragma mark - XPNobleRechargeTableViewCell #pragma mark - XPNobleRechargeTableViewCell
- (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo { - (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)itemInfo {
self.currentItem = itemInfo; self.currentItem = itemInfo;
if (self.currentItem.type == RechargeType_Coin) {
self.diamondImageView.hidden = NO;
self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * _rate];
} else {
self.diamondImageView.hidden = YES;
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
} }
#pragma mark - Event Response #pragma mark - Event Response
@@ -230,6 +257,17 @@
} }
} }
- (void)setPayType:(RechargeDefaultPayType)payType {
_payType = payType;
if (_payType == RechargeDefaultPayType_Coin) {
self.diamondImageView.hidden = NO;
self.moneyLabel.text = [NSString stringWithFormat:@"%.0f", _chargeMoney.floatValue * 10];
} else {
self.diamondImageView.hidden = YES;
self.moneyLabel.text = [NSString stringWithFormat:@"¥%@", _chargeMoney];
}
}
- (UILabel *)titleLabel { - (UILabel *)titleLabel {
if (!_titleLabel) { if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init]; _titleLabel = [[UILabel alloc] init];
@@ -241,6 +279,27 @@
return _titleLabel; return _titleLabel;
} }
- (UIStackView *)moneyStackView {
if (!_moneyStackView) {
_moneyStackView = [[UIStackView alloc] init];
_moneyStackView.axis = UILayoutConstraintAxisHorizontal;
_moneyStackView.distribution = UIStackViewDistributionFill;
_moneyStackView.alignment = UIStackViewAlignmentCenter;
_moneyStackView.spacing = 2;
}
return _moneyStackView;
}
- (UIImageView *)diamondImageView {
if (!_diamondImageView) {
_diamondImageView = [[UIImageView alloc] init];
_diamondImageView.userInteractionEnabled = YES;
_diamondImageView.image = [UIImage imageNamed:@"common_diamond"];
_diamondImageView.hidden = YES;
}
return _diamondImageView;
}
- (UILabel *)moneyLabel { - (UILabel *)moneyLabel {
if (!_moneyLabel) { if (!_moneyLabel) {
_moneyLabel = [[UILabel alloc] init]; _moneyLabel = [[UILabel alloc] init];

View File

@@ -384,6 +384,7 @@
- (void)onOpenNobleButtonClick:(UITapGestureRecognizer *)button { - (void)onOpenNobleButtonClick:(UITapGestureRecognizer *)button {
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick]; [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventVipOpenClick];
XPNobleRechargeView * rechargetView =[[XPNobleRechargeView alloc] init]; XPNobleRechargeView * rechargetView =[[XPNobleRechargeView alloc] init];
rechargetView.rate = self.rechargeModel.rate;
rechargetView.chargeMoney = [NSString stringWithFormat:@"%.0f", self.rechargeModel.money]; rechargetView.chargeMoney = [NSString stringWithFormat:@"%.0f", self.rechargeModel.money];
rechargetView.chargeProdId = self.rechargeModel.chargeProdId; rechargetView.chargeProdId = self.rechargeModel.chargeProdId;
rechargetView.roomUid = [NSString stringWithFormat:@"%ld", self.roomUid]; rechargetView.roomUid = [NSString stringWithFormat:@"%ld", self.roomUid];