perf: 优化推送预览

This commit is contained in:
kuaifan 2024-10-27 05:31:04 +08:00
parent 36cb8290f4
commit 19a1ae9bec
3 changed files with 14 additions and 18 deletions

View File

@ -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(["&nbsp;", "&amp;", "&lt;", "&gt;"], [" ", "&", "<", ">"], $text);
$text = preg_replace("/\s+/", " ", $text);
if (mb_strlen($text) > 30) {
$text = mb_substr($text, 0, 30) . "...";
}
}
return $text;
}

View File

@ -270,10 +270,15 @@ import {MarkdownPreview} from "../store/markdown";
.replace(/&amp;/g, "&")
.replace(/&lt;/g, "<")
.replace(/&gt;/g, ">")
.replace(/\s+/g, " ")
if (imgClassName) {
text = text.replace(/\[image:(.*?)\]/g, `<img class="${imgClassName}" src="$1">`)
text = text.replace(/\{\{RemoteURL\}\}/g, this.apiUrl('../'))
}
const tmpText = text.substring(0, 30)
if (tmpText.length < text.length) {
text = tmpText + '...'
}
return text
},

View File

@ -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);