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

bug修复

parent 936c74ff
......@@ -10,8 +10,8 @@ import UIKit
class YHMemberCenterViewController: YHBaseViewController {
enum TableRow {
case currentPrivilege(_ curLevel: YHMembershipLevel, _ count: Int)
case myPrivilege(_ myLevel: YHMembershipLevel, _ count: Int, _ redeemCount: Int, _ redeemedCount: Int)
case currentPrivilege(_ curLevel: YHMembershipLevel, _ count: Int, _ isOverLevel: Bool)
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)
}
......@@ -160,10 +160,10 @@ class YHMemberCenterViewController: YHBaseViewController {
buttonStates.append(.redeemable)
}
}
let myLevel = YHMembershipLevel(rawValue: memberCenterInfo.currentLevel) ?? .normal
switch currentLevel {
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 ids: [String] = [memberCenterInfo.dedicatedAdviser.giftId, memberCenterInfo.specialIntegralConsumption.giftId, memberCenterInfo.luxuryTea.giftId, memberCenterInfo.offlineSalon.giftId, memberCenterInfo.answerConsult.giftId]
details = ["不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换", "不限次数兑换"]
......@@ -174,8 +174,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row)
}
case .gold:
datas.append(.currentPrivilege(.gold, 7))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount))
datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
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 ids: [String] = [memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
memberCenterInfo.luxuryTea.giftId,
......@@ -193,8 +193,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row)
}
case .platinum:
datas.append(.currentPrivilege(.platinum, 8))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount))
datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
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 ids: [String] = [memberCenterInfo.carTransfer.giftId,
memberCenterInfo.highTeaBox.giftId, memberCenterInfo.experienceCenter.giftId,
......@@ -214,8 +214,8 @@ class YHMemberCenterViewController: YHBaseViewController {
datas.append(row)
}
case .diamond:
datas.append(.currentPrivilege(.diamond, 13))
datas.append(.myPrivilege(.normal, 5, memberCenterInfo.exchangeCount, memberCenterInfo.exchangeCount))
datas.append(.currentPrivilege(currentLevel, currentLevel.privilegeCount, memberCenterInfo.currentLevel >= currentLevel.rawValue))
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 ids: [String] = [memberCenterInfo.highEndPrivilege.giftId,
memberCenterInfo.carTransfer.giftId,
......@@ -273,6 +273,7 @@ class YHMemberCenterViewController: YHBaseViewController {
}
@objc private func didShareButtonClicked() {
//YHAnalytics.track("APP_member_card_click")
let url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/vip/center"
YHShareManager.shared.sendLinkContent("分享会员中心", "", UIImage(named: "AppIcon") ?? UIImage(), link: url)
}
......@@ -381,14 +382,14 @@ extension YHMemberCenterViewController: UITableViewDelegate, UITableViewDataSour
}
let section = datas[indexPath.section]
switch section {
case let .currentPrivilege(level, count):
case let .currentPrivilege(level, count, isOverLevel):
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
}
case let .myPrivilege(_, count, redeemCount, redeemedCount):
case let .myPrivilege(_, count, redeemCount, redeemedCount, isShowBottom):
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
}
case let .action(title, detail, imageStr, ratio, buttonStr, buttonState, id, service):
......
......@@ -27,6 +27,20 @@ enum YHMembershipLevel: Int, CaseIterable {
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] {
......
......@@ -52,8 +52,22 @@ class YHMemberCenterCurrentPrivilegeCell: UITableViewCell {
fatalError("init(coder:) has not been implemented")
}
func setupCell(mid: String) {
func setupCell(mid: String, isOverLevel: Bool) {
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() {
......
......@@ -119,7 +119,7 @@ class YHMemberCenterHeaderView: UIView {
levelString = "当前等级"
upgradeTitle = "已达成"
tips = "距铂金会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)"
ratioString = "\(memberCenterInfo.growthValue)/\(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value
showProgress = true
......@@ -146,7 +146,7 @@ class YHMemberCenterHeaderView: UIView {
levelString = "当前等级"
upgradeTitle = "已达成"
tips = "距钻石会员还需\(countTo - memberCenterInfo.growthValue)成长值"
ratioString = "\(memberCenterInfo.growthValue)/(countTo)"
ratioString = "\(memberCenterInfo.growthValue)/\(countTo)"
let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value
showProgress = true
......
......@@ -72,9 +72,30 @@ class YHMemberCenterMyPrivilegeCell: YHResignDocumentCell {
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
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() {
......
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