no message

This commit is contained in:
kuaifan 2023-03-04 23:23:11 +08:00
parent eee9045701
commit 61aa50f366
3 changed files with 10 additions and 7 deletions

View File

@ -526,7 +526,7 @@ class UsersController extends AbstractController
return preg_match("/\(M\)$/", $item); return preg_match("/\(M\)$/", $item);
}); });
if ($dep) { if ($dep) {
$tags[] = preg_replace("/\(M\)$/", "", trim($dep[0])) . " " . Base::Lang("负责人"); $tags[] = preg_replace("/\(M\)$/", "", trim($dep[0])) . Base::Lang("负责人");
} }
if ($userInfo->isTemp()) { if ($userInfo->isTemp()) {
$tags[] = Base::Lang("临时"); $tags[] = Base::Lang("临时");

View File

@ -86,6 +86,7 @@ class WebSocketDialogMsgTask extends AbstractTask
if (empty($dialog)) { if (empty($dialog)) {
return; return;
} }
$updateds = $dialog->dialogUser->pluck('updated_at', 'userid')->toArray();
$silences = $dialog->dialogUser->pluck('silence', 'userid')->toArray(); $silences = $dialog->dialogUser->pluck('silence', 'userid')->toArray();
$userids = array_keys($silences); $userids = array_keys($silences);
@ -113,11 +114,13 @@ class WebSocketDialogMsgTask extends AbstractTask
$array = []; $array = [];
foreach ($userids AS $userid) { foreach ($userids AS $userid) {
$silence = $this->silence || $silences[$userid]; $silence = $this->silence || $silences[$userid];
$updated = $updateds[$userid] ?? $msg->created_at;
if ($userid == $msg->userid) { if ($userid == $msg->userid) {
$array[$userid] = [ $array[$userid] = [
'userid' => $userid, 'userid' => $userid,
'silence' => $silence,
'mention' => false, 'mention' => false,
'silence' => $silence,
'updated' => $updated,
]; ];
} else { } else {
$mention = array_intersect([0, $userid], $mentions) ? 1 : 0; $mention = array_intersect([0, $userid], $mentions) ? 1 : 0;
@ -131,8 +134,9 @@ class WebSocketDialogMsgTask extends AbstractTask
])->saveOrIgnore(); ])->saveOrIgnore();
$array[$userid] = [ $array[$userid] = [
'userid' => $userid, 'userid' => $userid,
'silence' => $silence,
'mention' => $mention, 'mention' => $mention,
'silence' => $silence,
'updated' => $updated,
]; ];
// 机器人收到消处理 // 机器人收到消处理
$botUser = User::whereUserid($userid)->whereBot(1)->first(); $botUser = User::whereUserid($userid)->whereBot(1)->first();
@ -156,8 +160,8 @@ class WebSocketDialogMsgTask extends AbstractTask
'silence' => $item['silence'] ? 1 : 0, 'silence' => $item['silence'] ? 1 : 0,
'data' => array_merge($msg->toArray(), [ 'data' => array_merge($msg->toArray(), [
'mention' => $item['mention'], 'mention' => $item['mention'],
'user_at' => Carbon::parse($msg->created_at)->toDateTimeString(), 'user_at' => Carbon::parse($item['updated'])->toDateTimeString(),
'user_ms' => WebSocketDialogUser::userMs($msg->created_at), 'user_ms' => WebSocketDialogUser::userMs($item['updated']),
]), ]),
] ]
]; ];

View File

@ -2877,8 +2877,7 @@ export default {
if (data.mention) { if (data.mention) {
newData.mention++; newData.mention++;
} }
const timeout = state.dialogIns.findIndex(item => item.dialog_id === dialog_id) > -1 ? 3000 : 300 dispatch("saveDialog", newData)
setTimeout(_ => dispatch("saveDialog", newData), timeout)
} }
} }
if (!silence) { if (!silence) {