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
36e54d2b
Commit
36e54d2b
authored
Jun 16, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加 首页 信息预加载功能
parent
119719e9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
2 deletions
+52
-2
YHHomePageViewController.swift
...Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
+17
-0
YHHomePageViewModel.swift
...axy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
+28
-2
YHServiceCenterMainViewController.swift
...ntService(服务中心)/C/YHServiceCenterMainViewController.swift
+7
-0
No files found.
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
View file @
36e54d2b
...
...
@@ -418,3 +418,20 @@ extension YHHomePageViewController {
}
}
}
extension
YHHomePageViewController
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
itemNumber
=
viewModel
.
preloadItemIndex
// 你想要检查的item的位置,例如10
// 首先,计算IndexPath
let
section
=
0
// 假设只有一个section
let
itemIndex
=
itemNumber
-
1
// UICollectionView的item索引从0开始
let
indexPathToCheck
=
IndexPath
(
item
:
itemIndex
,
section
:
section
)
// 然后,检查这个IndexPath是否在当前可见的item列表中
if
homeCollectView
.
indexPathsForVisibleItems
.
contains
(
indexPathToCheck
)
{
printLog
(
"第
\(
itemNumber
)
个item已经展示出来了"
)
loadMoreData
()
}
else
{
printLog
(
"
\(
itemNumber
)
目标不在范围内"
)
}
}
}
galaxy/galaxy/Classes/Modules/Home(首页)/VM/YHHomePageViewModel.swift
View file @
36e54d2b
...
...
@@ -15,11 +15,16 @@ class YHHomePageViewModel : YHBaseViewModel {
var
banners
:
[
YHBannerModel
]?
var
classify
:
[
YHHomeClassifyModel
]?
var
hkList
:
[
YHHKEventModel
]?
//首页相关参数
private
var
curPageIndex
:
Int
=
1
private
var
page_Size
:
Int
=
50
var
preloadItemIndex
:
Int
=
25
private
var
isRequestHomeNewsDataFlag
:
Bool
=
false
var
totalCount
:
Int
=
0
var
hasMoreForHomeNews
:
Bool
=
true
// 搜索
let
searchPageSize
:
Int
=
20
}
...
...
@@ -50,6 +55,22 @@ extension YHHomePageViewModel {
firstPageFlag true - 首次 false - 更多
*/
func
getHomeNewsList
(
firstPageFlag
:
Bool
,
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
if
firstPageFlag
==
false
{
guard
hasMoreForHomeNews
==
true
else
{
printLog
(
"无更多数据可请求"
)
return
}
}
guard
isRequestHomeNewsDataFlag
==
false
else
{
printLog
(
"正在进行请求"
)
return
}
isRequestHomeNewsDataFlag
=
true
var
params
:
[
String
:
Any
]
=
[
"page"
:
curPageIndex
,
"page_size"
:
page_Size
]
if
firstPageFlag
{
...
...
@@ -62,6 +83,8 @@ extension YHHomePageViewModel {
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Common
.
consultApi
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
self
.
isRequestHomeNewsDataFlag
=
false
//1. json字符串 转 对象
if
json
.
code
==
200
{
let
dic
=
json
.
data
...
...
@@ -85,6 +108,8 @@ extension YHHomePageViewModel {
self
.
arrHomeNewsData
?
.
append
(
contentsOf
:
result
.
data
)
}
if
result
.
data
.
count
>=
page_Size
{
if
let
count
=
self
.
arrHomeNewsData
?
.
count
{
if
count
>=
self
.
totalCount
{
...
...
@@ -97,14 +122,15 @@ extension YHHomePageViewModel {
self
.
hasMoreForHomeNews
=
false
}
preloadItemIndex
=
25
+
(
curPageIndex
-
1
)
*
page_Size
callBackBlock
(
true
,
nil
)
}
else
{
// self.arrHomeNewsData = []
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
// self.arrHomeNewsData = []
self
.
isRequestHomeNewsDataFlag
=
false
callBackBlock
(
false
,
err
)
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceCenterMainViewController.swift
View file @
36e54d2b
...
...
@@ -98,6 +98,13 @@ class YHServiceCenterMainViewController: YHBaseViewController {
noDataView
.
clickShowBtnClickBlock
=
{
YHServiceOrderAlertView
.
show
()
}
noDataView
.
isHidden
=
false
nameBgImageView
.
isHidden
=
true
segmentedView
.
isHidden
=
true
listContainerView
.
isHidden
=
true
orderButton
.
isHidden
=
true
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
...
...
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