diff --git a/web/package.json b/web/package.json
index 81f50e75..2a496842 100644
--- a/web/package.json
+++ b/web/package.json
@@ -26,6 +26,7 @@
"less": "^4.1.3",
"marked": "^13.0.2",
"marked-highlight": "^2.1.4",
+ "md-editor-v3": "^4.16.7",
"pinia": "^2.0.32",
"vue": "^3.5.13",
"vue-router": "^4.1.6"
diff --git a/web/src/components/MessageComponent.vue b/web/src/components/MessageComponent.vue
index 53acf069..b4bbcbc1 100644
--- a/web/src/components/MessageComponent.vue
+++ b/web/src/components/MessageComponent.vue
@@ -42,8 +42,8 @@
-
-
+
+
你停止生成了本次回答
重新编辑问题
@@ -73,6 +73,28 @@ import { markedHighlight } from 'marked-highlight';
import hljs from 'highlight.js';
import 'highlight.js/styles/github.css';
+import { MdPreview, config } from 'md-editor-v3'
+config({
+ markdownItConfig(md) {
+ md.renderer.rules.image = (tokens, idx, options, env, self) => {
+ tokens[idx].attrSet('style', 'display:inline-block;min-height:33px;padding:0;margin:0')
+ if (tokens[idx].content) {
+ tokens[idx].attrSet('title', tokens[idx].content)
+ }
+ tokens[idx].attrSet(
+ 'onerror',
+ 'this.src="/ui/assets/load_error.png";this.onerror=null;this.height="33px"'
+ )
+ return md.renderer.renderToken(tokens, idx, options)
+ }
+ md.renderer.rules.link_open = (tokens, idx, options, env, self) => {
+ tokens[idx].attrSet('target', '_blank')
+ return md.renderer.renderToken(tokens, idx, options)
+ }
+ document.appendChild
+ }
+})
+
const props = defineProps({
// 消息角色:'user'|'assistant'|'sent'|'received'
@@ -101,6 +123,7 @@ const props = defineProps({
},
});
+const editorRef = ref()
const statusDefination = {
init: '初始化',
loading: '加载中',