fix: markmap do not cost power in front page

This commit is contained in:
RockYang
2024-05-11 07:08:14 +08:00
parent afb91a7023
commit 1a4d798f8b
8 changed files with 135 additions and 22 deletions

View File

@@ -81,7 +81,7 @@
</div>
<div class="markdown" v-if="loading">
<div :style="{ height: rightBoxHeight + 'px', overflow:'auto' }" v-html="html"></div>
<div :style="{ height: rightBoxHeight + 'px', overflow:'auto',width:'80%' }" v-html="html"></div>
</div>
<div class="body" id="markmap" v-show="!loading">
<svg ref="svgRef" :style="{ height: rightBoxHeight + 'px' }"/>
@@ -157,7 +157,7 @@ const initData = () => {
httpGet("/api/model/list").then(res => {
for (let v of res.data) {
if (v.platform === "OpenAI") {
if (v.platform === "OpenAI" && v.value.indexOf("gpt-4-gizmo") === -1) {
models.value.push(v)
}
}
@@ -171,7 +171,6 @@ const initData = () => {
}
const update = () => {
try {
const {root} = transformer.transform(processContent(text.value))
markMap.value.setData(root)
@@ -246,6 +245,7 @@ const connect = (userId) => {
if (event.data instanceof Blob) {
const reader = new FileReader();
reader.readAsText(event.data, "UTF-8")
const model = getModelById(modelID.value)
reader.onload = () => {
const data = JSON.parse(String(reader.result))
switch (data.type) {
@@ -259,6 +259,7 @@ const connect = (userId) => {
case "end":
loading.value = false
content.value = processContent(text.value)
loginUser.value.power -= model.power
nextTick(() => update())
break
case "error":
@@ -305,6 +306,14 @@ const changeModel = () => {
}
}
const getModelById = (modelId) => {
for (let e of models.value) {
if (e.id === modelId) {
return e
}
}
}
// download SVG to png file
const downloadImage = () => {
const svgElement = document.getElementById("markmap");