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
c69d39e3
Commit
c69d39e3
authored
Feb 25, 2025
by
Alex朱枝文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分中心页面事件打点
parent
3cf75303
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
17 deletions
+53
-17
YHMemberCenterViewController.swift
...ses/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
+28
-6
YHMembershipLevel.swift
...xy/Classes/Modules/Mine(我的)/Model/YHMembershipLevel.swift
+16
-2
YHMemberCenterHeaderView.swift
...Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
+9
-9
No files found.
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
View file @
c69d39e3
...
...
@@ -51,11 +51,7 @@ class YHMemberCenterViewController: YHBaseViewController {
guard
let
self
=
self
else
{
return
}
self
.
bgIcon
.
image
=
UIImage
(
named
:
level
.
bgIconTitle
())
self
.
currentLevel
=
level
if
let
info
=
self
.
viewModel
.
memberCenterInfo
{
self
.
updateDatas
(
info
)
}
switchCard
(
level
)
}
view
.
levelButtonEvent
=
{
[
weak
self
]
_
in
self
?
.
gotoGuideView
()
...
...
@@ -70,6 +66,16 @@ class YHMemberCenterViewController: YHBaseViewController {
let
view
=
YHMemberCenterFooterView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
YHMemberCenterFooterView
.
viewHeight
))
return
view
}()
private
func
switchCard
(
_
level
:
YHMembershipLevel
)
{
bgIcon
.
image
=
UIImage
(
named
:
level
.
bgIconTitle
())
YHAnalytics
.
timeEnd
(
currentLevel
.
logKey
)
currentLevel
=
level
YHAnalytics
.
timeStrat
(
level
.
logKey
)
if
let
info
=
viewModel
.
memberCenterInfo
{
updateDatas
(
info
)
}
}
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
...
...
@@ -84,6 +90,12 @@ class YHMemberCenterViewController: YHBaseViewController {
}
else
{
requestData
(
isNeedLoading
:
false
)
}
YHAnalytics
.
timeStrat
(
currentLevel
.
logKey
)
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
super
.
viewWillDisappear
(
animated
)
YHAnalytics
.
timeEnd
(
currentLevel
.
logKey
)
}
private
func
setupUI
()
{
...
...
@@ -127,7 +139,16 @@ class YHMemberCenterViewController: YHBaseViewController {
}
if
success
,
let
memberCenterInfo
=
viewModel
.
memberCenterInfo
{
self
.
headerView
.
updateDatas
(
memberCenterInfo
)
self
.
updateDatas
(
memberCenterInfo
)
if
isNeedLoading
,
let
index
=
YHMembershipLevel
.
allCases
.
firstIndex
(
where
:
{
data
in
data
.
rawValue
==
memberCenterInfo
.
currentLevel
})
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.25
)
{
self
.
headerView
.
bannerView
.
scrollToItem
(
at
:
index
,
animated
:
false
)
self
.
switchCard
(
YHMembershipLevel
.
allCases
[
index
])
}
}
else
{
self
.
updateDatas
(
memberCenterInfo
)
}
}
else
{
var
errorMsg
=
"获取会员信息失败,请重试!"
if
let
error
=
error
,
error
.
errorMsg
.
count
>
0
{
...
...
@@ -161,6 +182,7 @@ class YHMemberCenterViewController: YHBaseViewController {
}
}
let
myLevel
=
YHMembershipLevel
(
rawValue
:
memberCenterInfo
.
currentLevel
)
??
.
normal
switch
currentLevel
{
case
.
normal
:
datas
.
append
(
.
myPrivilege
(
myLevel
,
myLevel
.
privilegeCount
,
memberCenterInfo
.
exchangeCount
,
memberCenterInfo
.
exchangeCount
,
memberCenterInfo
.
currentLevel
>
YHMembershipLevel
.
normal
.
rawValue
))
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/Model/YHMembershipLevel.swift
View file @
c69d39e3
...
...
@@ -14,7 +14,7 @@ enum YHMembershipLevel: Int, CaseIterable {
case
platinum
=
30
case
diamond
=
40
//
可以添加其他属性或方法
//
名称
var
description
:
String
{
switch
self
{
case
.
normal
:
...
...
@@ -28,7 +28,7 @@ enum YHMembershipLevel: Int, CaseIterable {
}
}
// 可
以添加其他属性或方法
// 可
享特权数目
var
privilegeCount
:
Int
{
switch
self
{
case
.
normal
:
...
...
@@ -41,6 +41,20 @@ enum YHMembershipLevel: Int, CaseIterable {
return
13
}
}
// 埋点key
var
logKey
:
String
{
switch
self
{
case
.
normal
:
return
"General_Member_Membership_Privileges_Page"
case
.
gold
:
return
"Gold_Member_Membership_Privileges_Page"
case
.
platinum
:
return
"Platinum_Member_Membership_Privileges_Page"
case
.
diamond
:
return
"Diamond_Member_Membership_Privileges_Page"
}
}
// 示例:获取会员等级对应的权益
func
benefits
()
->
[
String
]
{
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
View file @
c69d39e3
...
...
@@ -56,7 +56,7 @@ class YHMemberCenterHeaderView: UIView {
var
upgradeButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
var
levelButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
private
lazy
var
bannerView
:
FSPagerView
=
{
lazy
var
bannerView
:
FSPagerView
=
{
let
view
=
FSPagerView
()
view
.
delegate
=
self
view
.
dataSource
=
self
...
...
@@ -183,14 +183,14 @@ class YHMemberCenterHeaderView: UIView {
return
BannerData
(
level
:
level
,
levelString
:
levelString
,
tips
:
tips
,
upgradeTitle
:
upgradeTitle
,
showProgress
:
showProgress
,
ratioString
:
ratioString
,
ratio
:
ratio
,
showRatio
:
showRatio
,
showTips
:
showTips
)
})
bannerView
.
reloadData
()
if
let
index
=
datas
.
firstIndex
(
where
:
{
data
in
data
.
level
.
rawValue
==
memberCenterInfo
.
currentLevel
})
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
0.25
)
{
self
.
bannerView
.
scrollToItem
(
at
:
index
,
animated
:
false
)
self
.
scrollToIndexEvent
?(
self
.
datas
[
index
]
.
level
)
}
}
//
if let index = datas.firstIndex(where: { data in
//
data.level.rawValue == memberCenterInfo.currentLevel
//
}) {
//
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
//
self.bannerView.scrollToItem(at: index, animated: false)
//
self.scrollToIndexEvent?(self.datas[index].level)
//
}
//
}
}
override
init
(
frame
:
CGRect
)
{
...
...
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