Commit 963f1668 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

# Conflicts:
#	galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHVipLevelRightViewController.swift
parents 5546c8eb 902e7d05
...@@ -74,6 +74,7 @@ ...@@ -74,6 +74,7 @@
043671412D64935200E8D9BA /* YHMemberCenterCellContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */; }; 043671412D64935200E8D9BA /* YHMemberCenterCellContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */; };
043671432D66DDB500E8D9BA /* YHMemberCenterInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */; }; 043671432D66DDB500E8D9BA /* YHMemberCenterInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */; };
043671452D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */; }; 043671452D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */; };
043671472D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */; };
045C0F7F2D12CA5F00BD2DC0 /* submit_page_scroll.gif in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F4F2D12CA5E00BD2DC0 /* submit_page_scroll.gif */; }; 045C0F7F2D12CA5F00BD2DC0 /* submit_page_scroll.gif in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F4F2D12CA5E00BD2DC0 /* submit_page_scroll.gif */; };
045C0F802D12CA5F00BD2DC0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F762D12CA5E00BD2DC0 /* Localizable.xcstrings */; }; 045C0F802D12CA5F00BD2DC0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F762D12CA5E00BD2DC0 /* Localizable.xcstrings */; };
045C0F812D12CA5F00BD2DC0 /* img_0.png in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F5E2D12CA5E00BD2DC0 /* img_0.png */; }; 045C0F812D12CA5F00BD2DC0 /* img_0.png in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F5E2D12CA5E00BD2DC0 /* img_0.png */; };
...@@ -1205,7 +1206,6 @@ ...@@ -1205,7 +1206,6 @@
04AFEF492D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF482D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift */; }; 04AFEF492D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF482D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift */; };
04AFEF4B2D5DF3710007A011 /* YHMyUserInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */; }; 04AFEF4B2D5DF3710007A011 /* YHMyUserInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */; };
04AFEF4D2D5EEF860007A011 /* YHUserVipInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */; }; 04AFEF4D2D5EEF860007A011 /* YHUserVipInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */; };
04AFEF4F2D684EEC0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4E2D684EEC0007A011 /* YHVipLevelRightViewController.swift */; };
04AFEF512D6878030007A011 /* YHVipLevelRightInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */; }; 04AFEF512D6878030007A011 /* YHVipLevelRightInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */; };
04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */; }; 04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */; };
04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */; }; 04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */; };
...@@ -1318,6 +1318,7 @@ ...@@ -1318,6 +1318,7 @@
043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterCellContent.swift; sourceTree = "<group>"; }; 043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterCellContent.swift; sourceTree = "<group>"; };
043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterInfo.swift; sourceTree = "<group>"; }; 043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterInfo.swift; sourceTree = "<group>"; };
043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterViewModel.swift; sourceTree = "<group>"; }; 043671442D66FBEE00E8D9BA /* YHMemberCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMemberCenterViewModel.swift; sourceTree = "<group>"; };
043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMembershipGrowthGuideView.swift; sourceTree = "<group>"; };
045C0A142D12CA5E00BD2DC0 /* YHBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; }; 045C0A142D12CA5E00BD2DC0 /* YHBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; };
045C0A152D12CA5E00BD2DC0 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; }; 045C0A152D12CA5E00BD2DC0 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; };
045C0A162D12CA5E00BD2DC0 /* YHNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNavigationController.swift; sourceTree = "<group>"; }; 045C0A162D12CA5E00BD2DC0 /* YHNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHNavigationController.swift; sourceTree = "<group>"; };
...@@ -2452,7 +2453,6 @@ ...@@ -2452,7 +2453,6 @@
04AFEF482D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFunctionGroupItem2Cell.swift; sourceTree = "<group>"; }; 04AFEF482D5DDE180007A011 /* YHMyFunctionGroupItem2Cell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFunctionGroupItem2Cell.swift; sourceTree = "<group>"; };
04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyUserInfoView.swift; sourceTree = "<group>"; }; 04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyUserInfoView.swift; sourceTree = "<group>"; };
04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserVipInfoView.swift; sourceTree = "<group>"; }; 04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserVipInfoView.swift; sourceTree = "<group>"; };
04AFEF4E2D684EEC0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; };
04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoCell.swift; sourceTree = "<group>"; }; 04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoCell.swift; sourceTree = "<group>"; };
04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoModel.swift; sourceTree = "<group>"; }; 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoModel.swift; sourceTree = "<group>"; };
04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightTitleCell.swift; sourceTree = "<group>"; }; 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightTitleCell.swift; sourceTree = "<group>"; };
...@@ -5738,7 +5738,6 @@ ...@@ -5738,7 +5738,6 @@
045C0EDF2D12CA5E00BD2DC0 /* YHTestViewController.swift */, 045C0EDF2D12CA5E00BD2DC0 /* YHTestViewController.swift */,
045C0EE02D12CA5E00BD2DC0 /* YHVideoPlaySettingVC.swift */, 045C0EE02D12CA5E00BD2DC0 /* YHVideoPlaySettingVC.swift */,
048D6ADA2D5E00DE00BC6F4C /* YHMemberCenterViewController.swift */, 048D6ADA2D5E00DE00BC6F4C /* YHMemberCenterViewController.swift */,
04AFEF4E2D684EEC0007A011 /* YHVipLevelRightViewController.swift */,
); );
path = C; path = C;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -5821,6 +5820,7 @@ ...@@ -5821,6 +5820,7 @@
04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */, 04AFEF4A2D5DF3710007A011 /* YHMyUserInfoView.swift */,
04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */, 04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */,
048D6ADC2D5EF0A900BC6F4C /* YHMemberCenterHeaderView.swift */, 048D6ADC2D5EF0A900BC6F4C /* YHMemberCenterHeaderView.swift */,
043671462D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift */,
048D6ADE2D5F0FBE00BC6F4C /* YHMemberCenterHeaderBannerCell.swift */, 048D6ADE2D5F0FBE00BC6F4C /* YHMemberCenterHeaderBannerCell.swift */,
048D6AE22D6348EF00BC6F4C /* YHMemberCenterCurrentPrivilegeCell.swift */, 048D6AE22D6348EF00BC6F4C /* YHMemberCenterCurrentPrivilegeCell.swift */,
0436713A2D643A7A00E8D9BA /* YHMemberCenterMyPrivilegeCell.swift */, 0436713A2D643A7A00E8D9BA /* YHMemberCenterMyPrivilegeCell.swift */,
...@@ -7351,7 +7351,6 @@ ...@@ -7351,7 +7351,6 @@
045C11572D12CA5F00BD2DC0 /* YHCountryHotView.swift in Sources */, 045C11572D12CA5F00BD2DC0 /* YHCountryHotView.swift in Sources */,
048D6ADB2D5E00DE00BC6F4C /* YHMemberCenterViewController.swift in Sources */, 048D6ADB2D5E00DE00BC6F4C /* YHMemberCenterViewController.swift in Sources */,
045C11582D12CA5F00BD2DC0 /* YHPreviewBaseViewController.swift in Sources */, 045C11582D12CA5F00BD2DC0 /* YHPreviewBaseViewController.swift in Sources */,
04AFEF4F2D684EEC0007A011 /* YHVipLevelRightViewController.swift in Sources */,
045C11592D12CA5F00BD2DC0 /* YHAITextMessageCell.swift in Sources */, 045C11592D12CA5F00BD2DC0 /* YHAITextMessageCell.swift in Sources */,
04307BB02D215D1C00ED8E8D /* YHRecommendedLiveHeader.swift in Sources */, 04307BB02D215D1C00ED8E8D /* YHRecommendedLiveHeader.swift in Sources */,
048D6ADF2D5F0FBE00BC6F4C /* YHMemberCenterHeaderBannerCell.swift in Sources */, 048D6ADF2D5F0FBE00BC6F4C /* YHMemberCenterHeaderBannerCell.swift in Sources */,
...@@ -7536,6 +7535,7 @@ ...@@ -7536,6 +7535,7 @@
045C11FC2D12CA5F00BD2DC0 /* YHHKPlaceInfoCell.swift in Sources */, 045C11FC2D12CA5F00BD2DC0 /* YHHKPlaceInfoCell.swift in Sources */,
045C11FD2D12CA5F00BD2DC0 /* YHIncomeRecordUtilType.swift in Sources */, 045C11FD2D12CA5F00BD2DC0 /* YHIncomeRecordUtilType.swift in Sources */,
045C11FE2D12CA5F00BD2DC0 /* YHVideoPlayerControlView.swift in Sources */, 045C11FE2D12CA5F00BD2DC0 /* YHVideoPlayerControlView.swift in Sources */,
043671472D6C3ED100E8D9BA /* YHMembershipGrowthGuideView.swift in Sources */,
045C11FF2D12CA5F00BD2DC0 /* YHResignCertificateModel.swift in Sources */, 045C11FF2D12CA5F00BD2DC0 /* YHResignCertificateModel.swift in Sources */,
045C12002D12CA5F00BD2DC0 /* YHPrincipleApprovedAlertView.swift in Sources */, 045C12002D12CA5F00BD2DC0 /* YHPrincipleApprovedAlertView.swift in Sources */,
045C12012D12CA5F00BD2DC0 /* YHSchemeTableHeadView.swift in Sources */, 045C12012D12CA5F00BD2DC0 /* YHSchemeTableHeadView.swift in Sources */,
......
...@@ -164,7 +164,7 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV ...@@ -164,7 +164,7 @@ extension YHAIServiceListViewController: UICollectionViewDelegate, UICollectionV
} else if model.businessType == YHAIRobotType.sale.rawValue { } else if model.businessType == YHAIRobotType.sale.rawValue {
YHAnalytics.track("APP_GuiHuaShi") YHAnalytics.track("APP_GuiHuaShi")
} else if model.businessType == YHAIRobotType.business.rawValue { } else if model.businessType == YHAIRobotType.business.rawValue {
YHAnalytics.track("APP_Gangxiaobao_Galaxy_Business_Planner") // YHAnalytics.track("APP_Gangxiaobao_Galaxy_Business_Planner")
} }
self.manager.getSubRobotChatConversationId(listItemId: "\(model.id)") { self.manager.getSubRobotChatConversationId(listItemId: "\(model.id)") {
......
...@@ -10,6 +10,11 @@ import FSPagerView ...@@ -10,6 +10,11 @@ import FSPagerView
import UIKit import UIKit
class YHMemberCenterHeaderBannerCell: FSPagerViewCell { class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
var upgradeButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
var levelButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
private var level: YHMembershipLevel = .normal
private lazy var bannerImagV: UIImageView = { private lazy var bannerImagV: UIImageView = {
let imagV: UIImageView = UIImageView() let imagV: UIImageView = UIImageView()
imagV.contentMode = .scaleAspectFit imagV.contentMode = .scaleAspectFit
...@@ -28,6 +33,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell { ...@@ -28,6 +33,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
private lazy var levelButton: UIButton = { private lazy var levelButton: UIButton = {
let button = UIButton(type: .custom) let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_R(ofSize: 13) button.titleLabel?.font = UIFont.PFSC_R(ofSize: 13)
button.addTarget(self, action: #selector(levelButtonClicked), for: .touchUpInside)
return button return button
}() }()
...@@ -36,6 +42,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell { ...@@ -36,6 +42,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12) button.titleLabel?.font = UIFont.PFSC_M(ofSize: 12)
button.clipsToBounds = true button.clipsToBounds = true
button.layer.cornerRadius = 17 button.layer.cornerRadius = 17
button.addTarget(self, action: #selector(upgradeButtonClicked), for: .touchUpInside)
return button return button
}() }()
...@@ -133,11 +140,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell { ...@@ -133,11 +140,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
} }
func setupData(level: YHMembershipLevel, levelString: String, tips: String, upgradeTitle: String, showProgress: Bool, ratioString: String, ratio: CGFloat, showRatio: Bool, showTips: Bool) { func setupData(level: YHMembershipLevel, levelString: String, tips: String, upgradeTitle: String, showProgress: Bool, ratioString: String, ratio: CGFloat, showRatio: Bool, showTips: Bool) {
self.level = level
bannerImagV.image = UIImage(named: level.cardIconTitle()) bannerImagV.image = UIImage(named: level.cardIconTitle())
bannerTitleLabel.text = level.description bannerTitleLabel.text = level.description
bannerTitleLabel.textColor = level.levelTitleColor() bannerTitleLabel.textColor = level.levelTitleColor()
levelButton.setTitleColor(level.levelButtonTitleColor(), for: .normal) levelButton.setTitleColor(level.levelButtonTitleColor(), for: .normal)
levelButton.setTitle(levelString, for: .normal) levelButton.setTitle(levelString, for: .normal)
levelButton.setImage(UIImage(named: level.levelButtonImageTitle()), for: .normal)
levelButton.iconInRight(with: 0)
countLabel.textColor = level.countTitleColor() countLabel.textColor = level.countTitleColor()
countLabel.text = ratioString countLabel.text = ratioString
countLabel.isHidden = !showRatio countLabel.isHidden = !showRatio
...@@ -165,6 +175,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell { ...@@ -165,6 +175,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
} }
} }
} }
@objc private func upgradeButtonClicked() {
upgradeButtonEvent?(level)
}
@objc private func levelButtonClicked() {
levelButtonEvent?(level)
}
} }
fileprivate extension YHMembershipLevel { fileprivate extension YHMembershipLevel {
...@@ -219,6 +237,15 @@ fileprivate extension YHMembershipLevel { ...@@ -219,6 +237,15 @@ fileprivate extension YHMembershipLevel {
return UIColor(hexString: "#E0C9AF80")?.withAlphaComponent(0.5) return UIColor(hexString: "#E0C9AF80")?.withAlphaComponent(0.5)
} }
} }
func levelButtonImageTitle() -> String {
switch self {
case .normal, .gold, .platinum:
return "arrow_right_white_16"
case .diamond:
return "arrow_right_gold_16"
}
}
func countTitleColor() -> UIColor? { func countTitleColor() -> UIColor? {
switch self { switch self {
......
...@@ -53,6 +53,8 @@ class YHMemberCenterHeaderView: UIView { ...@@ -53,6 +53,8 @@ class YHMemberCenterHeaderView: UIView {
} }
var scrollToIndexEvent: ((YHMembershipLevel) -> Void)? var scrollToIndexEvent: ((YHMembershipLevel) -> Void)?
var upgradeButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
var levelButtonEvent: ((_ level: YHMembershipLevel) -> Void)?
private lazy var bannerView: FSPagerView = { private lazy var bannerView: FSPagerView = {
let view = FSPagerView() let view = FSPagerView()
...@@ -103,8 +105,8 @@ class YHMemberCenterHeaderView: UIView { ...@@ -103,8 +105,8 @@ class YHMemberCenterHeaderView: UIView {
showTips = false showTips = false
} }
case .gold: case .gold:
countFrom = 0 countFrom = 1
countTo = 60000 countTo = 6001
if memberCenterInfo.currentLevel < level.rawValue { if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级" levelString = "您未达到该等级"
upgradeTitle = "去升级" upgradeTitle = "去升级"
...@@ -118,7 +120,7 @@ class YHMemberCenterHeaderView: UIView { ...@@ -118,7 +120,7 @@ class YHMemberCenterHeaderView: UIView {
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) let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value ratio = value < 0 ? 0 : value
showProgress = true showProgress = true
showRatio = true showRatio = true
...@@ -131,8 +133,8 @@ class YHMemberCenterHeaderView: UIView { ...@@ -131,8 +133,8 @@ class YHMemberCenterHeaderView: UIView {
ratio = 0 ratio = 0
} }
case .platinum: case .platinum:
countFrom = 60000 countFrom = 6001
countTo = 150000 countTo = 15001
if memberCenterInfo.currentLevel < level.rawValue { if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级" levelString = "您未达到该等级"
upgradeTitle = "去升级" upgradeTitle = "去升级"
...@@ -145,7 +147,7 @@ class YHMemberCenterHeaderView: UIView { ...@@ -145,7 +147,7 @@ class YHMemberCenterHeaderView: UIView {
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) let value = Double(memberCenterInfo.growthValue) / Double(countTo - 1)
ratio = value < 0 ? 0 : value ratio = value < 0 ? 0 : value
showProgress = true showProgress = true
showRatio = true showRatio = true
...@@ -158,7 +160,7 @@ class YHMemberCenterHeaderView: UIView { ...@@ -158,7 +160,7 @@ class YHMemberCenterHeaderView: UIView {
ratio = 0 ratio = 0
} }
case .diamond: case .diamond:
countFrom = 150000 countFrom = 15001
countTo = Int.max countTo = Int.max
if memberCenterInfo.currentLevel < level.rawValue { if memberCenterInfo.currentLevel < level.rawValue {
levelString = "您未达到该等级" levelString = "您未达到该等级"
...@@ -215,6 +217,12 @@ extension YHMemberCenterHeaderView: FSPagerViewDataSource, FSPagerViewDelegate { ...@@ -215,6 +217,12 @@ extension YHMemberCenterHeaderView: FSPagerViewDataSource, FSPagerViewDelegate {
if let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "YHMemberCenterHeaderBannerCell", at: index) as? YHMemberCenterHeaderBannerCell { if let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "YHMemberCenterHeaderBannerCell", at: index) as? YHMemberCenterHeaderBannerCell {
let model = datas[index] let model = datas[index]
cell.setupData(level: model.level, levelString: model.levelString, tips: model.tips, upgradeTitle: model.upgradeTitle, showProgress: model.showProgress, ratioString: model.ratioString, ratio: model.ratio, showRatio: model.showRatio, showTips: model.showTips) cell.setupData(level: model.level, levelString: model.levelString, tips: model.tips, upgradeTitle: model.upgradeTitle, showProgress: model.showProgress, ratioString: model.ratioString, ratio: model.ratio, showRatio: model.showRatio, showTips: model.showTips)
cell.levelButtonEvent = { [weak self] level in
self?.levelButtonEvent?(level)
}
cell.upgradeButtonEvent = { [weak self] level in
self?.upgradeButtonEvent?(level)
}
return cell return cell
} }
return FSPagerViewCell() return FSPagerViewCell()
......
//
// YHMembershipGrowthGuideView.swift
// galaxy
//
// Created by alexzzw on 2025/2/24.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMembershipGrowthGuideView: UIView {
var closeButtonEvent: (() -> Void)?
private lazy var topTitleLabel: UILabel = {
let label = UILabel()
label.text = "会员及成长值说明"
label.font = .PFSC_B(ofSize: 17)
label.textColor = .mainTextColor
label.textAlignment = .center
return label
}()
private lazy var closeButton: UIButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "service_card_close"), for: .normal)
button.addTarget(self, action: #selector(closeButtonClicked), for: .touchUpInside)
return button
}()
private lazy var topLineView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hexString: "#E9ECF0")
return view
}()
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
return view
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
lazy var myScrollView: UIScrollView = {
let view = UIScrollView()
view.backgroundColor = .clear
view.showsVerticalScrollIndicator = false
view.showsHorizontalScrollIndicator = false
return view
}()
lazy var bkgImageV: UIImageView = {
let imageV = UIImageView()
imageV.image = UIImage(named: "membership_growth_guide")
imageV.contentMode = .scaleAspectFit
imageV.clipsToBounds = true
return imageV
}()
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
}
extension YHMembershipGrowthGuideView {
static func sheetView() -> YHMembershipGrowthGuideView {
let view = YHMembershipGrowthGuideView(frame: UIScreen.main.bounds)
return view
}
func show() {
UIApplication.shared.yhKeyWindow()?.addSubview(self)
UIView.animate(withDuration: 0.5) {
let whiteHeight = KScreenHeight - k_Height_NavigationtBarAndStatuBar
self.whiteContentView.frame = CGRect(x: 0, y: KScreenHeight - whiteHeight, width: KScreenWidth, height: whiteHeight)
}
}
@objc func dismiss() {
removeFromSuperview()
}
}
private extension YHMembershipGrowthGuideView {
@objc private func closeButtonClicked() {
dismiss()
closeButtonEvent?()
}
func setupUI() {
addSubview(blackMaskView)
addSubview(whiteContentView)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: corner, cornerRadii: CGSizeMake(kCornerRadius6, kCornerRadius6))
let layer = CAShapeLayer()
layer.frame = whiteContentView.bounds
layer.path = path.cgPath
whiteContentView.layer.mask = layer
whiteContentView.clipsToBounds = true
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
let whiteHeight = KScreenHeight - k_Height_NavigationtBarAndStatuBar
whiteContentView.frame = CGRect(x: 0, y: KScreenHeight, width: KScreenWidth, height: whiteHeight)
whiteContentView.addSubview(topTitleLabel)
whiteContentView.addSubview(closeButton)
whiteContentView.addSubview(topLineView)
topTitleLabel.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(16)
}
closeButton.snp.makeConstraints { make in
make.centerY.equalTo(topTitleLabel)
make.right.equalToSuperview().offset(-20)
make.width.height.equalTo(24)
}
topLineView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(52)
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
}
whiteContentView.addSubview(myScrollView)
myScrollView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(54)
make.left.equalToSuperview()
make.right.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(whiteHeight - 54)
}
if let _ = UIImage(named: "membership_growth_guide") {
let radio = 558.0 / 333.0
let margin = (375.0 - 333.0) / 2.0
myScrollView.addSubview(bkgImageV)
bkgImageV.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalToSuperview().offset(margin)
make.right.equalToSuperview().offset(-margin)
make.width.equalTo(333.0)
make.height.equalTo(333.0 * radio)
}
myScrollView.contentSize = CGSize(width: KScreenWidth, height: 333.0 * radio)
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "arrow_right_gold_16@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "arrow_right_gold_16@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "membership_growth_guide@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "membership_growth_guide@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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