diff --git a/src/components/Review.vue b/src/components/Review.vue index bb18b1c..b61222c 100644 --- a/src/components/Review.vue +++ b/src/components/Review.vue @@ -1,18 +1,14 @@ - + 回忆复习 diff --git a/src/components/Welcome.vue b/src/components/Welcome.vue index 65bf771..d47a803 100644 --- a/src/components/Welcome.vue +++ b/src/components/Welcome.vue @@ -87,9 +87,11 @@ const revealRecallContent = async () => { recallCard.value.loadError = ""; try { const res = await getTaskReview(fragment.taskNum); - const items = (res?.data || []).filter(item => item.sessionNum === fragment.sessionNum); - recallCard.value.report = items.find(item => item.sourceType === "REPORT") || null; - recallCard.value.fragments = items.filter(item => item.sourceType === "FRAGMENT"); + const items: ReviewFeedItem[] = (res?.data || []).filter( + (item: ReviewFeedItem) => item.sessionNum === fragment.sessionNum, + ); + recallCard.value.report = items.find((item: ReviewFeedItem) => item.sourceType === "REPORT") || null; + recallCard.value.fragments = items.filter((item: ReviewFeedItem) => item.sourceType === "FRAGMENT"); recallCard.value.revealed = true; } catch { recallCard.value.loadError = "展开对照内容加载失败,请稍后重试"; @@ -98,23 +100,16 @@ const revealRecallContent = async () => { } }; -/** 从回忆卡片跳转到回忆复习页(先匹配标准导图节点) */ -const goToRecallFromCard = async () => { +/** 从回忆卡片跳转到回忆复习页,节点匹配交给目标页加载后处理 */ +const goToRecallFromCard = () => { const fragment = recallCard.value.fragment; if (!fragment) return; recallCard.value.visible = false; const tn = fragment.taskNum; const content = fragment.content || ""; if (tn && content) { - try { - const { findNode } = await import("@/api/standardMindMap"); - const res = await findNode(tn, content.substring(0, 500)); - const data = res?.data; - if (data?.path) { - router.push(`/review/recall/${tn}?focusPath=${encodeURIComponent(data.path)}`); - return; - } - } catch { /* fall through */ } + router.push(`/review/recall/${tn}?focusContent=${encodeURIComponent(content)}`); + } else if (tn) { router.push(`/review/recall/${tn}`); } else { router.push("/review"); diff --git a/src/router/index.ts b/src/router/index.ts index 6015b8d..682f9b5 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -27,6 +27,11 @@ const routes: RouteRecordRaw[] = [ component: () => import("@/components/Review.vue"), meta: { requiresAuth: true, title: "复习总览" }, }, + { + path: "/review/detail/task/:taskNum", + component: () => import("@/components/ReviewDetail.vue"), + meta: { requiresAuth: true, title: "复习详情" }, + }, { path: "/review/detail/:type/:id", component: () => import("@/components/ReviewDetail.vue"),