Commit 2bec3274 authored by Alex朱枝文's avatar Alex朱枝文

bug修复

parent 936c74ff
...@@ -10,8 +10,8 @@ import UIKit ...@@ -10,8 +10,8 @@ import UIKit
class YHMemberCenterViewController: YHBaseViewController { class YHMemberCenterViewController: YHBaseViewController {
enum TableRow { enum TableRow {
case currentPrivilege(_ curLevel: YHMembershipLevel, _ count: Int) case currentPrivilege(_ curLevel: YHMembershipLevel, _ count: Int, _ isOverLevel: Bool)
case myPrivilege(_ myLevel: YHMembershipLevel, _ count: Int, _ redeemCount: Int, _ redeemedCount: Int) case myPrivilege(_ myLevel: YHMembershipLevel, _ count: Int, _ redeemCount: Int, _ redeemedCount: Int, _ needShowBottom: Bool)
case action(_ title: String, _ detail: String, _ imageStr: String, _ ratio: CGFloat, _ buttonStr: String, _ buttonState: YHMemberCenterActionButton.ButtonState, _ id: String, _ contentType: YHMemberCenterCellContent) case action(_ title: String, _ detail: String, _ imageStr: String, _ ratio: CGFloat, _ buttonStr: String, _ buttonState: YHMemberCenterActionButton.ButtonState, _ id: String, _ contentType: YHMemberCenterCellContent)
} }
...@@ -160,10 +160,10 @@ class YHMemberCenterViewController: YHBaseViewController { ...@@ -160,10 +160,10 @@ class YHMemberCenterViewController: YHBaseViewController {
buttonStates.append(.redeemable) buttonStates.append(.redeemable)
} }
} }
let myLevel = YHMembershipLevel(rawValue: memberCenterInfo.currentLevel) ?? .normal
switch currentLevel { switch currentLevel {
case .normal: case .normal:
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount)) datas.append(.myPrivilege(myLevel, myLevel.privilegeCount, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount, memberCenterInfo.currentLevel > YHMembershipLevel.normal.rawValue))
let services: [YHMemberCenterCellContent] = [.customerService, .pointsConsumption, .afternoonTea, .offlineSalons, .onSiteConsultation] let services: [YHMemberCenterCellContent] = [.customerService, .pointsConsumption, .afternoonTea, .offlineSalons, .onSiteConsultation]
let ids: [String] = [memberCenterInfo.dedicatedAdviser.giftId, memberCenterInfo.specialIntegralConsumption.giftId, memberCenterInfo.luxuryTea.giftId, memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId] let ids: [String] = [memberCenterInfo.dedicatedAdviser.giftId, memberCenterInfo.specialIntegralConsumption.giftId, memberCenterInfo.luxuryTea.giftId, memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId]
details = ["不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"] details = ["不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"]
...@@ -174,8 +174,8 @@ class YHMemberCenterViewController: YHBaseViewController { ...@@ -174,8 +174,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row) datas.append(row)
} }
case .gold: case .gold:
datas.append(.currentPrivilege(.gold, 7)) datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount)) datas.append(.myPrivilege(myLevel, myLevel.privilegeCount, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount, memberCenterInfo.currentLevel > YHMembershipLevel.normal.rawValue))
let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption] let services: [YHMemberCenterCellContent] = [.kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId, let ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
memberCenterInfo.luxuryTea.giftId, memberCenterInfo.luxuryTea.giftId,
...@@ -193,8 +193,8 @@ class YHMemberCenterViewController: YHBaseViewController { ...@@ -193,8 +193,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row) datas.append(row)
} }
case .platinum: case .platinum:
datas.append(.currentPrivilege(.platinum, 8)) datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount)) datas.append(.myPrivilege(myLevel, myLevel.privilegeCount, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount, memberCenterInfo.currentLevel > YHMembershipLevel.normal.rawValue))
let services: [YHMemberCenterCellContent] = [.crossBorder, .kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption] let services: [YHMemberCenterCellContent] = [.crossBorder, .kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.carTransfer.giftId, let ids: [String] = [memberCenterInfo.carTransfer.giftId,
memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId, memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
...@@ -214,8 +214,8 @@ class YHMemberCenterViewController: YHBaseViewController { ...@@ -214,8 +214,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row) datas.append(row)
} }
case .diamond: case .diamond:
datas.append(.currentPrivilege(.diamond, 13)) datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount)) datas.append(.myPrivilege(myLevel, myLevel.privilegeCount, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount, memberCenterInfo.currentLevel > YHMembershipLevel.normal.rawValue))
let services: [YHMemberCenterCellContent] = [.highEndMeeting, .crossBorder, .hkTravel,.drivingLicense, .schoolSelection, .brandPlanning, .kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption] let services: [YHMemberCenterCellContent] = [.highEndMeeting, .crossBorder, .hkTravel,.drivingLicense, .schoolSelection, .brandPlanning, .kidsBay, .luxury, .afternoonTea, .offlineSalons, .onSiteConsultation, .customerService, .pointsConsumption]
let ids: [String] = [memberCenterInfo.highEndPrivilege.giftId, let ids: [String] = [memberCenterInfo.highEndPrivilege.giftId,
memberCenterInfo.carTransfer.giftId, memberCenterInfo.carTransfer.giftId,
...@@ -273,6 +273,7 @@ class YHMemberCenterViewController: YHBaseViewController { ...@@ -273,6 +273,7 @@ class YHMemberCenterViewController: YHBaseViewController {
} }
@objc private func didShareButtonClicked() { @objc private func didShareButtonClicked() {
//YHAnalytics.track("APP_member_card_click")
let url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/center" let url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/center"
YHShareManager.shared.sendLinkContent("分享会员中心", "", UIImage(named: "AppIcon") ?? UIImage(), link: url) YHShareManager.shared.sendLinkContent("分享会员中心", "", UIImage(named: "AppIcon") ?? UIImage(), link: url)
} }
...@@ -381,14 +382,14 @@ extension YHMemberCenterViewController: UITableViewDelegate, UITableViewDataSour ...@@ -381,14 +382,14 @@ extension YHMemberCenterViewController: UITableViewDelegate, UITableViewDataSour
} }
let section = datas[indexPath.section] let section = datas[indexPath.section]
switch section { switch section {
case let .currentPrivilege(level, count): case let .currentPrivilege(level, count, isOverLevel):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHMemberCenterCurrentPrivilegeCell.cellReuseIdentifier) as? YHMemberCenterCurrentPrivilegeCell { if let cell = tableView.dequeueReusableCell(withIdentifier: YHMemberCenterCurrentPrivilegeCell.cellReuseIdentifier) as? YHMemberCenterCurrentPrivilegeCell {
cell.setupCell(mid: "\(level.description)拥有特权\(count)项") cell.setupCell(mid: "\(level.description)拥有特权\(count)项", isOverLevel: isOverLevel)
return cell return cell
} }
case let .myPrivilege(_, count, redeemCount, redeemedCount): case let .myPrivilege(_, count, redeemCount, redeemedCount, isShowBottom):
if let cell = tableView.dequeueReusableCell(withIdentifier: YHMemberCenterMyPrivilegeCell.cellReuseIdentifier) as? YHMemberCenterMyPrivilegeCell { if let cell = tableView.dequeueReusableCell(withIdentifier: YHMemberCenterMyPrivilegeCell.cellReuseIdentifier) as? YHMemberCenterMyPrivilegeCell {
cell.setupCell(right: "\(count)项", redeemCount: redeemCount, redeemedCount: redeemedCount) cell.setupCell(right: "\(count)项", redeemCount: redeemCount, redeemedCount: redeemedCount, needShowBottom: isShowBottom)
return cell return cell
} }
case let .action(title, detail, imageStr, ratio, buttonStr, buttonState, id, service): case let .action(title, detail, imageStr, ratio, buttonStr, buttonState, id, service):
......
...@@ -27,6 +27,20 @@ enum YHMembershipLevel: Int, CaseIterable { ...@@ -27,6 +27,20 @@ enum YHMembershipLevel: Int, CaseIterable {
return "钻石会员" return "钻石会员"
} }
} }
// 可以添加其他属性或方法
var privilegeCount: Int {
switch self {
case .normal:
return 5
case .gold:
return 7
case .platinum:
return 8
case .diamond:
return 13
}
}
// 示例:获取会员等级对应的权益 // 示例:获取会员等级对应的权益
func benefits() -> [String] { func benefits() -> [String] {
......
...@@ -52,8 +52,22 @@ class YHMemberCenterCurrentPrivilegeCell: UITableViewCell { ...@@ -52,8 +52,22 @@ class YHMemberCenterCurrentPrivilegeCell: UITableViewCell {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
func setupCell(mid: String) { func setupCell(mid: String, isOverLevel: Bool) {
midLabel.text = mid midLabel.text = mid
leftIcon.isHidden = isOverLevel
if isOverLevel {
leftLineView.snp.remakeConstraints { make in
make.right.equalTo(midLabel.snp.left).offset(-8)
make.height.equalTo(1)
make.left.equalToSuperview().offset(25)
}
} else {
leftLineView.snp.remakeConstraints { make in
make.right.equalTo(leftIcon.snp.left).offset(-8)
make.height.equalTo(1)
make.left.equalToSuperview().offset(25)
}
}
} }
private func setupUI() { private func setupUI() {
......
...@@ -119,7 +119,7 @@ class YHMemberCenterHeaderView: UIView { ...@@ -119,7 +119,7 @@ class YHMemberCenterHeaderView: UIView {
levelString = "当前等级" levelString = "当前等级"
upgradeTitle = "已达成" upgradeTitle = "已达成"
tips = "距铂金会员还需\(countTo - memberCenterInfo.growthValue)成长值" tips = "距铂金会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)" ratioString = "\(memberCenterInfo.growthValue)/\(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1) let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value ratio = value < 0 ? 0 : value
showProgress = true showProgress = true
...@@ -146,7 +146,7 @@ class YHMemberCenterHeaderView: UIView { ...@@ -146,7 +146,7 @@ class YHMemberCenterHeaderView: UIView {
levelString = "当前等级" levelString = "当前等级"
upgradeTitle = "已达成" upgradeTitle = "已达成"
tips = "距钻石会员还需\(countTo - memberCenterInfo.growthValue)成长值" tips = "距钻石会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)" ratioString = "\(memberCenterInfo.growthValue)/\(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1) let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value ratio = value < 0 ? 0 : value
showProgress = true showProgress = true
......
...@@ -72,9 +72,30 @@ class YHMemberCenterMyPrivilegeCell: YHResignDocumentCell { ...@@ -72,9 +72,30 @@ class YHMemberCenterMyPrivilegeCell: YHResignDocumentCell {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
func setupCell(right: String, redeemCount: Int, redeemedCount: Int) { func setupCell(right: String, redeemCount: Int, redeemedCount: Int, needShowBottom: Bool) {
rightLabel.text = right rightLabel.text = right
privilegeTipsLabel.text = "可兑换次数: \(redeemCount),已兑换次数: \(redeemedCount)" bottomContainerView.isHidden = !needShowBottom
if needShowBottom {
privilegeLabel.text = "高端权益兑换"
privilegeTipsLabel.text = "可兑换次数: \(redeemCount),已兑换次数: \(redeemedCount)"
bottomContainerView.snp.remakeConstraints { make in
make.top.equalTo(midLabel.snp.bottom).offset(17)
make.left.equalTo(leftIcon)
make.right.equalTo(rightIcon)
make.bottom.equalToSuperview().offset(-17)
make.height.equalTo(41)
}
} else {
privilegeLabel.text = nil
privilegeTipsLabel.text = nil
bottomContainerView.snp.remakeConstraints { make in
make.top.equalTo(midLabel.snp.bottom)
make.left.equalTo(leftIcon)
make.right.equalTo(rightIcon)
make.bottom.equalToSuperview().offset(-17)
make.height.equalTo(0)
}
}
} }
private func setupUI() { private func setupUI() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment