完成图片、文件兼容修改语音icon 回复头像显示
This commit is contained in:
@@ -41,16 +41,16 @@
|
||||
<TextMessageRender :message="source" />
|
||||
</template>
|
||||
<template v-else-if="source.contentType === 102">
|
||||
<MediaMessageRender :source="source" />
|
||||
<MediaMessageRender :message="source" />
|
||||
</template>
|
||||
<template v-else-if="source.contentType === 103">
|
||||
<VoiceMessageRender :source="source" />
|
||||
<VoiceMessageRender :source="source" :isSender="isSender" />
|
||||
</template>
|
||||
<template v-else-if="source.contentType === 104">
|
||||
<view style="color:#999">[暂未实现] 视频消息</view>
|
||||
</template>
|
||||
<template v-else-if="source.contentType === 105">
|
||||
<view style="color:#999">[暂未实现] 文件消息</view>
|
||||
<FileMessageRender :source="source" />
|
||||
</template>
|
||||
<template v-else-if="source.contentType === 106">
|
||||
<view style="color:#999">[暂未实现] @消息</view>
|
||||
@@ -93,6 +93,7 @@ import TextMessageRender from "./TextMessageRender.vue";
|
||||
import MediaMessageRender from "./MediaMessageRender.vue";
|
||||
import ErrorMessageRender from "./ErrorMessageRender.vue";
|
||||
import VoiceMessageRender from './VoiceMessageRender.vue'
|
||||
import FileMessageRender from './FileMessageRender.vue'
|
||||
import { noticeMessageTypes } from "@/constant";
|
||||
import { tipMessaggeFormat, formatMessageTime } from "@/util/imCommon";
|
||||
|
||||
@@ -106,7 +107,8 @@ export default {
|
||||
TextMessageRender,
|
||||
MediaMessageRender,
|
||||
ErrorMessageRender,
|
||||
VoiceMessageRender
|
||||
VoiceMessageRender,
|
||||
FileMessageRender
|
||||
},
|
||||
props: {
|
||||
source: Object,
|
||||
@@ -131,15 +133,18 @@ export default {
|
||||
);
|
||||
},
|
||||
formattedMessageTime() {
|
||||
return formatMessageTime(this.source.sendTime);
|
||||
return this.source && this.source.sendTime ? formatMessageTime(this.source.sendTime) : '';
|
||||
},
|
||||
showTextRender() {
|
||||
return textRenderTypes.includes(this.source.contentType);
|
||||
return this.source && this.source.contentType ? textRenderTypes.includes(this.source.contentType) : false;
|
||||
},
|
||||
showMediaRender() {
|
||||
return mediaRenderTypes.includes(this.source.contentType);
|
||||
return this.source && this.source.contentType ? mediaRenderTypes.includes(this.source.contentType) : false;
|
||||
},
|
||||
getNoticeContent() {
|
||||
if (!this.source || !this.source.contentType) {
|
||||
return "";
|
||||
}
|
||||
const isNoticeMessage = noticeMessageTypes.includes(
|
||||
this.source.contentType
|
||||
);
|
||||
@@ -151,13 +156,13 @@ export default {
|
||||
);
|
||||
},
|
||||
isSuccessMessage() {
|
||||
return this.source.status === MessageStatus.Succeed;
|
||||
return this.source && this.source.status === MessageStatus.Succeed;
|
||||
},
|
||||
isFailedMessage() {
|
||||
return this.source.status === MessageStatus.Failed;
|
||||
return this.source && this.source.status === MessageStatus.Failed;
|
||||
},
|
||||
showSending() {
|
||||
return this.source.status === MessageStatus.Sending && !this.sendingDelay;
|
||||
return this.source && this.source.status === MessageStatus.Sending && !this.sendingDelay;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
@@ -166,7 +171,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
setSendingDelay() {
|
||||
if (this.source.status === MessageStatus.Sending) {
|
||||
if (this.source && this.source.status === MessageStatus.Sending) {
|
||||
setTimeout(() => {
|
||||
this.sendingDelay = false;
|
||||
}, 2000);
|
||||
|
||||
Reference in New Issue
Block a user