Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
33a4100e
authored
Nov 10, 2024
by
puhui999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【功能完善】商城: 客服会话排序调整
parent
8b0778ca
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
41 deletions
+7
-41
src/store/modules/mall/kefu.ts
+7
-41
No files found.
src/store/modules/mall/kefu.ts
View file @
33a4100e
...
@@ -63,48 +63,14 @@ export const useMallKefuStore = defineStore('mall-kefu', {
...
@@ -63,48 +63,14 @@ export const useMallKefuStore = defineStore('mall-kefu', {
}
}
},
},
conversationSort
()
{
conversationSort
()
{
//
TODO @puhui999:1)逻辑上,先按照置顶、再按照最后消息时间;2)感觉写的有一丢丢小复杂,发给大模型,看看有没可能简化哈。
//
按置顶属性和最后消息时间排序
this
.
conversationList
.
sort
((
obj1
,
obj2
)
=>
{
this
.
conversationList
.
sort
((
a
,
b
)
=>
{
//
如果 obj1.adminPinned 为 true,obj2.adminPinned 为 false,obj1 应该排
在前面
//
按照置顶排序,置顶的会
在前面
if
(
obj1
.
adminPinned
&&
!
obj2
.
adminPinned
)
{
if
(
a
.
adminPinned
!==
b
.
adminPinned
)
{
return
-
1
return
a
.
adminPinned
?
-
1
:
1
}
}
// 如果 obj1.adminPinned 为 false,obj2.adminPinned 为 true,obj2 应该排在前面
// 按照最后消息时间排序,最近的会在前面
if
(
!
obj1
.
adminPinned
&&
obj2
.
adminPinned
)
{
return
(
b
.
lastMessageTime
as
unknown
as
number
)
-
(
a
.
lastMessageTime
as
unknown
as
number
)
return
1
}
// 如果 obj1.adminPinned 和 obj2.adminPinned 都为 true,比较 adminUnreadMessageCount 的值
if
(
obj1
.
adminPinned
&&
obj2
.
adminPinned
)
{
return
obj1
.
adminUnreadMessageCount
-
obj2
.
adminUnreadMessageCount
}
// 如果 obj1.adminPinned 和 obj2.adminPinned 都为 false,比较 adminUnreadMessageCount 的值
if
(
!
obj1
.
adminPinned
&&
!
obj2
.
adminPinned
)
{
return
obj1
.
adminUnreadMessageCount
-
obj2
.
adminUnreadMessageCount
}
// 如果 obj1.adminPinned 为 true,obj2.adminPinned 为 true,且 b 都大于 0,比较 adminUnreadMessageCount 的值
if
(
obj1
.
adminPinned
&&
obj2
.
adminPinned
&&
obj1
.
adminUnreadMessageCount
>
0
&&
obj2
.
adminUnreadMessageCount
>
0
)
{
return
obj1
.
adminUnreadMessageCount
-
obj2
.
adminUnreadMessageCount
}
// 如果 obj1.adminPinned 为 false,obj2.adminPinned 为 false,且 b 都大于 0,比较 adminUnreadMessageCount 的值
if
(
!
obj1
.
adminPinned
&&
!
obj2
.
adminPinned
&&
obj1
.
adminUnreadMessageCount
>
0
&&
obj2
.
adminUnreadMessageCount
>
0
)
{
return
obj1
.
adminUnreadMessageCount
-
obj2
.
adminUnreadMessageCount
}
return
0
})
})
}
}
}
}
...
...
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