diff --git a/src/common/enums.js b/src/common/enums.js index 505e9065..e7b75795 100644 --- a/src/common/enums.js +++ b/src/common/enums.js @@ -4,6 +4,7 @@ const MESSAGE_TYPE = { FILE: 2, AUDIO: 3, VIDEO: 4, + GIFT: 5, RECALL: 10, READED: 11, RECEIPT: 12, diff --git a/src/components/chat-item/chat-item.vue b/src/components/chat-item/chat-item.vue index 4d7915d1..1a440d46 100644 --- a/src/components/chat-item/chat-item.vue +++ b/src/components/chat-item/chat-item.vue @@ -17,7 +17,8 @@ {{ chat.sendNickName + ': ' }} - {{ chat.lastContent }} + [礼物] + {{ chat.lastContent }} @@ -88,6 +89,14 @@ let messageType = this.chat.messages[idx].type; return messageType == this.$enums.MESSAGE_TYPE.TEXT; }, + isGiftMessage() { + if (this.chat.messages.length == 0) { + return false; + } + let idx = this.chat.messages.length - 1; + let messageType = this.chat.messages[idx].type; + return messageType == this.$enums.MESSAGE_TYPE.GIFT; + }, nodesText() { let text = this.$str.html2Escape(this.chat.lastContent); return this.$emo.transform(text, 'emoji-small'); diff --git a/src/components/chat-message-item/chat-message-item.vue b/src/components/chat-message-item/chat-message-item.vue index 9ab76b91..7346f2f4 100644 --- a/src/components/chat-message-item/chat-message-item.vue +++ b/src/components/chat-message-item/chat-message-item.vue @@ -68,6 +68,29 @@ + + + + 向你赠送了一个礼物 + + {{ JSON.parse(msgInfo.content).title }} + + + {{ + (JSON.parse(msgInfo.content).price / 100.0).toFixed(2).replace(/\.?0+$/, '') + + '钻石' + }} + + + + { + // 更新消息 + tmpMessage = JSON.parse(JSON.stringify(tmpMessage)); + tmpMessage.id = m.id; + tmpMessage.status = m.status; + tmpMessage.content = m.content; + this.chatStore.updateMessage(tmpMessage, chat); + }) + .catch(() => { + // 更新消息 + tmpMessage = JSON.parse(JSON.stringify(tmpMessage)); + tmpMessage.status = this.$enums.MESSAGE_STATUS.FAILED; + this.chatStore.updateMessage(tmpMessage, chat); + }); }, }); },