Files
lpt-fe/src/api/standardMindMap.ts
T
cat-shark b24483b03b feat(复习):回忆复习页面与入口
- 新增 ReviewRecall.vue 回忆复习页面(双栏布局)
  - 左栏:回忆大纲输入区、对比结果展示(着色树)
  - 右栏:标准导图(默认折叠)、编辑、重新生成
  - 遗漏项列表,可点击回看原文
  - 回忆历史记录查询
- api/standardMindMap.ts:标准导图与回忆对比 API
- router:新增 /review/recall/:taskNum 路由
- Review.vue 行操作中增加回忆复习按钮
- ReviewDetail.vue 思维导图区增加回忆复习入口
2026-07-03 08:54:16 +08:00

64 lines
1.9 KiB
TypeScript

import request from "@/utils/request";
import type { ReviewMindMap } from "./review";
// ============ 标准思维导图 ============
export interface StandardMindMap {
id: number;
taskNum: string;
title: string;
content: string;
outline: string;
summary: string;
generator: "BUILTIN" | "AI" | "USER";
generatorVersion?: string;
sourceReportCount: number;
sourceFragmentCount: number;
generatedTime?: string;
createdTime?: string;
lastModifiedTime?: string;
}
export interface RecallRecord {
id: number;
taskNum: string;
standardMapId: number;
recallContent: string;
compareResult: string;
recallRatio: number;
matchedCount: number;
missedCount: number;
extraCount: number;
createdTime: string;
}
/** 获取/自动生成标准思维导图 */
export const getStandardMindMap = (taskNum: string) => {
return request.get(`/review/standard-mind-map/${taskNum}`);
};
/** 强制重新生成标准思维导图 */
export const regenerateStandardMindMap = (taskNum: string) => {
return request.post(`/review/standard-mind-map/${taskNum}/regenerate`);
};
/** 用户编辑标准思维导图(大纲文本) */
export const updateStandardMindMap = (taskNum: string, outline: string) => {
return request.put(`/review/standard-mind-map/${taskNum}`, { outline });
};
/** 用户提交回忆大纲,与标准导图对比 */
export const recallCompare = (taskNum: string, recallOutline: string) => {
return request.post(`/review/standard-mind-map/${taskNum}/recall`, { recallOutline });
};
/** 获取该任务的所有回忆对比记录 */
export const listRecallRecords = (taskNum: string) => {
return request.get(`/review/standard-mind-map/${taskNum}/recall-records`);
};
/** 获取单条回忆对比记录 */
export const getRecallRecord = (recordId: number) => {
return request.get(`/review/standard-mind-map/recall-records/${recordId}`);
};