From 7f0bfd67fa22934182f2ec7d5c443bf018c280d7 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Wed, 1 Apr 2026 05:17:53 -0600 Subject: [PATCH] fix --- src/components/task/TutorialContent.vue | 19 ++++++------------- src/store/tutorial.ts | 8 ++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/components/task/TutorialContent.vue b/src/components/task/TutorialContent.vue index dc1b9f5..754a981 100644 --- a/src/components/task/TutorialContent.vue +++ b/src/components/task/TutorialContent.vue @@ -7,7 +7,7 @@ import { marked } from "marked" import copyFn from "copy-text-to-clipboard" import { css, html, js, tab } from "../../store/editors" import { Tutorial } from "../../api" -import { step, tutorialIds } from "../../store/tutorial" +import { step, tutorialIds, loadTutorials } from "../../store/tutorial" import { taskId } from "../../store/task" import { useRouter } from "vue-router" @@ -36,17 +36,6 @@ const router = useRouter() const content = ref("") const $content = useTemplateRef("$content") -async function prepare() { - tutorialIds.value = await Tutorial.listDisplay() - if (!tutorialIds.value.length) { - content.value = "暂无教程" - return - } - if (!tutorialIds.value.includes(step.value)) { - step.value = tutorialIds.value[0] as number - } -} - async function render() { const data = await Tutorial.get(step.value) taskId.value = data.task_ptr @@ -85,7 +74,11 @@ function setupCodeActions() { } async function init() { - await prepare() + await loadTutorials() + if (!tutorialIds.value.length) { + content.value = "暂无教程" + return + } render() } diff --git a/src/store/tutorial.ts b/src/store/tutorial.ts index 5bd10e1..d2ed60f 100644 --- a/src/store/tutorial.ts +++ b/src/store/tutorial.ts @@ -1,9 +1,17 @@ import { useStorage } from "@vueuse/core" import { ref } from "vue" +import { Tutorial } from "../api" export const step = useStorage("tutorial-step", 1) export const tutorialIds = ref([]) +export async function loadTutorials(): Promise { + tutorialIds.value = await Tutorial.listDisplay() + if (tutorialIds.value.length && !tutorialIds.value.includes(step.value)) { + step.value = tutorialIds.value[0] as number + } +} + export function prevDisabled(): boolean { const i = tutorialIds.value.indexOf(step.value) return i <= 0