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
eb6e6503
Commit
eb6e6503
authored
Feb 24, 2025
by
Alex朱枝文
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员中心页调整
parent
db5f0ae5
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
252 additions
and
7 deletions
+252
-7
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+4
-0
YHMemberCenterViewController.swift
...ses/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
+0
-0
YHMemberCenterHeaderBannerCell.swift
...s/Modules/Mine(我的)/V/YHMemberCenterHeaderBannerCell.swift
+27
-0
YHMemberCenterHeaderView.swift
...Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
+15
-7
YHMembershipGrowthGuideView.swift
...sses/Modules/Mine(我的)/V/YHMembershipGrowthGuideView.swift
+162
-0
Contents.json
...e/memberCenter/arrow_right_gold_16.imageset/Contents.json
+22
-0
arrow_right_gold_16@2x.png
...r/arrow_right_gold_16.imageset/arrow_right_gold_16@2x.png
+0
-0
arrow_right_gold_16@3x.png
...r/arrow_right_gold_16.imageset/arrow_right_gold_16@3x.png
+0
-0
Contents.json
...mberCenter/membership_growth_guide.imageset/Contents.json
+22
-0
membership_growth_guide@2x.png
...ship_growth_guide.imageset/membership_growth_guide@2x.png
+0
-0
membership_growth_guide@3x.png
...ship_growth_guide.imageset/membership_growth_guide@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
eb6e6503
...
...
@@ -74,6 +74,7 @@
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 */
;
};
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 */
;
};
045C0F802D12CA5F00BD2DC0
/* Localizable.xcstrings in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F762D12CA5E00BD2DC0
/* Localizable.xcstrings */
;
};
045C0F812D12CA5F00BD2DC0
/* img_0.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
045C0F5E2D12CA5E00BD2DC0
/* img_0.png */
;
};
...
...
@@ -1316,6 +1317,7 @@
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>"
;
};
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>"
;
};
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>"
;
};
...
...
@@ -5816,6 +5818,7 @@
04AFEF4A2D5DF3710007A011
/* YHMyUserInfoView.swift */
,
04AFEF4C2D5EEF860007A011
/* YHUserVipInfoView.swift */
,
048D6ADC2D5EF0A900BC6F4C
/* YHMemberCenterHeaderView.swift */
,
043671462D6C3ED100E8D9BA
/* YHMembershipGrowthGuideView.swift */
,
048D6ADE2D5F0FBE00BC6F4C
/* YHMemberCenterHeaderBannerCell.swift */
,
048D6AE22D6348EF00BC6F4C
/* YHMemberCenterCurrentPrivilegeCell.swift */
,
0436713A2D643A7A00E8D9BA
/* YHMemberCenterMyPrivilegeCell.swift */
,
...
...
@@ -7528,6 +7531,7 @@
045C11FC2D12CA5F00BD2DC0
/* YHHKPlaceInfoCell.swift in Sources */
,
045C11FD2D12CA5F00BD2DC0
/* YHIncomeRecordUtilType.swift in Sources */
,
045C11FE2D12CA5F00BD2DC0
/* YHVideoPlayerControlView.swift in Sources */
,
043671472D6C3ED100E8D9BA
/* YHMembershipGrowthGuideView.swift in Sources */
,
045C11FF2D12CA5F00BD2DC0
/* YHResignCertificateModel.swift in Sources */
,
045C12002D12CA5F00BD2DC0
/* YHPrincipleApprovedAlertView.swift in Sources */
,
045C12012D12CA5F00BD2DC0
/* YHSchemeTableHeadView.swift in Sources */
,
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/C/YHMemberCenterViewController.swift
View file @
eb6e6503
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderBannerCell.swift
View file @
eb6e6503
...
...
@@ -10,6 +10,11 @@ import FSPagerView
import
UIKit
class
YHMemberCenterHeaderBannerCell
:
FSPagerViewCell
{
var
upgradeButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
var
levelButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
private
var
level
:
YHMembershipLevel
=
.
normal
private
lazy
var
bannerImagV
:
UIImageView
=
{
let
imagV
:
UIImageView
=
UIImageView
()
imagV
.
contentMode
=
.
scaleAspectFit
...
...
@@ -28,6 +33,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
private
lazy
var
levelButton
:
UIButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
13
)
button
.
addTarget
(
self
,
action
:
#selector(
levelButtonClicked
)
,
for
:
.
touchUpInside
)
return
button
}()
...
...
@@ -36,6 +42,7 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
12
)
button
.
clipsToBounds
=
true
button
.
layer
.
cornerRadius
=
17
button
.
addTarget
(
self
,
action
:
#selector(
upgradeButtonClicked
)
,
for
:
.
touchUpInside
)
return
button
}()
...
...
@@ -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
)
{
self
.
level
=
level
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
)
levelButton
.
setImage
(
UIImage
(
named
:
level
.
levelButtonImageTitle
()),
for
:
.
normal
)
levelButton
.
iconInRight
(
with
:
0
)
countLabel
.
textColor
=
level
.
countTitleColor
()
countLabel
.
text
=
ratioString
countLabel
.
isHidden
=
!
showRatio
...
...
@@ -165,6 +175,14 @@ class YHMemberCenterHeaderBannerCell: FSPagerViewCell {
}
}
}
@objc
private
func
upgradeButtonClicked
()
{
upgradeButtonEvent
?(
level
)
}
@objc
private
func
levelButtonClicked
()
{
levelButtonEvent
?(
level
)
}
}
fileprivate
extension
YHMembershipLevel
{
...
...
@@ -219,6 +237,15 @@ fileprivate extension YHMembershipLevel {
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
?
{
switch
self
{
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMemberCenterHeaderView.swift
View file @
eb6e6503
...
...
@@ -53,6 +53,8 @@ class YHMemberCenterHeaderView: UIView {
}
var
scrollToIndexEvent
:
((
YHMembershipLevel
)
->
Void
)?
var
upgradeButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
var
levelButtonEvent
:
((
_
level
:
YHMembershipLevel
)
->
Void
)?
private
lazy
var
bannerView
:
FSPagerView
=
{
let
view
=
FSPagerView
()
...
...
@@ -103,8 +105,8 @@ class YHMemberCenterHeaderView: UIView {
showTips
=
false
}
case
.
gold
:
countFrom
=
0
countTo
=
600
00
countFrom
=
1
countTo
=
600
1
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
upgradeTitle
=
"去升级"
...
...
@@ -118,7 +120,7 @@ class YHMemberCenterHeaderView: UIView {
upgradeTitle
=
"已达成"
tips
=
"距铂金会员还需
\(
countTo
-
memberCenterInfo
.
growthValue
)
成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
/(countTo)"
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
)
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
-
1
)
ratio
=
value
<
0
?
0
:
value
showProgress
=
true
showRatio
=
true
...
...
@@ -131,8 +133,8 @@ class YHMemberCenterHeaderView: UIView {
ratio
=
0
}
case
.
platinum
:
countFrom
=
600
00
countTo
=
1500
00
countFrom
=
600
1
countTo
=
1500
1
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
upgradeTitle
=
"去升级"
...
...
@@ -145,7 +147,7 @@ class YHMemberCenterHeaderView: UIView {
upgradeTitle
=
"已达成"
tips
=
"距钻石会员还需
\(
countTo
-
memberCenterInfo
.
growthValue
)
成长值"
ratioString
=
"
\(
memberCenterInfo
.
growthValue
)
/(countTo)"
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
)
let
value
=
Double
(
memberCenterInfo
.
growthValue
)
/
Double
(
countTo
-
1
)
ratio
=
value
<
0
?
0
:
value
showProgress
=
true
showRatio
=
true
...
...
@@ -158,7 +160,7 @@ class YHMemberCenterHeaderView: UIView {
ratio
=
0
}
case
.
diamond
:
countFrom
=
1500
00
countFrom
=
1500
1
countTo
=
Int
.
max
if
memberCenterInfo
.
currentLevel
<
level
.
rawValue
{
levelString
=
"您未达到该等级"
...
...
@@ -215,6 +217,12 @@ 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
,
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
FSPagerViewCell
()
...
...
galaxy/galaxy/Classes/Modules/Mine(我的)/V/YHMembershipGrowthGuideView.swift
0 → 100644
View file @
eb6e6503
//
// 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
)
}
}
}
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/arrow_right_gold_16.imageset/Contents.json
0 → 100644
View file @
eb6e6503
{
"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
}
}
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/arrow_right_gold_16.imageset/arrow_right_gold_16@2x.png
0 → 100644
View file @
eb6e6503
371 Bytes
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/arrow_right_gold_16.imageset/arrow_right_gold_16@3x.png
0 → 100644
View file @
eb6e6503
494 Bytes
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/membership_growth_guide.imageset/Contents.json
0 → 100644
View file @
eb6e6503
{
"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
}
}
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/membership_growth_guide.imageset/membership_growth_guide@2x.png
0 → 100644
View file @
eb6e6503
173 KB
galaxy/galaxy/Res/Assets.xcassets/Mine/memberCenter/membership_growth_guide.imageset/membership_growth_guide@3x.png
0 → 100644
View file @
eb6e6503
257 KB
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