1.0.5提审

This commit is contained in:
澜声世纪 2026-01-04 09:12:50 +08:00
parent 2a38e6ff33
commit 44a80c5f1e
5 changed files with 89 additions and 30 deletions

View File

@ -3089,7 +3089,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.4; MARKETING_VERSION = 1.0.5;
PRODUCT_BUNDLE_IDENTIFIER = com.lssj.ReaderHive; PRODUCT_BUNDLE_IDENTIFIER = com.lssj.ReaderHive;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -3134,7 +3134,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.4; MARKETING_VERSION = 1.0.5;
PRODUCT_BUNDLE_IDENTIFIER = com.lssj.ReaderHive; PRODUCT_BUNDLE_IDENTIFIER = com.lssj.ReaderHive;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -35,6 +35,8 @@ class NRHomeCoinsPackButton: UIControl {
label.textStartPoint = .init(x: 0, y: 0.5) label.textStartPoint = .init(x: 0, y: 0.5)
label.textEndPoint = .init(x: 1, y: 0.5) label.textEndPoint = .init(x: 1, y: 0.5)
label.text = "Daily Coins".localized label.text = "Daily Coins".localized
label.setContentHuggingPriority(.required, for: .horizontal)
label.setContentCompressionResistancePriority(.required, for: .horizontal)
return label return label
}() }()
@ -73,7 +75,7 @@ extension NRHomeCoinsPackButton {
make.top.equalToSuperview().offset(2) make.top.equalToSuperview().offset(2)
make.center.equalToSuperview() make.center.equalToSuperview()
make.height.equalTo(24) make.height.equalTo(24)
make.width.equalTo(84) // make.width.equalTo(84)
} }
textLabel.snp.makeConstraints { make in textLabel.snp.makeConstraints { make in

View File

@ -59,23 +59,21 @@ class NRDetailRechargeView: NRPanModalContentView {
} }
} }
var price: Int? {
didSet {
priceLabel.text = "\(price ?? 0)"
}
}
private lazy var bgView: UIView = { private lazy var bgView: UIView = {
let view = UIImageView(image: UIImage(named: "bg_image_01")) let view = UIImageView(image: UIImage(named: "bg_image_01"))
return view return view
}() }()
private lazy var coinsBgView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 12
view.layer.masksToBounds = true
return view
}()
private lazy var coinsTitleLabel: UILabel = { private lazy var coinsTitleLabel: UILabel = {
let label = UILabel() let label = UILabel()
label.font = .font(ofSize: 14, weight: .regular) label.font = .font(ofSize: 12, weight: .regular)
label.textColor = .black label.textColor = .black
label.text = "Balance".localized + ":" label.text = "Balance".localized + ":"
return label return label
@ -107,6 +105,36 @@ class NRDetailRechargeView: NRPanModalContentView {
return button return button
}() }()
private lazy var priceTitleLabel: UILabel = {
let label = UILabel()
label.font = .font(ofSize: 12, weight: .regular)
label.textColor = .black
label.text = "Chapter Price".localized + ":"
return label
}()
private lazy var priceIconView: UIImageView = UIImageView(image: UIImage(named: "coins_icon_04"))
private lazy var priceLabel: UILabel = {
let label = UILabel()
label.font = .font(ofSize: 14, weight: .bold)
label.textColor = .F_9710_D
label.text = "0"
return label
}()
private lazy var coinsLineView: UIView = {
let view = UIView()
view.backgroundColor = .black.withAlphaComponent(0.15)
return view
}()
private lazy var lineView: UIView = {
let view = UIView()
view.backgroundColor = .black.withAlphaComponent(0.15)
return view
}()
private lazy var scrollView: NRScrollView = { private lazy var scrollView: NRScrollView = {
let scrollView = NRScrollView() let scrollView = NRScrollView()
return scrollView return scrollView
@ -179,11 +207,15 @@ extension NRDetailRechargeView {
private func nr_setupUI() { private func nr_setupUI() {
addSubview(bgView) addSubview(bgView)
addSubview(coinsBgView) addSubview(coinsTitleLabel)
coinsBgView.addSubview(coinsTitleLabel) addSubview(coinsIconView)
coinsBgView.addSubview(coinsIconView) addSubview(coinsLabel)
coinsBgView.addSubview(coinsLabel) addSubview(coinsLineView)
addSubview(priceTitleLabel)
addSubview(priceIconView)
addSubview(priceLabel)
addSubview(closeButton) addSubview(closeButton)
addSubview(lineView)
addSubview(scrollView) addSubview(scrollView)
scrollView.addSubview(stackView) scrollView.addSubview(stackView)
@ -191,37 +223,60 @@ extension NRDetailRechargeView {
make.left.right.top.equalToSuperview() make.left.right.top.equalToSuperview()
} }
coinsBgView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.top.equalToSuperview().offset(16)
make.height.equalTo(24)
}
coinsTitleLabel.snp.makeConstraints { make in coinsTitleLabel.snp.makeConstraints { make in
make.centerY.equalToSuperview() make.centerY.equalTo(closeButton)
make.left.equalToSuperview().offset(12) make.left.equalToSuperview().offset(16)
} }
coinsIconView.snp.makeConstraints { make in coinsIconView.snp.makeConstraints { make in
make.centerY.equalToSuperview() make.centerY.equalTo(closeButton)
make.left.equalTo(coinsTitleLabel.snp.right).offset(8) make.left.equalTo(coinsTitleLabel.snp.right).offset(4)
} }
coinsLabel.snp.makeConstraints { make in coinsLabel.snp.makeConstraints { make in
make.centerY.equalToSuperview() make.centerY.equalTo(closeButton)
make.left.equalTo(coinsIconView.snp.right).offset(4) make.left.equalTo(coinsIconView.snp.right).offset(4)
make.right.equalToSuperview().offset(-12) }
coinsLineView.snp.makeConstraints { make in
make.centerY.equalTo(closeButton)
make.left.equalTo(coinsLabel.snp.right).offset(8)
make.width.equalTo(1)
make.height.equalTo(12)
}
priceTitleLabel.snp.makeConstraints { make in
make.centerY.equalTo(closeButton)
make.left.equalTo(coinsLineView.snp.right).offset(8)
}
priceIconView.snp.makeConstraints { make in
make.centerY.equalTo(closeButton)
make.left.equalTo(priceTitleLabel.snp.right).offset(4)
}
priceLabel.snp.makeConstraints { make in
make.centerY.equalTo(closeButton)
make.left.equalTo(priceIconView.snp.right).offset(4)
} }
closeButton.snp.makeConstraints { make in closeButton.snp.makeConstraints { make in
make.centerY.equalTo(coinsBgView) make.top.equalToSuperview().offset(6)
make.right.equalToSuperview().offset(-6) make.right.equalToSuperview().offset(-6)
make.width.height.equalTo(44) make.width.height.equalTo(44)
} }
lineView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(52)
make.height.equalTo(1)
}
scrollView.snp.makeConstraints { make in scrollView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(52) // make.top.equalToSuperview().offset(52)
make.top.equalTo(lineView.snp.bottom).offset(12)
} }
stackView.snp.makeConstraints { make in stackView.snp.makeConstraints { make in

View File

@ -191,6 +191,7 @@ extension NRNovelReadViewModel {
]) ])
let view = NRDetailRechargeView() let view = NRDetailRechargeView()
view.price = catalogModel.coins
view.payModel = payModel view.payModel = payModel
view.worksId = self.novelId view.worksId = self.novelId
view.chapterId = catalogModel.id view.chapterId = catalogModel.id

View File

@ -153,6 +153,7 @@
"Later" = "Later"; "Later" = "Later";
"Default" = "Default"; "Default" = "Default";
"Log in" = "Log in"; "Log in" = "Log in";
"Chapter Price" = "Chapter Price";
"retain_alert_text" = "Unlock every show you love!"; "retain_alert_text" = "Unlock every show you love!";
"logout_alert_text" = "Are you sure you want to log out?"; "logout_alert_text" = "Are you sure you want to log out?";