perf: 网络恢复后重新标记已读失败的信息

This commit is contained in:
kuaifan 2023-03-03 23:20:13 +08:00
parent 947e5ed130
commit 1913e58758

View File

@ -388,6 +388,7 @@ export default {
dispatch("getDialogs").catch(() => {}); dispatch("getDialogs").catch(() => {});
dispatch("getReportUnread", 1000); dispatch("getReportUnread", 1000);
dispatch("getTaskForDashboard"); dispatch("getTaskForDashboard");
dispatch("dialogMsgRead");
// //
const allIds = Object.values(state.userAvatar).map(({userid}) => userid); const allIds = Object.values(state.userAvatar).map(({userid}) => userid);
[...new Set(allIds)].some(userid => dispatch("getUserBasic", {userid})) [...new Set(allIds)].some(userid => dispatch("getUserBasic", {userid}))
@ -2609,15 +2610,19 @@ export default {
* @param data * @param data
*/ */
dialogMsgRead({state, dispatch}, data) { dialogMsgRead({state, dispatch}, data) {
if (data.userid == state.userId) return; if ($A.isJson(data)) {
if (data.read_at) return; if (data.userid == state.userId) return;
data.read_at = $A.formatDate(); if (data.read_at) return;
// data.read_at = $A.formatDate();
state.wsReadWaitData[data.id] = data.id; state.wsReadWaitData[data.id] = data.id;
}
clearTimeout(state.wsReadTimeout); clearTimeout(state.wsReadTimeout);
state.wsReadTimeout = setTimeout(_ => { state.wsReadTimeout = setTimeout(_ => {
const ids = Object.values(state.wsReadWaitData); const ids = Object.values(state.wsReadWaitData);
state.wsReadWaitData = {}; state.wsReadWaitData = {};
if (ids.length === 0) {
return
}
// //
dispatch("call", { dispatch("call", {
url: 'dialog/msg/read', url: 'dialog/msg/read',