Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
foreign
/
customer-service
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
9861a612
authored
Dec 15, 2021
by
Sixong.Zhu
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
u
parent
e25d4958
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
5 deletions
hybrid-input/index.vue
store/index.ts
hybrid-input/index.vue
View file @
9861a612
...
...
@@ -164,6 +164,7 @@
private
emoji
:
EmojiItem
[]
=
[];
private
percentage
=
0
;
private
reloadTimer
=
0
;
@
Watch
(
"chatId"
)
private
onChatIdChanged
(
v
:
number
,
old
:
number
)
{
...
...
@@ -344,7 +345,10 @@
if
(
this
.
chatId
)
{
chatCache
[
this
.
chatId
]
=
[];
}
setTimeout
(()
=>
this
.
getMyChatList
(),
120
);
if
(
this
.
reloadTimer
)
{
clearTimeout
(
this
.
reloadTimer
);
}
this
.
reloadTimer
=
setTimeout
(()
=>
this
.
getMyChatList
(),
120
);
}
/**
...
...
store/index.ts
View file @
9861a612
...
...
@@ -124,6 +124,16 @@ export function getLastMessageId(msgs: Message[] | any) {
return
0
;
}
let
loadingChatList
=
false
;
let
cachedLoadingChatListAction
:
((
value
:
ChatType
[])
=>
void
)[]
=
[];
function
clearAction
(
value
:
ChatType
[])
{
for
(
const
item
of
cachedLoadingChatListAction
)
{
item
(
value
);
}
cachedLoadingChatListAction
=
[];
return
value
;
}
export
default
{
namespaced
:
true
,
state
:
()
=>
({
...
...
@@ -412,6 +422,14 @@ export default {
async
[
ChatStore
.
ACTION_GET_MY_CHAT_LIST
]({
commit
,
state
})
{
commit
(
ChatStore
.
MUTATION_SAVE_MYSELF_ID
);
if
(
loadingChatList
)
{
return
new
Promise
<
ChatType
[]
>
((
resolve
)
=>
cachedLoadingChatListAction
.
push
(
resolve
)
);
}
loadingChatList
=
true
;
let
cache
=
await
dbController
.
getChatList
();
cache
.
sort
((
x
,
y
)
=>
(
x
.
last_msg_ts
<
y
.
last_msg_ts
?
1
:
-
1
));
...
...
@@ -467,9 +485,9 @@ export default {
resolve
(
buildUnreadMessage
(
cache
));
});
});
});
})
.
finally
(()
=>
(
loadingChatList
=
false
))
;
return
await
execute
().
then
((
d
)
=>
d
);
return
await
execute
().
then
((
d
)
=>
clearAction
(
d
)
);
}
const
execute
=
()
=>
...
...
@@ -490,9 +508,9 @@ export default {
resolve
(
buildUnreadMessage
(
items
));
});
});
});
})
.
finally
(()
=>
(
loadingChatList
=
false
))
;
return
await
execute
().
then
((
d
)
=>
d
);
return
await
execute
().
then
((
d
)
=>
clearAction
(
d
)
);
},
async
[
ChatStore
.
ACTION_FORCE_RELOAD_CHAT_LIST
]({
commit
})
{
return
new
Promise
<
ChatType
[]
>
((
resolve
)
=>
{
...
...
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