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) {