Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
819406fa
Commit
819406fa
authored
Feb 21, 2025
by
Steven杜宇
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'vip' of
http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS
into vip
parents
ad06babc
916f235d
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
291 additions
and
23 deletions
+291
-23
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+8
-0
YHMemberCenterViewController.swift
...ses/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
+0
-0
YHMemberCenterCellContent.swift
...es/Modules/Mine(我的)/Model/YHMemberCenterCellContent.swift
+1
-1
YHMemberCenterInfo.swift
...y/Classes/Modules/Mine(我的)/Model/YHMemberCenterInfo.swift
+82
-0
YHMembershipLevel.swift
...xy/Classes/Modules/Mine(我的)/Model/YHMembershipLevel.swift
+15
-6
YHMemberCenterActionCell.swift
...Classes/Modules/Mine(我的)/V/YHMemberCenterActionCell.swift
+5
-0
YHMemberCenterHeaderBannerCell.swift
...s/Modules/Mine(我的)/V/YHMemberCenterHeaderBannerCell.swift
+8
-4
YHMemberCenterHeaderView.swift
...Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
+130
-12
YHMemberCenterViewModel.swift
.../Modules/Mine(我的)/ViewModel/YHMemberCenterViewModel.swift
+41
-0
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+1
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
819406fa
...
...
@@ -72,6 +72,8 @@
0436713D2D6470A400E8D9BA
/* YHMemberCenterActionCell.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0436713C2D6470A400E8D9BA
/* YHMemberCenterActionCell.swift */
;
};
0436713F2D64817500E8D9BA
/* YHMemberCenterFooterView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
0436713E2D64817500E8D9BA
/* YHMemberCenterFooterView.swift */
;
};
043671412D64935200E8D9BA
/* YHMemberCenterCellContent.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043671402D64935200E8D9BA
/* YHMemberCenterCellContent.swift */
;
};
043671432D66DDB500E8D9BA
/* YHMemberCenterInfo.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043671422D66DDB500E8D9BA
/* YHMemberCenterInfo.swift */
;
};
043671452D66FBEE00E8D9BA
/* YHMemberCenterViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043671442D66FBEE00E8D9BA
/* YHMemberCenterViewModel.swift */
;
};
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 */
;
};
045C0F812D12CA5F00BD2DC0
/* img_0.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F5E2D12CA5E00BD2DC0
/* img_0.png */
;
};
...
...
@@ -1310,6 +1312,8 @@
0436713C2D6470A400E8D9BA
/* YHMemberCenterActionCell.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMemberCenterActionCell.swift
;
sourceTree
=
"<group>"
;
};
0436713E2D64817500E8D9BA
/* YHMemberCenterFooterView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMemberCenterFooterView.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>"
;
};
043671442D66FBEE00E8D9BA
/* YHMemberCenterViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHMemberCenterViewModel.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>"
;
};
045C0A162D12CA5E00BD2DC0
/* YHNavigationController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHNavigationController.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -5736,6 +5740,7 @@
045C0EE22D12CA5E00BD2DC0
/* YHCollectionModel.swift */
,
048D6AE02D5F17C400BC6F4C
/* YHMembershipLevel.swift */
,
043671402D64935200E8D9BA
/* YHMemberCenterCellContent.swift */
,
043671422D66DDB500E8D9BA
/* YHMemberCenterInfo.swift */
,
);
path
=
Model
;
sourceTree
=
"<group>"
;
...
...
@@ -5819,6 +5824,7 @@
isa
=
PBXGroup
;
children
=
(
045C0EFB2D12CA5E00BD2DC0
/* YHMyLikeViewModel.swift */
,
043671442D66FBEE00E8D9BA
/* YHMemberCenterViewModel.swift */
,
);
path
=
ViewModel
;
sourceTree
=
"<group>"
;
...
...
@@ -7124,6 +7130,7 @@
045C109A2D12CA5F00BD2DC0
/* YhCacheTool.swift in Sources */
,
045C109B2D12CA5F00BD2DC0
/* YHHomeInfoDetailViewController.swift in Sources */
,
045C109C2D12CA5F00BD2DC0
/* YHAdopterChinaViewController.swift in Sources */
,
043671452D66FBEE00E8D9BA
/* YHMemberCenterViewModel.swift in Sources */
,
04AE20332D13B72F00891D24
/* YHGCChildPrimaryInfoVC.swift in Sources */
,
045C109D2D12CA5F00BD2DC0
/* YHHKRecordsSectionItemBaseCell.swift in Sources */
,
045C109E2D12CA5F00BD2DC0
/* YHResignMaterialViewModel.swift in Sources */
,
...
...
@@ -7295,6 +7302,7 @@
045C113B2D12CA5F00BD2DC0
/* YHButlerServiceMessageHandler.swift in Sources */
,
045C113C2D12CA5F00BD2DC0
/* YHResignScheduleLineCollectCell.swift in Sources */
,
04AE20502D19425900891D24
/* YHGCCertificateListVC.swift in Sources */
,
043671432D66DDB500E8D9BA
/* YHMemberCenterInfo.swift in Sources */
,
045C113D2D12CA5F00BD2DC0
/* YHMyFileListCell.swift in Sources */
,
045C113E2D12CA5F00BD2DC0
/* YHLookResignResultModel.swift in Sources */
,
045C113F2D12CA5F00BD2DC0
/* YHIncomeTypeSelectCell.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
View file @
819406fa
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/Mine(我的)/Model/YHMemberCenterCellContent.swift
View file @
819406fa
...
...
@@ -10,7 +10,7 @@ import Foundation
enum
YHMemberCenterCellContent
:
String
,
CaseIterable
{
case
kidsBay
=
"kidsbay高端早教盒子"
case
luxury
=
"
北上港深
奢华体验中心"
case
luxury
=
"奢华体验中心"
case
crossBorder
=
"深港跨境出行预约"
case
hkTravel
=
"香港境内出行预约"
case
drivingLicense
=
"国际驾照续期"
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/Model/YHMemberCenterInfo.swift
0 → 100644
View file @
819406fa
//
// YHMemberCenterInfo.swift
// galaxy
//
// Created by alexzzw on 2025/2/20.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import
SmartCodable
import
UIKit
class
YHMemberCenterInfo
:
SmartCodable
{
var
answerConsult
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
brandStrategy
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
carTransfer
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
currentLevel
:
Int
=
0
var
dedicatedAdviser
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
exchangeCount
:
Int
=
0
var
exchangedCount
:
Int
=
0
var
experienceCenter
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
growthValue
:
Int
=
0
var
highEndPrivilege
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
highTeaBox
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
hkCarTransfer
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
hongkongSchoolPlanning
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
internationalDrivingLicense
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
luxuryTea
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
maxGrowth
:
Int
=
0
var
offlineSalon
:
YHMemberGiftModel
=
YHMemberGiftModel
()
var
specialIntegralConsumption
:
YHMemberGiftModel
=
YHMemberGiftModel
()
enum
CodingKeys
:
String
,
CodingKey
{
case
answerConsult
=
"answer_consult"
case
brandStrategy
=
"brand_strategy"
case
carTransfer
=
"car_transfer"
case
currentLevel
=
"current_level"
case
dedicatedAdviser
=
"dedicated_adviser"
case
exchangeCount
=
"exchange_count"
case
exchangedCount
=
"exchanged_count"
case
experienceCenter
=
"experience_center"
case
growthValue
=
"growth_value"
case
highEndPrivilege
=
"high_end_privilege"
case
highTeaBox
=
"high_tea_box"
case
hkCarTransfer
=
"hk_car_transfer"
case
hongkongSchoolPlanning
=
"hongkong_school_planning"
case
internationalDrivingLicense
=
"international_driving_license"
case
luxuryTea
=
"luxury_tea"
case
maxGrowth
=
"max_growth"
case
offlineSalon
=
"offline_salon"
case
specialIntegralConsumption
=
"special_integral_consumption"
}
required
init
()
{
}
}
// MARK: - YHMemberAnswerConsult
class
YHMemberGiftModel
:
SmartCodable
{
var
giftId
:
String
=
""
var
minLevel
:
Int
=
0
var
name
:
String
=
""
var
num
:
Int
=
0
enum
CodingKeys
:
String
,
CodingKey
{
case
giftId
=
"gift_id"
case
minLevel
=
"min_level"
case
name
case
num
}
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/Mine(我的)/Model/YHMembershipLevel.swift
View file @
819406fa
...
...
@@ -8,15 +8,24 @@
import
Foundation
enum
YHMembershipLevel
:
String
,
CaseIterable
{
case
normal
=
"大众会员"
case
gold
=
"黄金会员"
case
platinum
=
"铂金会员"
case
diamond
=
"钻石会员"
enum
YHMembershipLevel
:
Int
,
CaseIterable
{
case
normal
=
10
case
gold
=
20
case
platinum
=
30
case
diamond
=
40
// 可以添加其他属性或方法
var
description
:
String
{
return
rawValue
switch
self
{
case
.
normal
:
return
"大众会员"
case
.
gold
:
return
"黄金会员"
case
.
platinum
:
return
"铂金会员"
case
.
diamond
:
return
"钻石会员"
}
}
// 示例:获取会员等级对应的权益
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterActionCell.swift
View file @
819406fa
...
...
@@ -36,6 +36,7 @@ class YHMemberCenterActionCell: YHResignDocumentCell {
private
lazy
var
actionButton
:
YHMemberCenterActionButton
=
{
let
button
=
YHMemberCenterActionButton
(
type
:
.
custom
)
button
.
update
(
state
:
.
redeemable
)
button
.
addTarget
(
self
,
action
:
#selector(
actionButtonClicked
)
,
for
:
.
touchUpInside
)
return
button
}()
...
...
@@ -48,6 +49,10 @@ class YHMemberCenterActionCell: YHResignDocumentCell {
fatalError
(
"init(coder:) has not been implemented"
)
}
@objc
private
func
actionButtonClicked
()
{
actionButtonEvent
?()
}
private
func
setupUI
()
{
updateCellCorner
(
.
single
)
subContainerView
.
addSubview
(
leftLabel
)
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderBannerCell.swift
View file @
819406fa
...
...
@@ -34,6 +34,8 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
private
lazy
var
upgradeButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
12
)
button
.
clipsToBounds
=
true
button
.
layer
.
cornerRadius
=
17
return
button
}()
...
...
@@ -130,22 +132,24 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
}
}
func
setupData
(
level
:
YHMembershipLevel
,
levelString
:
String
,
countFrom
:
Int
,
countTo
:
Int
,
tips
:
String
,
upgradeTitle
:
String
)
{
func
setupData
(
level
:
YHMembershipLevel
,
levelString
:
String
,
tips
:
String
,
upgradeTitle
:
String
,
showProgress
:
Bool
,
ratioString
:
String
,
ratio
:
CGFloat
,
showRatio
:
Bool
,
showTips
:
Bool
)
{
bannerImagV
.
image
=
UIImage
(
named
:
level
.
cardIconTitle
())
bannerTitleLabel
.
text
=
level
.
description
bannerTitleLabel
.
textColor
=
level
.
levelTitleColor
()
levelButton
.
setTitleColor
(
level
.
levelButtonTitleColor
(),
for
:
.
normal
)
levelButton
.
setTitle
(
levelString
,
for
:
.
normal
)
countLabel
.
textColor
=
level
.
countTitleColor
()
countLabel
.
text
=
countTo
==
0
?
"
\(
countFrom
)
"
:
"
\(
countFrom
)
/
\(
countTo
)
"
progressView
.
progress
=
Float
(
Double
(
countFrom
)
*
1.0
/
Double
(
countTo
))
countLabel
.
text
=
ratioString
countLabel
.
isHidden
=
!
showRatio
progressView
.
progress
=
Float
(
ratio
)
tipsLabel
.
textColor
=
level
.
tipsTitleColor
()
tipsLabel
.
text
=
tips
tipsLabel
.
isHidden
=
!
showTips
upgradeButton
.
setTitle
(
upgradeTitle
,
for
:
.
normal
)
upgradeButton
.
setTitleColor
(
level
.
upgradeButtonTitleColor
(),
for
:
.
normal
)
upgradeButton
.
backgroundColor
=
level
.
upgradeButtonBackgroundColor
()
if
level
==
.
normal
||
level
==
.
diamond
{
if
!
showProgress
{
progressView
.
isHidden
=
true
countLabel
.
snp
.
remakeConstraints
{
make
in
make
.
left
.
equalTo
(
bannerTitleLabel
)
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
View file @
819406fa
...
...
@@ -13,18 +13,26 @@ class YHMemberCenterHeaderView: UIView {
class
BannerData
{
var
level
:
YHMembershipLevel
=
.
normal
var
levelString
:
String
=
""
var
countFrom
:
Int
=
0
var
countTo
:
Int
=
0
var
tips
:
String
=
""
var
upgradeTitle
:
String
=
""
var
showProgress
:
Bool
=
false
var
ratioString
:
String
=
""
var
ratio
:
CGFloat
=
0
var
showRatio
:
Bool
=
false
var
showTips
:
Bool
=
false
init
(
level
:
YHMembershipLevel
,
levelString
:
String
,
countFrom
:
Int
,
countTo
:
Int
,
tips
:
String
,
upgradeTitle
:
String
)
{
init
(
level
:
YHMembershipLevel
,
levelString
:
String
,
tips
:
String
,
upgradeTitle
:
String
,
showProgress
:
Bool
,
ratioString
:
String
,
ratio
:
CGFloat
,
showRatio
:
Bool
,
showTips
:
Bool
)
{
self
.
level
=
level
self
.
levelString
=
levelString
self
.
countFrom
=
countFrom
self
.
countTo
=
countTo
self
.
tips
=
tips
self
.
upgradeTitle
=
upgradeTitle
self
.
showProgress
=
showProgress
self
.
ratioString
=
ratioString
self
.
ratio
=
ratio
self
.
showRatio
=
showRatio
self
.
showTips
=
showTips
}
}
...
...
@@ -57,12 +65,122 @@ class YHMemberCenterHeaderView: UIView {
return
view
}()
var
datas
:
[
BannerData
]
{
let
normal
=
BannerData
(
level
:
.
normal
,
levelString
:
"当前等级"
,
countFrom
:
0
,
countTo
:
0
,
tips
:
"消费即升至黄金会员"
,
upgradeTitle
:
"去升级"
)
let
gold
=
BannerData
(
level
:
.
gold
,
levelString
:
"您未达到该等级"
,
countFrom
:
1000
,
countTo
:
60000
,
tips
:
"距铂金会员还需60000成长值"
,
upgradeTitle
:
"去升级"
)
let
platinum
=
BannerData
(
level
:
.
platinum
,
levelString
:
"您未达到该等级"
,
countFrom
:
0
,
countTo
:
150000
,
tips
:
"距钻石会员还需150000成长值"
,
upgradeTitle
:
"去升级"
)
let
diamond
=
BannerData
(
level
:
.
diamond
,
levelString
:
"您未达到该等级"
,
countFrom
:
0
,
countTo
:
0
,
tips
:
"当前成长值"
,
upgradeTitle
:
"去升级"
)
return
[
normal
,
gold
,
platinum
,
diamond
]
var
datas
:
[
BannerData
]
=
[]
func
updateDatas
(
_
memberCenterInfo
:
YHMemberCenterInfo
)
{
datas
=
YHMembershipLevel
.
allCases
.
map
({
level
in
var
levelString
=
"您未达到该等级"
var
upgradeTitle
=
"去升级"
var
countFrom
:
Int
=
0
var
countTo
:
Int
=
0
var
tips
:
String
=
""
var
showProgress
:
Bool
=
false
var
ratioString
:
String
=
""
var
ratio
:
CGFloat
=
0
var
showRatio
:
Bool
=
false
var
showTips
:
Bool
=
false
switch
level
{
case
.
normal
:
countFrom
=
0
countTo
=
0
if
memberCenterInfo
.
currentLevel
==
level
.
rawValue
{
levelString
=
"当前等级"
upgradeTitle
=
"已达成"
tips
=
"消费即升至黄金会员"
ratioString
=
"0"
ratio
=
0
showRatio
=
true
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
>
level
.
rawValue
{
levelString
=
"您已高于该等级"
upgradeTitle
=
"已达成"
tips
=
"当前成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
"
ratio
=
0
showRatio
=
false
showTips
=
false
}
case
.
gold
:
countFrom
=
0
countTo
=
60000
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
upgradeTitle
=
"去升级"
tips
=
"消费即升至黄金会员"
ratioString
=
"0"
ratio
=
0
showRatio
=
true
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
==
level
.
rawValue
{
levelString
=
"当前等级"
upgradeTitle
=
"已达成"
tips
=
"距铂金会员还需
\(
countTo
-
memberCenterInfo
.
growthValue
)
成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
/(countTo)"
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
)
ratio
=
value
<
0
?
0
:
value
showProgress
=
true
showRatio
=
true
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
>
level
.
rawValue
{
levelString
=
"您已高于该等级"
upgradeTitle
=
"已达成"
tips
=
"当前成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
"
ratio
=
0
}
case
.
platinum
:
countFrom
=
60000
countTo
=
150000
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
upgradeTitle
=
"去升级"
tips
=
"
\(
countFrom
)
成长值升至铂金会员"
ratioString
=
"
\(
countFrom
)
/(countTo)"
ratio
=
0
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
==
level
.
rawValue
{
levelString
=
"当前等级"
upgradeTitle
=
"已达成"
tips
=
"距钻石会员还需
\(
countTo
-
memberCenterInfo
.
growthValue
)
成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
/(countTo)"
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
)
ratio
=
value
<
0
?
0
:
value
showProgress
=
true
showRatio
=
true
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
>
level
.
rawValue
{
levelString
=
"您已高于该等级"
upgradeTitle
=
"已达成"
tips
=
"当前成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
"
ratio
=
0
}
case
.
diamond
:
countFrom
=
150000
countTo
=
Int
.
max
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
upgradeTitle
=
"去升级"
tips
=
"
\(
countFrom
)
成长值升至钻石会员"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
"
ratio
=
0
showTips
=
true
}
else
if
memberCenterInfo
.
currentLevel
==
level
.
rawValue
{
levelString
=
"当前等级"
upgradeTitle
=
"已达成"
tips
=
"当前成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
"
ratio
=
0
showRatio
=
true
showTips
=
true
}
}
return
BannerData
(
level
:
level
,
levelString
:
levelString
,
tips
:
tips
,
upgradeTitle
:
upgradeTitle
,
showProgress
:
showProgress
,
ratioString
:
ratioString
,
ratio
:
ratio
,
showRatio
:
showRatio
,
showTips
:
showTips
)
})
bannerView
.
reloadData
()
}
override
init
(
frame
:
CGRect
)
{
...
...
@@ -96,7 +214,7 @@ extension YHMemberCenterHeaderView: FSPagerViewDataSource, FSPagerViewDelegate {
}
if
let
cell
=
pagerView
.
dequeueReusableCell
(
withReuseIdentifier
:
"YHMemberCenterHeaderBannerCell"
,
at
:
index
)
as?
YHMemberCenterHeaderBannerCell
{
let
model
=
datas
[
index
]
cell
.
setupData
(
level
:
model
.
level
,
levelString
:
model
.
levelString
,
countFrom
:
model
.
countFrom
,
countTo
:
model
.
countTo
,
tips
:
model
.
tips
,
upgradeTitle
:
model
.
upgradeTitle
)
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
)
return
cell
}
return
FSPagerViewCell
()
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/ViewModel/YHMemberCenterViewModel.swift
0 → 100644
View file @
819406fa
//
// YHMemberCenterViewModel.swift
// galaxy
//
// Created by alexzzw on 2025/2/20.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHMemberCenterViewModel
:
YHBaseViewModel
{
var
memberCenterInfo
:
YHMemberCenterInfo
?
func
getMemberInfo
(
_
callBack
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Member
.
memberBenefits
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
if
json
.
code
==
200
{
guard
let
dic
=
json
.
data
?
.
peel
as?
[
String
:
Any
],
let
resultModel
=
YHMemberCenterInfo
.
deserialize
(
from
:
dic
)
else
{
let
err
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBack
(
false
,
err
)
return
}
self
.
memberCenterInfo
=
resultModel
callBack
(
true
,
nil
)
}
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBack
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBack
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
819406fa
...
...
@@ -752,6 +752,7 @@ class YHAllApiName {
// 会员
struct
Member
{
static
let
memberInfoApi
=
"super-app/h5-points/member-info"
static
let
memberBenefits
=
"super-app/h5-points/member-benefits"
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment