From 52045ecbeb1fa8111699e0210594811e1993e941 Mon Sep 17 00:00:00 2001 From: cat_shark <1716967236@qq.com> Date: Sat, 23 May 2026 19:22:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(review):=20=E5=AE=9E=E7=8E=B0=E5=A4=8D?= =?UTF-8?q?=E4=B9=A0=E5=86=85=E5=AE=B9=E6=BB=9A=E5=8A=A8=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E4=B8=8E=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Welcome.vue 新增复习内容水平滚动条,展示报告/残片摘要 - 新增 ReviewDetail.vue 复习详情页,展示完整内容及会话上下文 - 新增 review.ts API 模块,路由注册 /review/detail/:type/:id --- src/api/review.ts | 23 +++ src/api/studySessions.ts | 4 + src/components/ReviewDetail.vue | 248 ++++++++++++++++++++++++++++++++ src/components/Welcome.vue | 136 ++++++++++++++++++ src/router/index.ts | 5 + 5 files changed, 416 insertions(+) create mode 100644 src/api/review.ts create mode 100644 src/components/ReviewDetail.vue diff --git a/src/api/review.ts b/src/api/review.ts new file mode 100644 index 0000000..65c545d --- /dev/null +++ b/src/api/review.ts @@ -0,0 +1,23 @@ +import request from "@/utils/request"; + +export interface ReviewFeedItem { + id: number; + sessionNum: string; + taskNum: string; + taskName: string; + sourceType: "REPORT" | "FRAGMENT"; + content: string; + createdTime: string; +} + +export const getReviewFeed = (limit: number = 30) => { + return request.get("/review/feed", { limit }); +}; + +export const getReportDetail = (id: number) => { + return request.get(`/review/report/${id}`); +}; + +export const getFragmentDetail = (id: number) => { + return request.get(`/review/fragment/${id}`); +}; diff --git a/src/api/studySessions.ts b/src/api/studySessions.ts index ff62727..9fa8477 100644 --- a/src/api/studySessions.ts +++ b/src/api/studySessions.ts @@ -17,3 +17,7 @@ export const endSession = (sessionNum: string, content: string = "任务结束") export const startOrContinueStudySession = (taskNum: string) => { return request.get(`/tasks/${taskNum}/study-sessions/start-or-continue`); }; + +export const getSessionDetail = (sessionNum: string) => { + return request.get(`/study-sessions/${sessionNum}`); +}; diff --git a/src/components/ReviewDetail.vue b/src/components/ReviewDetail.vue new file mode 100644 index 0000000..0b9870c --- /dev/null +++ b/src/components/ReviewDetail.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/src/components/Welcome.vue b/src/components/Welcome.vue index b71cd5c..04bb9a4 100644 --- a/src/components/Welcome.vue +++ b/src/components/Welcome.vue @@ -1,5 +1,37 @@