From 33fe4936b4ae6f3b784ec583ac58b055256153d2 Mon Sep 17 00:00:00 2001 From: GatlinHa <312777916@qq.com> Date: Fri, 30 May 2025 22:28:21 +0800 Subject: [PATCH] bug fixed --- src/js/utils/message.js | 2 +- .../components/DialogForMsgForward.vue | 19 +++++++---------- .../components/DialogForMsgHistory.vue | 21 +++++++------------ src/views/message/components/InputEditor.vue | 2 +- src/views/message/components/MessageItem.vue | 4 ++-- 5 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/js/utils/message.js b/src/js/utils/message.js index 7a612d4..3280235 100644 --- a/src/js/utils/message.js +++ b/src/js/utils/message.js @@ -10,7 +10,7 @@ const documentData = useDocumentStore() export const showSimplifyMsgContent = (content) => { const arr = jsonParseSafe(content) - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return content } diff --git a/src/views/message/components/DialogForMsgForward.vue b/src/views/message/components/DialogForMsgForward.vue index f3b07f2..53dd76b 100644 --- a/src/views/message/components/DialogForMsgForward.vue +++ b/src/views/message/components/DialogForMsgForward.vue @@ -65,7 +65,7 @@ const loadRelatedMsg = async () => { for (const msg of props.msgs) { const content = msg.content const arr = jsonParseSafe(content) - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { continue } @@ -131,7 +131,7 @@ const renderContent = ({ msg }) => { const msgId = msg.msgId const arr = jsonParseSafe(content) // 不允许非结构化的content - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return } @@ -191,8 +191,7 @@ const renderAudio = (audioId) => { + size={audioData.audio[audioId].size}> ) } else { return {`[${audioId}]`} @@ -217,8 +216,7 @@ const renderImage = (imgId, isScreenShot = false) => { imgId={imgId} isScreenShot={isScreenShot} thumbWidth={imageData.image[imgId].thumbWidth} - thumbHeight={imageData.image[imgId].thumbHeight} - > + thumbHeight={imageData.image[imgId].thumbHeight}> ) } else { return {`[${imgId}]`} @@ -236,8 +234,7 @@ const renderVideo = (videoId, msgId) => { fileName={videoData.video[videoId].fileName} size={videoData.video[videoId].size} width={videoData.video[videoId].width} - height={videoData.video[videoId].height} - > + height={videoData.video[videoId].height}> ) } else { return {`[${videoId}]`} @@ -252,8 +249,7 @@ const renderDocument = (documentId) => { url={url} fileName={documentData.document[documentId].fileName} fileSize={documentData.document[documentId].size} - contentType={documentData.document[documentId].documentType} - > + contentType={documentData.document[documentId].documentType}> ) } else { return {`[${documentId}]`} @@ -316,8 +312,7 @@ const renderForwardTogether = (forwardContent, msgId) => { }) // 挂载到新创建的容器 app.mount(container) - }} - > + }}>
{title}
diff --git a/src/views/message/components/DialogForMsgHistory.vue b/src/views/message/components/DialogForMsgHistory.vue index d548e22..ead02ba 100644 --- a/src/views/message/components/DialogForMsgHistory.vue +++ b/src/views/message/components/DialogForMsgHistory.vue @@ -232,7 +232,7 @@ const historyMsgsShow = computed(() => { data = historyMsgs.value.filter((msg) => { const arr = jsonParseSafe(msg.content) // 不允许非结构化的content - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return false } @@ -320,7 +320,7 @@ const loadRelatedMsg = async () => { for (const msg of historyMsgs.value) { const content = msg.content const arr = jsonParseSafe(content) - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { continue } @@ -404,7 +404,7 @@ const renderContent = ({ msg }) => { const msgId = msg.msgId const arr = jsonParseSafe(content) // 不允许非结构化的content - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return } @@ -464,8 +464,7 @@ const renderAudio = (audioId) => { + size={audioData.audio[audioId].size}> ) } else { return {`[${audioId}]`} @@ -490,8 +489,7 @@ const renderImage = (imgId, isScreenShot = false) => { imgId={imgId} isScreenShot={isScreenShot} thumbWidth={imageData.image[imgId].thumbWidth} - thumbHeight={imageData.image[imgId].thumbHeight} - > + thumbHeight={imageData.image[imgId].thumbHeight}> ) } else { return {`[${imgId}]`} @@ -509,8 +507,7 @@ const renderVideo = (videoId, msgId) => { fileName={videoData.video[videoId].fileName} size={videoData.video[videoId].size} width={videoData.video[videoId].width} - height={videoData.video[videoId].height} - > + height={videoData.video[videoId].height}> ) } else { return {`[${videoId}]`} @@ -525,8 +522,7 @@ const renderDocument = (documentId) => { url={url} fileName={documentData.document[documentId].fileName} fileSize={documentData.document[documentId].size} - contentType={documentData.document[documentId].documentType} - > + contentType={documentData.document[documentId].documentType}> ) } else { return {`[${documentId}]`} @@ -589,8 +585,7 @@ const renderForward = (forwardContent, msgId) => { }) // 挂载到新创建的容器 app.mount(container) - }} - > + }}>
{title}
diff --git a/src/views/message/components/InputEditor.vue b/src/views/message/components/InputEditor.vue index 5736af2..9c51544 100644 --- a/src/views/message/components/InputEditor.vue +++ b/src/views/message/components/InputEditor.vue @@ -731,7 +731,7 @@ const renderContent = async (content) => { const arr = jsonParseSafe(content) // 不允许非结构化的content - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { quill.value.setText('') return } diff --git a/src/views/message/components/MessageItem.vue b/src/views/message/components/MessageItem.vue index f6bd309..5b09bb2 100644 --- a/src/views/message/components/MessageItem.vue +++ b/src/views/message/components/MessageItem.vue @@ -79,7 +79,7 @@ onMounted(async () => { */ const loadRelatedMsg = async () => { const arr = jsonParseSafe(msg.value.content) - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return } @@ -151,7 +151,7 @@ const renderComponent = (content) => { const arr = jsonParseSafe(content) // 不允许非结构化的content - if (!arr) { + if (!arr || !Array.isArray(arr) || arr.length === 0) { return h('span', '') }