From f2ffda5e7a3260f2c3b026e43272c4e626db2455 Mon Sep 17 00:00:00 2001
From: xsx <825657193@qq.com>
Date: Thu, 16 Oct 2025 00:12:29 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../chat-message-item/chat-message-item.vue | 5 ++++-
im-uniapp/pages/chat/chat-box.vue | 12 +++++++++++-
im-web/src/components/chat/ChatBox.vue | 6 ++++++
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/im-uniapp/components/chat-message-item/chat-message-item.vue b/im-uniapp/components/chat-message-item/chat-message-item.vue
index 5b1a43d..f35dd7b 100644
--- a/im-uniapp/components/chat-message-item/chat-message-item.vue
+++ b/im-uniapp/components/chat-message-item/chat-message-item.vue
@@ -65,7 +65,7 @@
{{ msgInfo.content }}
-
+
{
// 更新消息
+ tmpMessage = JSON.parse(JSON.stringify(tmpMessage));
tmpMessage.id = m.id;
tmpMessage.status = m.status;
this.chatStore.updateMessage(tmpMessage, chat);
@@ -194,7 +195,10 @@ export default {
// 滚动到底部
this.scrollToBottom();
this.isReceipt = false;
-
+ }).catch(() => {
+ tmpMessage = JSON.parse(JSON.stringify(tmpMessage));
+ tmpMessage.status = this.$enums.MESSAGE_STATUS.FAILED;
+ this.chatStore.updateMessage(tmpMessage, chat);
})
},
onRtCall(msgInfo) {
@@ -474,6 +478,9 @@ export default {
msgInfo.status = m.status;
this.isReceipt = false;
this.chatStore.updateMessage(msgInfo, file.chat);
+ }).catch(() => {
+ msgInfo.status = this.$enums.MESSAGE_STATUS.FAILED;
+ this.chatStore.updateMessage(msgInfo, file.chat);
})
},
onUploadImageFail(file, err) {
@@ -527,6 +534,9 @@ export default {
msgInfo.status = m.status;
this.isReceipt = false;
this.chatStore.updateMessage(msgInfo, file.chat);
+ }).catch(() => {
+ msgInfo.status = this.$enums.MESSAGE_STATUS.FAILED;
+ this.chatStore.updateMessage(msgInfo, file.chat);
})
},
onUploadFileFail(file, res) {
diff --git a/im-web/src/components/chat/ChatBox.vue b/im-web/src/components/chat/ChatBox.vue
index 69152a1..3318a81 100644
--- a/im-web/src/components/chat/ChatBox.vue
+++ b/im-web/src/components/chat/ChatBox.vue
@@ -164,6 +164,9 @@ export default {
msgInfo.status = m.status;
this.isReceipt = false;
this.chatStore.updateMessage(msgInfo, file.chat);
+ }).catch(() => {
+ msgInfo.status = this.$enums.MESSAGE_STATUS.FAILED;
+ this.chatStore.updateMessage(msgInfo, file.chat);
})
},
onImageFail(e, file) {
@@ -227,6 +230,9 @@ export default {
this.isReceipt = false;
this.refreshPlaceHolder();
this.chatStore.updateMessage(msgInfo, file.chat);
+ }).catch(() => {
+ msgInfo.status = this.$enums.MESSAGE_STATUS.FAILED;
+ this.chatStore.updateMessage(msgInfo, file.chat);
})
},
onFileFail(e, file) {