From 4cec0a7350f51bf0cd1baefe7b044f2692806011 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 25 Jul 2025 11:38:51 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=9C=BA=E5=99=A8=E4=BA=BA=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=96=B0=E4=BC=9A=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/DialogController.php | 1 - app/Models/UserBot.php | 1 - app/Models/WebSocketDialog.php | 1 - app/Models/WebSocketDialogMsg.php | 2 +- app/Models/WebSocketDialogSession.php | 11 +++++------ 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 599e8e832..33431124f 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -3304,7 +3304,6 @@ class DialogController extends AbstractController // $session = WebSocketDialogSession::create([ 'dialog_id' => $dialog->id, - 'title' => '', ]); $session->save(); $dialog->session_id = $session->id; diff --git a/app/Models/UserBot.php b/app/Models/UserBot.php index 87623d927..b8d2fc420 100644 --- a/app/Models/UserBot.php +++ b/app/Models/UserBot.php @@ -475,7 +475,6 @@ class UserBot extends AbstractModel if ($sessionSupported) { $dialogSession = WebSocketDialogSession::create([ 'dialog_id' => $dialog->id, - 'title' => 'Default', ]); $dialogSession->save(); $dialog->session_id = $dialogSession->id; diff --git a/app/Models/WebSocketDialog.php b/app/Models/WebSocketDialog.php index 779a64108..02aaba5b5 100644 --- a/app/Models/WebSocketDialog.php +++ b/app/Models/WebSocketDialog.php @@ -868,7 +868,6 @@ class WebSocketDialog extends AbstractModel if ($user->isAiBot() || User::find($receiver)?->isAiBot()) { $session = WebSocketDialogSession::create([ 'dialog_id' => $dialog->id, - 'title' => '', ]); $session->save(); $dialog->session_id = $session->id; diff --git a/app/Models/WebSocketDialogMsg.php b/app/Models/WebSocketDialogMsg.php index c50b44fd6..b76376838 100644 --- a/app/Models/WebSocketDialogMsg.php +++ b/app/Models/WebSocketDialogMsg.php @@ -656,7 +656,7 @@ class WebSocketDialogMsg extends AbstractModel * @param bool $preserveHtml 保留html格式 * @return string|string[]|null */ - private static function previewTextMsg($msgData, $preserveHtml = false) + public static function previewTextMsg($msgData, $preserveHtml = false) { $text = $msgData['text'] ?? ''; if (!$text) return ''; diff --git a/app/Models/WebSocketDialogSession.php b/app/Models/WebSocketDialogSession.php index f0911c952..d58dd0ef8 100644 --- a/app/Models/WebSocketDialogSession.php +++ b/app/Models/WebSocketDialogSession.php @@ -66,15 +66,14 @@ class WebSocketDialogSession extends AbstractModel if ($dialogMsg->type != 'text') { return; } + if ($dialogMsg->msg['text'] === '...') { + return; + } $cacheKey = 'dialog_session_title_' . $sessionId; if (Cache::has($cacheKey)) { return; } - $originalTitle = $dialogMsg->key ?: $dialogMsg->msg['text'] ?: 'Untitled'; - $title = Base::cutStr($originalTitle, 100); - if ($title == '...') { - return; - } + $title = $dialogMsg->key ?: WebSocketDialogMsg::previewTextMsg($dialogMsg->msg) ?: 'Untitled'; $session = self::whereId($sessionId)->first(); if (!$session) { return; @@ -82,6 +81,6 @@ class WebSocketDialogSession extends AbstractModel $session->title = $title; $session->save(); Cache::forever($cacheKey, true); - Task::deliver(new UpdateSessionTitleViaAiTask($session->id, $originalTitle)); + Task::deliver(new UpdateSessionTitleViaAiTask($session->id, $dialogMsg->msg['text'])); } }