From 43a4e5741aaeed187ae9a81f811a4d7ef1dbc080 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 11 Jul 2022 07:30:22 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E7=B1=BB=E6=B6=88=E6=81=AF=E5=AD=97=E7=AC=A6=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/DialogController.php | 2 +- app/Models/WebSocketDialogMsg.php | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php index 4324e5ee5..ec69a4094 100755 --- a/app/Http/Controllers/Api/DialogController.php +++ b/app/Http/Controllers/Api/DialogController.php @@ -1130,7 +1130,7 @@ class DialogController extends AbstractController 'data' => [ 'id' => $msg->id, 'type' => $msg->type, - 'msg' => $msg->msg, + 'msg' => $msg->quoteTextMsg(), ] ]); if (Base::isSuccess($res)) { diff --git a/app/Models/WebSocketDialogMsg.php b/app/Models/WebSocketDialogMsg.php index 0cbb4769f..4cbb6ec84 100644 --- a/app/Models/WebSocketDialogMsg.php +++ b/app/Models/WebSocketDialogMsg.php @@ -283,7 +283,7 @@ class WebSocketDialogMsg extends AbstractModel 'data' => [ 'id' => $this->id, 'type' => $this->type, - 'msg' => $this->msg, + 'msg' => $this->quoteTextMsg(), ] ], $sender); if (Base::isSuccess($res)) { @@ -328,7 +328,7 @@ class WebSocketDialogMsg extends AbstractModel 'data' => [ 'id' => $this->id, 'type' => $this->type, - 'msg' => $this->msg, + 'msg' => $this->quoteTextMsg(), 'userids' => implode(",", $userids), ] ], $sender); @@ -490,6 +490,23 @@ class WebSocketDialogMsg extends AbstractModel }; } + /** + * 返回引用消息(如果是文本消息则截取) + * @param int $strlen + * @return array|mixed + */ + public function quoteTextMsg($strlen = 30) + { + $msg = $this->msg; + if ($this->type === 'text') { + $msg['text'] = $this->previewTextMsg($msg['text']); + if (mb_strlen($msg['text']) > $strlen) { + $msg['text'] = mb_substr($msg['text'], 0, $strlen - 3) . "..."; + } + } + return $msg; + } + /** * 返回文本预览消息 * @param $text