兼容渲染markdown格式的内容
This commit is contained in:
1
public/cdn/highlight/atom-one-dark.min.css
vendored
Normal file
1
public/cdn/highlight/atom-one-dark.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
||||||
773
public/cdn/highlight/highlight.min.js
vendored
Normal file
773
public/cdn/highlight/highlight.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
public/cdn/markdown-it/markdown-it.min.js
vendored
Normal file
2
public/cdn/markdown-it/markdown-it.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -8,11 +8,14 @@
|
|||||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.css"/>
|
<link rel="stylesheet" href="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.css"/>
|
||||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.18/index.css">
|
<link rel="stylesheet" href="<%= BASE_URL %>cdn/avue/2.10.18/index.css">
|
||||||
<link rel="stylesheet" href="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.css">
|
<link rel="stylesheet" href="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.css">
|
||||||
|
<link rel="stylesheet" href="<%= BASE_URL %>cdn/highlight/atom-one-dark.min.css">
|
||||||
<script src="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.js" charset="utf-8"></script>
|
<script src="<%= BASE_URL %>cdn/jsoneditor/10.0.2/jsoneditor.min.js" charset="utf-8"></script>
|
||||||
<script src="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.min.js" charset="utf-8"></script>
|
<script src="<%= BASE_URL %>cdn/viewerjs/1.11.6/viewer.min.js" charset="utf-8"></script>
|
||||||
<script src="<%= BASE_URL %>cdn/avue/2.10.18/avue.min.js" charset="utf-8"></script>
|
<script src="<%= BASE_URL %>cdn/avue/2.10.18/avue.min.js" charset="utf-8"></script>
|
||||||
<script src="<%= BASE_URL %>cdn/echarts/echarts@5.5.0.min.js" charset="utf-8"></script>
|
<script src="<%= BASE_URL %>cdn/echarts/echarts@5.5.0.min.js" charset="utf-8"></script>
|
||||||
<script src="<%= BASE_URL %>cdn/echarts/echarts-gl@2.0.9.min.js" charset="utf-8"></script>
|
<script src="<%= BASE_URL %>cdn/echarts/echarts-gl@2.0.9.min.js" charset="utf-8"></script>
|
||||||
|
<script src="<%= BASE_URL %>cdn/markdown-it/markdown-it.min.js" charset="utf-8"></script>
|
||||||
|
<script src="<%= BASE_URL %>cdn/highlight/highlight.min.js" charset="utf-8"></script>
|
||||||
<title>web端应用库-展示页面</title>
|
<title>web端应用库-展示页面</title>
|
||||||
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" referrerpolicy="origin"></script>
|
<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js" referrerpolicy="origin"></script>
|
||||||
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" referrerpolicy="origin"></script>
|
<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js" referrerpolicy="origin"></script>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="chat-wrapper" v-for="item in list" :key="item.id">
|
<div class="chat-wrapper" v-for="item in list" :key="item.id">
|
||||||
<div class="chat-text" :class="{right:item.userType == '0',system:item.userType == '2'}">
|
<div class="chat-text" :class="{right:item.userType == '0',system:item.userType == '2'}">
|
||||||
<img v-if="item.userType!=2" class="avatar" :src="avatar(item)" alt=""/>
|
<img v-if="item.userType!=2" class="avatar" :src="avatar(item)" alt=""/>
|
||||||
<div class="content" v-text="item.content"/>
|
<div class="content" v-html="markdown(item.content)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
@@ -19,6 +19,11 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
list: {default: () => []}
|
list: {default: () => []}
|
||||||
},
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
md: null
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
lastMessage: v => v.list.at(-1)?.content
|
lastMessage: v => v.list.at(-1)?.content
|
||||||
},
|
},
|
||||||
@@ -37,9 +42,24 @@ export default {
|
|||||||
avatar(item) {
|
avatar(item) {
|
||||||
return item.avatar || (item.userType == '0' ? 'https://cdn.sinoecare.com/i/2024/06/17/666fdb275be82.png' :
|
return item.avatar || (item.userType == '0' ? 'https://cdn.sinoecare.com/i/2024/06/17/666fdb275be82.png' :
|
||||||
'https://cdn.sinoecare.com/i/2024/06/04/665ec6f5ef213.png')
|
'https://cdn.sinoecare.com/i/2024/06/04/665ec6f5ef213.png')
|
||||||
|
},
|
||||||
|
markdown(v) {
|
||||||
|
return this.md?.render(v) || v
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
const {hljs, markdownit} = window
|
||||||
|
this.md = markdownit({
|
||||||
|
highlight: function (str, lang) {
|
||||||
|
if (lang && hljs.getLanguage(lang)) {
|
||||||
|
try {
|
||||||
|
return hljs.highlight(str, {language: lang}).value;
|
||||||
|
} catch (__) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ''; // use external default escaping
|
||||||
|
}
|
||||||
|
})
|
||||||
this.scrollBottom()
|
this.scrollBottom()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -49,6 +69,21 @@ export default {
|
|||||||
.chatContent {
|
.chatContent {
|
||||||
:deep(.el-scrollbar__wrap) {
|
:deep(.el-scrollbar__wrap) {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
pre {
|
||||||
|
background-color: #282c34;
|
||||||
|
color: #abb2bf;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 4px;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-text {
|
.chat-text {
|
||||||
|
|||||||
Reference in New Issue
Block a user