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
63aa61da
Commit
63aa61da
authored
Jul 24, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
生活首页接口及逻辑
parent
b5c66582
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
72 additions
and
27 deletions
+72
-27
YHLifeViewController.swift
...es/Modules/Home(首页)/Life(生活)/C/YHLifeViewController.swift
+42
-4
YHLifeHeadView.swift
.../Classes/Modules/Home(首页)/Life(生活)/V/YHLifeHeadView.swift
+1
-1
YHLifeItemTableViewCell.swift
...Modules/Home(首页)/Life(生活)/V/YHLifeItemTableViewCell.swift
+10
-3
YHHomePageViewModel.swift
...axy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
+19
-19
No files found.
galaxy/galaxy/Classes/Modules/Home(首页)/Life(生活)/C/YHLifeViewController.swift
View file @
63aa61da
...
...
@@ -13,21 +13,56 @@ class YHLifeViewController: YHBaseViewController {
var
sectionView
:
YHLifeSectionView
!
var
tableView
:
UITableView
!
var
headView
=
YHLifeHeadView
()
var
viewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
selectSubTab
:
YHHomeLifeCategoryModel
?
=
nil
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
loadData
()
}
}
extension
YHLifeViewController
{
func
loadData
()
{
let
params
:
[
String
:
Any
]
=
[
"pid"
:
3
]
self
.
viewModel
.
getGoodsCategory
(
params
:
params
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
let
items
=
self
.
viewModel
.
categoryArr
.
map
{
$0
?
.
name
}
let
result
=
items
.
compactMap
{
$0
}
self
.
sectionView
.
items
=
result
self
.
selectSubTab
=
self
.
viewModel
.
categoryArr
.
first
??
YHHomeLifeCategoryModel
()
getDetailImages
()
}
}
func
getDetailImages
()
{
if
let
selectItem
=
self
.
selectSubTab
{
let
params
:[
String
:
Any
]
=
[
"categoryId"
:
"3"
,
"levelId"
:
selectItem
.
id
]
self
.
viewModel
.
getGoodsCategoryDetail
(
params
:
params
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
URL
(
string
:
selectItem
.
image
)
else
{
return
}
self
.
headView
.
imageView
.
kf
.
setImage
(
with
:
url
)
if
self
.
viewModel
.
detailModel
.
products
.
count
==
0
{
let
label
=
UILabel
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
self
.
view
.
height
-
44
-
KScreenWidth
-
16
))
label
.
text
=
"商品未上架,好货不怕晚,敬请期待!"
label
.
textColor
=
UIColor
.
mainTextColor30
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
label
.
textAlignment
=
.
center
self
.
tableView
.
tableFooterView
=
label
}
else
{
self
.
tableView
.
tableFooterView
=
UIView
()
}
self
.
tableView
.
reloadData
()
}
}
}
func
setupUI
()
{
...
...
@@ -36,8 +71,10 @@ extension YHLifeViewController {
view
.
backgroundColor
=
.
white
sectionView
=
{
let
view
=
YHLifeSectionView
()
view
.
items
=
[
"创业"
,
"教育"
,
"永居"
]
view
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
selectSubTab
=
self
.
viewModel
.
categoryArr
[
model
]
self
.
getDetailImages
()
}
return
view
}()
...
...
@@ -71,11 +108,12 @@ extension YHLifeViewController {
extension
YHLifeViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
10
return
self
.
viewModel
.
detailModel
.
products
.
count
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHLifeItemTableViewCell
.
self
)
cell
.
dataSource
=
self
.
viewModel
.
detailModel
.
products
[
indexPath
.
row
]
return
cell
}
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/Life(生活)/V/YHLifeHeadView.swift
View file @
63aa61da
...
...
@@ -23,7 +23,7 @@ class YHLifeHeadView: UIView {
func
setUpView
()
{
addSubview
(
imageView
)
imageView
.
backgroundColor
=
.
red
imageView
.
image
=
UIImage
(
named
:
"global_default_image"
)
imageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
8
)
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/Life(生活)/V/YHLifeItemTableViewCell.swift
View file @
63aa61da
...
...
@@ -12,6 +12,15 @@ class YHLifeItemTableViewCell: UITableViewCell {
var
centerImageView
:
UIImageView
!
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
var
dataSource
:
YHProductModel
?
{
didSet
{
guard
let
dataSource
=
dataSource
else
{
return
}
self
.
titleLabel
.
text
=
dataSource
.
name
self
.
subTitleLabel
.
text
=
dataSource
.
description
guard
let
url
=
URL
(
string
:
dataSource
.
image
)
else
{
return
}
self
.
centerImageView
.
kf
.
setImage
(
with
:
url
)
}
}
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
// Initialization code
...
...
@@ -37,7 +46,7 @@ class YHLifeItemTableViewCell: UITableViewCell {
self
.
backgroundColor
=
.
white
centerImageView
=
{
let
imageView
=
UIImageView
()
imageView
.
image
=
UIImage
(
named
:
"
invitation_with_gifts_first
"
)
imageView
.
image
=
UIImage
(
named
:
"
global_default_image
"
)
return
imageView
}()
contentView
.
addSubview
(
centerImageView
)
...
...
@@ -49,7 +58,6 @@ class YHLifeItemTableViewCell: UITableViewCell {
titleLabel
=
{
let
view
=
UILabel
()
view
.
text
=
"注册公司"
view
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
view
.
textColor
=
UIColor
.
mainTextColor
return
view
...
...
@@ -64,7 +72,6 @@ class YHLifeItemTableViewCell: UITableViewCell {
subTitleLabel
=
{
let
view
=
UILabel
()
view
.
text
=
"长期稳定银行渠道,可选择的银行多"
view
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
view
.
textColor
=
UIColor
.
mainTextColor50
return
view
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
View file @
63aa61da
...
...
@@ -521,28 +521,28 @@ extension YHHomePageViewModel {
func
getGoodsCategoryDetail
(
params
:[
String
:
Any
]
=
[:],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Common
.
homeLifeDetail
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
//1. json字符串 转 对象
if
json
.
code
==
200
{
let
dic
=
json
.
data
guard
let
result
=
YHHomeLifeCategoryDetailModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
self
.
detailModel
=
YHHomeLifeCategoryDetailModel
()
callBackBlock
(
false
,
nil
)
return
}
self
.
detailModel
=
result
callBackBlock
(
true
,
nil
)
}
else
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Common
.
homeLifeDetail
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
//1. json字符串 转 对象
if
json
.
code
==
200
{
let
dic
=
json
.
data
guard
let
result
=
YHHomeLifeCategoryDetailModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
self
.
detailModel
=
YHHomeLifeCategoryDetailModel
()
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
callBackBlock
(
false
,
nil
)
return
}
}
failBlock
:
{
err
in
self
.
detailModel
=
result
callBackBlock
(
true
,
nil
)
}
else
{
self
.
detailModel
=
YHHomeLifeCategoryDetailModel
()
callBackBlock
(
false
,
err
)
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
self
.
detailModel
=
YHHomeLifeCategoryDetailModel
()
callBackBlock
(
false
,
err
)
}
}
}
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