From 61aa50f3666294ed014b781ae1a1ba65e4dcbdbc Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sat, 4 Mar 2023 23:23:11 +0800 Subject: [PATCH] no message --- app/Http/Controllers/Api/UsersController.php | 2 +- app/Tasks/WebSocketDialogMsgTask.php | 12 ++++++++---- resources/assets/js/store/actions.js | 3 +-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 42b24287f..21b334cff 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -526,7 +526,7 @@ class UsersController extends AbstractController return preg_match("/\(M\)$/", $item); }); if ($dep) { - $tags[] = preg_replace("/\(M\)$/", "", trim($dep[0])) . " " . Base::Lang("负责人"); + $tags[] = preg_replace("/\(M\)$/", "", trim($dep[0])) . Base::Lang("负责人"); } if ($userInfo->isTemp()) { $tags[] = Base::Lang("临时"); diff --git a/app/Tasks/WebSocketDialogMsgTask.php b/app/Tasks/WebSocketDialogMsgTask.php index 751d080e9..622734932 100644 --- a/app/Tasks/WebSocketDialogMsgTask.php +++ b/app/Tasks/WebSocketDialogMsgTask.php @@ -86,6 +86,7 @@ class WebSocketDialogMsgTask extends AbstractTask if (empty($dialog)) { return; } + $updateds = $dialog->dialogUser->pluck('updated_at', 'userid')->toArray(); $silences = $dialog->dialogUser->pluck('silence', 'userid')->toArray(); $userids = array_keys($silences); @@ -113,11 +114,13 @@ class WebSocketDialogMsgTask extends AbstractTask $array = []; foreach ($userids AS $userid) { $silence = $this->silence || $silences[$userid]; + $updated = $updateds[$userid] ?? $msg->created_at; if ($userid == $msg->userid) { $array[$userid] = [ 'userid' => $userid, - 'silence' => $silence, 'mention' => false, + 'silence' => $silence, + 'updated' => $updated, ]; } else { $mention = array_intersect([0, $userid], $mentions) ? 1 : 0; @@ -131,8 +134,9 @@ class WebSocketDialogMsgTask extends AbstractTask ])->saveOrIgnore(); $array[$userid] = [ 'userid' => $userid, - 'silence' => $silence, 'mention' => $mention, + 'silence' => $silence, + 'updated' => $updated, ]; // 机器人收到消处理 $botUser = User::whereUserid($userid)->whereBot(1)->first(); @@ -156,8 +160,8 @@ class WebSocketDialogMsgTask extends AbstractTask 'silence' => $item['silence'] ? 1 : 0, 'data' => array_merge($msg->toArray(), [ 'mention' => $item['mention'], - 'user_at' => Carbon::parse($msg->created_at)->toDateTimeString(), - 'user_ms' => WebSocketDialogUser::userMs($msg->created_at), + 'user_at' => Carbon::parse($item['updated'])->toDateTimeString(), + 'user_ms' => WebSocketDialogUser::userMs($item['updated']), ]), ] ]; diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index df8cb85ad..51a87b959 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -2877,8 +2877,7 @@ export default { if (data.mention) { newData.mention++; } - const timeout = state.dialogIns.findIndex(item => item.dialog_id === dialog_id) > -1 ? 3000 : 300 - setTimeout(_ => dispatch("saveDialog", newData), timeout) + dispatch("saveDialog", newData) } } if (!silence) {