diff --git a/app/Models/WebSocketDialogMsg.php b/app/Models/WebSocketDialogMsg.php index 7de81034a..8cae5439e 100644 --- a/app/Models/WebSocketDialogMsg.php +++ b/app/Models/WebSocketDialogMsg.php @@ -679,18 +679,14 @@ class WebSocketDialogMsg extends AbstractModel } /** - * 返回引用消息(如果是文本消息则截取) - * @param int $strlen + * 返回引用消息(如果是文本只取预览) * @return array|mixed */ - public function quoteTextMsg($strlen = 30) + public function quoteTextMsg() { $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; } @@ -710,6 +706,10 @@ class WebSocketDialogMsg extends AbstractModel if (!$preserveHtml) { $text = strip_tags($text); $text = str_replace([" ", "&", "<", ">"], [" ", "&", "<", ">"], $text); + $text = preg_replace("/\s+/", " ", $text); + if (mb_strlen($text) > 30) { + $text = mb_substr($text, 0, 30) . "..."; + } } return $text; } diff --git a/resources/assets/js/functions/web.js b/resources/assets/js/functions/web.js index 2b30efc6e..8f2a88594 100755 --- a/resources/assets/js/functions/web.js +++ b/resources/assets/js/functions/web.js @@ -270,10 +270,15 @@ import {MarkdownPreview} from "../store/markdown"; .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") + .replace(/\s+/g, " ") if (imgClassName) { text = text.replace(/\[image:(.*?)\]/g, ``) text = text.replace(/\{\{RemoteURL\}\}/g, this.apiUrl('../')) } + const tmpText = text.substring(0, 30) + if (tmpText.length < text.length) { + text = tmpText + '...' + } return text }, diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 68487fb9b..571aa0a5d 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -1074,22 +1074,13 @@ export default { return; // 窗口激活且最后打开的会话是通知的会话时不通知 } // - const {id, dialog_id, dialog_type, type, msg, userid} = data; + const {id, dialog_id, dialog_type, userid} = data; if (userid == this.userId) { return; // 自己的消息不通知 } - let body; - switch (type) { - case 'text': - body = $A.getMsgTextPreview(msg.type === 'md' ? MarkdownPreview(msg.text) : msg.text) - break; - case 'file': - body = '[' + this.$L(msg.type == 'img' ? '图片信息' : '文件信息') + ']' - break; - default: - return; - } + const body = $A.getMsgSimpleDesc(data); this.__notificationId = id; + // const notificationFuncA = (title) => { if (dialog_type === 'group') { let tempUser = this.cacheUserBasic.find(item => item.userid == userid);