Browse Source

细节优化

master
xsx 6 months ago
parent
commit
f2ffda5e7a
  1. 5
      im-uniapp/components/chat-message-item/chat-message-item.vue
  2. 12
      im-uniapp/pages/chat/chat-box.vue
  3. 6
      im-web/src/components/chat/ChatBox.vue

5
im-uniapp/components/chat-message-item/chat-message-item.vue

@ -65,7 +65,7 @@
<text>{{ msgInfo.content }}</text>
</view>
</long-press-menu>
<view v-if="sending&&isTextMessage" class="sending">
<view v-if="sending&&(isTextMessage||isAudioMessage)" class="sending">
<loading :size="40" icon-color="#656adf" :mask="false"></loading>
</view>
<view v-else-if="sendFail" @click="onSendFail"
@ -228,6 +228,9 @@ export default {
isTextMessage() {
return this.msgInfo.type == this.$enums.MESSAGE_TYPE.TEXT
},
isAudioMessage() {
return this.msgInfo.type == this.$enums.MESSAGE_TYPE.AUDIO
},
isAction() {
return this.$msgType.isAction(this.msgInfo.type);
},

12
im-uniapp/pages/chat/chat-box.vue

@ -186,6 +186,7 @@ export default {
this.moveChatToTop();
this.sendMessageRequest(msgInfo).then((m) => {
//
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) {

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

Loading…
Cancel
Save