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
f283f018
Commit
f283f018
authored
Jun 04, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 消息分页
parent
125383a2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
15 deletions
+47
-15
YHMessageDetailListVC.swift
...Classes/Modules/Message(消息)/C/YHMessageDetailListVC.swift
+26
-4
YHMsgViewModel.swift
...alaxy/Classes/Modules/Message(消息)/VM/YHMsgViewModel.swift
+20
-10
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+1
-1
No files found.
galaxy/galaxy/Classes/Modules/Message(消息)/C/YHMessageDetailListVC.swift
View file @
f283f018
...
@@ -15,6 +15,8 @@ class YHMessageDetailListVC: YHBaseViewController {
...
@@ -15,6 +15,8 @@ class YHMessageDetailListVC: YHBaseViewController {
// 滑动过程中出现在屏幕上的未读消息集合
// 滑动过程中出现在屏幕上的未读消息集合
var
visibleUnreadMsgIdSet
=
Set
<
String
>
()
var
visibleUnreadMsgIdSet
=
Set
<
String
>
()
var
visibleUnreadMsgArr
=
[
YHDetailMessageModel
]()
var
visibleUnreadMsgArr
=
[
YHDetailMessageModel
]()
var
currentPage
=
1
var
isLastPage
=
false
lazy
var
viewModel
=
{
lazy
var
viewModel
=
{
let
model
=
YHMsgViewModel
()
let
model
=
YHMsgViewModel
()
...
@@ -60,6 +62,9 @@ class YHMessageDetailListVC: YHBaseViewController {
...
@@ -60,6 +62,9 @@ class YHMessageDetailListVC: YHBaseViewController {
tableView
.
backgroundView
=
emptyDataTipsView
tableView
.
backgroundView
=
emptyDataTipsView
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
tableView
.
register
(
UITableViewCell
.
self
,
forCellReuseIdentifier
:
"UITableViewCell"
)
tableView
.
register
(
YHDetailMessageCell
.
self
,
forCellReuseIdentifier
:
YHDetailMessageCell
.
cellReuseIdentifier
)
tableView
.
register
(
YHDetailMessageCell
.
self
,
forCellReuseIdentifier
:
YHDetailMessageCell
.
cellReuseIdentifier
)
tableView
.
es
.
addInfiniteScrolling
{
self
.
getMsgList
(
more
:
true
)
}
return
tableView
return
tableView
}()
}()
...
@@ -74,11 +79,11 @@ class YHMessageDetailListVC: YHBaseViewController {
...
@@ -74,11 +79,11 @@ class YHMessageDetailListVC: YHBaseViewController {
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
setupUI
()
setupUI
()
getMsgList
()
}
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
super
.
viewWillAppear
(
animated
)
getMsgList
()
}
}
func
setupUI
()
{
func
setupUI
()
{
...
@@ -99,13 +104,30 @@ class YHMessageDetailListVC: YHBaseViewController {
...
@@ -99,13 +104,30 @@ class YHMessageDetailListVC: YHBaseViewController {
}
}
}
}
func
getMsgList
()
{
func
getMsgList
(
more
:
Bool
=
false
)
{
self
.
viewModel
.
getMsgDetailList
(
type
:
self
.
type
)
{
[
weak
self
]
success
,
error
in
if
isLastPage
{
tableView
.
es
.
stopLoadingMore
()
return
}
if
more
{
currentPage
+=
1
}
else
{
currentPage
=
1
}
self
.
viewModel
.
getMsgDetailList
(
type
:
self
.
type
,
page
:
currentPage
)
{
[
weak
self
]
success
,
isLastPage
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
msgArr
.
removeAll
()
msgArr
.
removeAll
()
msgArr
.
append
(
contentsOf
:
self
.
viewModel
.
msgDetailList
)
msgArr
.
append
(
contentsOf
:
self
.
viewModel
.
msgDetailList
)
emptyDataTipsView
.
isHidden
=
msgArr
.
count
>
0
emptyDataTipsView
.
isHidden
=
msgArr
.
count
>
0
self
.
isLastPage
=
isLastPage
tableView
.
es
.
stopLoadingMore
()
if
isLastPage
{
tableView
.
es
.
noticeNoMoreData
()
}
self
.
tableView
.
reloadData
{
self
.
tableView
.
reloadData
{
[
weak
self
]
in
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
...
...
galaxy/galaxy/Classes/Modules/Message(消息)/VM/YHMsgViewModel.swift
View file @
f283f018
...
@@ -9,6 +9,8 @@
...
@@ -9,6 +9,8 @@
import
UIKit
import
UIKit
import
SmartCodable
import
SmartCodable
let
kMsgPageSize
=
20
class
YHMsgViewModel
:
NSObject
{
class
YHMsgViewModel
:
NSObject
{
var
msgList
:
YHMsgListModel
=
YHMsgListModel
()
var
msgList
:
YHMsgListModel
=
YHMsgListModel
()
...
@@ -47,48 +49,56 @@ class YHMsgViewModel: NSObject {
...
@@ -47,48 +49,56 @@ class YHMsgViewModel: NSObject {
}
}
}
}
func
getMsgDetailList
(
type
:
Int
,
_
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?
)
->
())
{
func
getMsgDetailList
(
type
:
Int
,
page
:
Int
,
_
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
isLastPage
:
Bool
)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Message
.
msgDetaiListApi
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Message
.
msgDetaiListApi
let
params
=
[
"type"
:
type
]
let
params
=
[
"type"
:
type
,
"page"
:
page
,
"pageSize"
:
kMsgPageSize
]
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
json
,
code
in
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
json
,
code
in
let
dic
=
json
.
data
let
dic
=
json
.
data
guard
let
dic
=
dic
as?
[
String
:
Any
],
let
totalPage
=
dic
[
"page_count"
]
as?
Int
,
let
arrDict
=
dic
[
"list"
]
as?
[
Any
]
else
{
callBackBlock
(
false
,
false
)
return
}
// printLog("model 是 ==> \(json)")
// printLog("model 是 ==> \(json)")
if
json
.
code
==
200
{
if
json
.
code
==
200
{
DispatchQueue
.
global
()
.
async
{
DispatchQueue
.
global
()
.
async
{
guard
let
arr
=
[
YHDetailMessageModel
]
.
deserialize
(
array
:
dic
as?
[
Any
]
)
else
{
guard
let
arr
=
[
YHDetailMessageModel
]
.
deserialize
(
array
:
arrDict
)
else
{
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
let
error
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
let
error
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
self
.
msgDetailList
=
[]
self
.
msgDetailList
=
[]
callBackBlock
(
false
,
error
)
callBackBlock
(
false
,
false
)
}
}
return
return
}
}
DispatchQueue
.
main
.
async
{
DispatchQueue
.
main
.
async
{
self
.
msgDetailList
.
removeAll
()
if
page
==
1
{
self
.
msgDetailList
.
removeAll
()
}
for
item
in
arr
{
for
item
in
arr
{
if
let
item
=
item
{
if
let
item
=
item
{
self
.
msgDetailList
.
append
(
item
)
self
.
msgDetailList
.
append
(
item
)
}
}
}
}
callBackBlock
(
true
,
nil
)
let
currentPage
=
(
self
.
msgDetailList
.
count
+
kMsgPageSize
-
1
)
/
kMsgPageSize
callBackBlock
(
true
,
currentPage
==
totalPage
)
}
}
}
}
}
else
{
}
else
{
self
.
msgDetailList
=
[]
self
.
msgDetailList
=
[]
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
callBackBlock
(
false
,
false
)
}
}
}
failBlock
:
{
error
in
}
failBlock
:
{
error
in
self
.
msgDetailList
=
[]
self
.
msgDetailList
=
[]
callBackBlock
(
false
,
error
)
callBackBlock
(
false
,
false
)
}
}
}
}
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
f283f018
...
@@ -277,7 +277,7 @@ class YHAllApiName {
...
@@ -277,7 +277,7 @@ class YHAllApiName {
// 获取未读消息列表
// 获取未读消息列表
static
let
unreadMsgListApi
=
"infoflow/unread-message"
static
let
unreadMsgListApi
=
"infoflow/unread-message"
// 具体业务消息列表
// 具体业务消息列表
static
let
msgDetaiListApi
=
"infoflow/message/list"
static
let
msgDetaiListApi
=
"infoflow/message/list
/v2
"
// 标记消息已读
// 标记消息已读
static
let
readMsgApi
=
"infoflow/read-push"
static
let
readMsgApi
=
"infoflow/read-push"
// 获取未读消息总数
// 获取未读消息总数
...
...
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