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
bd833687
Commit
bd833687
authored
Apr 17, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 消息已读处理
parent
e0010798
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
5 deletions
+71
-5
YHMessageDetailListVC.swift
...Classes/Modules/Message(消息)/C/YHMessageDetailListVC.swift
+71
-5
No files found.
galaxy/galaxy/Classes/Modules/Message(消息)/C/YHMessageDetailListVC.swift
View file @
bd833687
...
...
@@ -12,6 +12,9 @@ class YHMessageDetailListVC: YHBaseViewController {
var
type
:
Int
=
-
1
var
msgArr
:[
YHDetailMessageModel
]
=
[]
// 滑动过程中出现在屏幕上的未读消息集合
var
visiblemsgIdSet
=
Set
<
String
>
()
var
visibleMsgArr
=
[
YHDetailMessageModel
]()
lazy
var
viewModel
=
{
let
model
=
YHMsgViewModel
()
...
...
@@ -118,7 +121,10 @@ class YHMessageDetailListVC: YHBaseViewController {
msgArr
.
removeAll
()
msgArr
.
append
(
contentsOf
:
self
.
viewModel
.
msgDetailList
)
emptyDataTipsView
.
isHidden
=
msgArr
.
count
>
0
self
.
tableView
.
reloadData
()
self
.
tableView
.
reloadData
{
[
weak
self
]
in
self
?
.
addUpAppearUnreadMessages
()
}
}
}
...
...
@@ -136,17 +142,50 @@ class YHMessageDetailListVC: YHBaseViewController {
self
.
tableView
.
reloadData
()
return
}
var
msg
=
"清除失败"
if
let
error
=
error
{
var
msg
=
"清除失败"
if
error
.
errorMsg
.
count
>
0
{
msg
=
error
.
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
return
}
YHHUD
.
flash
(
message
:
msg
)
}
}
func
markAppearMessagsReaded
()
{
var
msgIds
:[
Int
]
=
[]
var
resultArr
:[
YHDetailMessageModel
]
=
[]
for
msgItem
in
visibleMsgArr
{
if
let
msgId
=
Int
(
msgItem
.
id
),
msgItem
.
isRead
==
false
{
msgIds
.
append
(
msgId
)
resultArr
.
append
(
msgItem
)
}
}
if
msgIds
.
count
<=
0
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
"标记已读中..."
))
self
.
viewModel
.
readMessages
(
type
:
self
.
type
,
msgIds
:
msgIds
,
isAllRead
:
false
)
{
[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
if
success
{
for
msgItem
in
resultArr
{
msgItem
.
isRead
=
true
}
self
.
tableView
.
reloadData
()
return
}
var
msg
=
"标记已读失败"
if
let
error
=
error
{
if
error
.
errorMsg
.
count
>
0
{
msg
=
error
.
errorMsg
}
}
YHHUD
.
flash
(
message
:
msg
)
}
}
}
extension
YHMessageDetailListVC
:
UITableViewDelegate
,
UITableViewDataSource
{
...
...
@@ -187,5 +226,32 @@ extension YHMessageDetailListVC: UITableViewDelegate, UITableViewDataSource {
return
UIView
()
}
func
scrollViewDidEndDragging
(
_
scrollView
:
UIScrollView
,
willDecelerate
decelerate
:
Bool
)
{
if
scrollView
==
tableView
&&
!
decelerate
{
// 在这里处理滑动停止事件
print
(
"TableView 滑动停止"
)
markAppearMessagsReaded
()
}
}
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
addUpAppearUnreadMessages
()
}
// 累计出现在屏幕上的未读消息集合
func
addUpAppearUnreadMessages
()
{
guard
let
visibleIndexPaths
=
tableView
.
indexPathsForVisibleRows
else
{
return
}
for
indexPath
in
visibleIndexPaths
{
if
0
<=
indexPath
.
row
&&
indexPath
.
row
<
msgArr
.
count
{
let
msgItem
=
msgArr
[
indexPath
.
row
]
if
!
msgItem
.
isRead
{
if
!
visiblemsgIdSet
.
contains
(
msgItem
.
id
)
{
visiblemsgIdSet
.
insert
(
msgItem
.
id
)
visibleMsgArr
.
append
(
msgItem
)
}
}
}
}
}
}
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