feat(复习): 支持会话维度复习 + 标准导图按会话过滤

- MindMapNode 新增 sessionNum 字段,追踪节点来源会话
- BuiltinMindMapGenerator 生成节点时填充 sessionNum
- MindMapTreeTool.filterBySession() 按会话过滤标准导图
- recallCompare 接受 sessionNum 参数,筛选后对比
- 新增 review_recall_records.session_num 字段(Flyway V20260705_1)
- 新增 GET /study-sessions/tasks/{taskNum}/sessions 端点
- 前端 ReviewRecall.vue 增加复习范围选择器(全部/指定会话)
- 历史报告条目展示学习预期目标
This commit is contained in:
2026-07-05 14:39:01 +08:00
parent 62e12686e3
commit e5adb4095b
4 changed files with 108 additions and 5 deletions
+6 -3
View File
@@ -23,6 +23,7 @@ export interface RecallRecord {
id: number;
taskNum: string;
standardMapId: number;
sessionNum?: string;
recallContent: string;
compareResult: string;
recallRatio: number;
@@ -47,9 +48,11 @@ 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 recallCompare = (taskNum: string, recallOutline: string, sessionNum?: string) => {
const body: Record<string, any> = { recallOutline };
if (sessionNum) body.sessionNum = sessionNum;
return request.post(`/review/standard-mind-map/${taskNum}/recall`, body);
};
/** 获取该任务的所有回忆对比记录 */