markdown文本显示

This commit is contained in:
fsy
2025-03-25 21:20:25 +08:00
parent 49e8f6fe59
commit a665c4c100
9 changed files with 136 additions and 10 deletions

View File

@@ -1,15 +1,18 @@
<template>
<div class="chat-message" :class="{ 'user-message': isUser, 'ai-message': !isUser }">
<div class="message-content">
<div class="message-text">{{ message.content }}</div>
<div class="message-text" v-html="parsedContent"></div>
<div class="message-time">{{ formattedTime }}</div>
</div>
</div>
</template>
<script>
import MarkdownIt from 'markdown-it';
import { computed } from 'vue';
const md = new MarkdownIt();
export default {
name: 'ChatMessage',
@@ -32,10 +35,18 @@ export default {
const date = new Date(props.message.timestamp);
return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
});
const parsedContent = computed(() => {
if (props.message.sender === 'user') {
return props.message.content;
}
return md.render(props.message.content);
});
return {
isUser,
formattedTime
formattedTime,
parsedContent
};
}
};