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

This commit is contained in:
fengshuo
2022-10-30 23:13:08 +08:00
committed by chenshuanglin
parent 4f7a0b6341
commit 4b263646f2
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 isLastOne;
///副标题
@property (nonatomic,copy) NSString *subTitle;
@end
NS_ASSUME_NONNULL_END

View File

@@ -18,6 +18,8 @@
@property (nonatomic,strong) UIImageView *logoImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UILabel *subtitleLabel;
///
@property (nonatomic,strong) UIButton *chooseButton;
///线
@@ -40,6 +42,7 @@
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.logoImageView];
[self.contentView addSubview:self.titleLabel];
[self.contentView addSubview:self.subtitleLabel];
[self.contentView addSubview:self.chooseButton];
[self.contentView addSubview:self.lineView];
}
@@ -57,6 +60,11 @@
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) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.contentView);
@@ -78,6 +86,12 @@
_titleLabel.text = _rechargeTypeModel.title;
_chooseButton.selected = _rechargeTypeModel.isSelect;
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;
}
- (UILabel *)subtitleLabel {
if (!_subtitleLabel) {
_subtitleLabel = [[UILabel alloc] init];
_subtitleLabel.font = [UIFont systemFontOfSize:10];
_subtitleLabel.textColor = [ThemeColor secondTextColor];
_subtitleLabel.hidden = YES;
}
return _subtitleLabel;
}
- (UIButton *)chooseButton {
if (!_chooseButton) {
_chooseButton = [UIButton buttonWithType:UIButtonTypeCustom];

View File

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

View File

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

View File

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

View File

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

View File

@@ -34,6 +34,10 @@
@interface XPNobleRechargeView ()<UITableViewDelegate, UITableViewDataSource, XPNobleRechargeTableViewCellDelegate>
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIStackView *moneyStackView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
///
@property (nonatomic,strong) UILabel *moneyLabel;
///
@@ -46,6 +50,8 @@
@property (nonatomic,assign) RechargeDefaultPayType payType;
///
@property (nonatomic,strong) EnterPrieseRechargeTypeItemModel *currentItem;
///
@property (nonatomic,strong) WalletInfoModel *walletInfo;
@end
@implementation XPNobleRechargeView
@@ -69,18 +75,18 @@
} else {
self.payType = RechargeDefaultPayType_ZFB;
}
[self.tableView reloadData];
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * ticket = [AccountInfoStorage instance].getTicket;
[Api getUserWalletInfo:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
if (code == 200) {
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.tableView reloadData];
}
[self.tableView reloadData];
} uid:uid ticket:ticket];
} channelType:@"1"];
@@ -90,9 +96,12 @@
- (void)initSubViews {
self.backgroundColor = [ThemeColor appCellBackgroundColor];
[self addSubview:self.titleLabel];
[self addSubview:self.moneyLabel];
[self addSubview:self.moneyStackView];
[self addSubview:self.tableView];
[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)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = path.CGPath;
@@ -109,10 +118,17 @@
make.centerX.mas_equalTo(self.mas_centerX);
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.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) {
make.top.mas_equalTo(self.moneyLabel.mas_bottom).offset(10);
make.left.right.mas_equalTo(self);
@@ -137,13 +153,24 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPNobleRechargeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNobleRechargeTableViewCell class])];
cell.delegate = self;
cell.diamondNum = self.walletInfo.diamonds.floatValue;
if (self.payType > 0) {
cell.type = self.payType;
}
return cell;
}
#pragma mark - XPNobleRechargeTableViewCell
- (void)xPNobleRechargeTableViewCell:(XPNobleRechargeTableViewCell *)view didChooseItem:(EnterPrieseRechargeTypeItemModel *)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
@@ -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 {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
@@ -241,6 +279,27 @@
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 {
if (!_moneyLabel) {
_moneyLabel = [[UILabel alloc] init];

View File

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