cat-shark
|
f71abdd000
|
refactor: 为测试暴露组件内部状态
|
2026-08-03 22:21:25 +08:00 |
|
cat-shark
|
de45c8039c
|
style: 适配各页面弹窗窄屏布局
|
2026-08-02 11:48:37 +08:00 |
|
cat-shark
|
96d574b99f
|
refactor: 收敛重复的 Markdown 渲染与应用状态常量
|
2026-08-02 11:36:18 +08:00 |
|
cat-shark
|
769d26fa97
|
style: 清理未使用的样式
|
2026-08-02 11:33:02 +08:00 |
|
cat-shark
|
297320446c
|
style: 统一页面按钮样式与尺寸
|
2026-08-01 19:06:41 +08:00 |
|
developer
|
e44301e1d5
|
feat: update StartTask component and add documentation
|
2026-07-19 16:58:04 +08:00 |
|
developer
|
6accec1b2a
|
feat: StartTask 页面学习材料展示与编辑
- 新增学习材料卡片区域,支持 Markdown 渲染展示
- 支持弹窗编辑材料内容,保存到后端 task.materialUrl
- taskInfo 新增 taskId 和 materialUrl 字段
- materialHtml computed 自动将链接渲染为可点击标签
- 卡片样式与页面风格统一(绿色主题)
|
2026-07-12 13:49:00 +08:00 |
|
cat-shark
|
e5adb4095b
|
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 增加复习范围选择器(全部/指定会话)
- 历史报告条目展示学习预期目标
|
2026-07-05 14:39:01 +08:00 |
|
cat-shark
|
62e12686e3
|
feat(markdown): 只读内容支持 Markdown 渲染
- 新增 MarkdownRenderer.vue 组件,基于 marked 解析 GFM
- 学习残片/报告历史列表:纯文本 {{ }} 替换为 MarkdownRenderer
- ReviewDetail.vue content-body:p 标签逐行渲染替换为 MarkdownRenderer
- 结束会话总结框:增加「编辑/预览」切换,预览模式实时渲染 markdown
- 学习预期展示也改为 MarkdownRenderer
|
2026-07-05 12:24:26 +08:00 |
|
cat-shark
|
c41aa09b4a
|
fix(历史记录): 展开历史记录面板时未自动加载数据
展开 showHistory 后没有触发 loadHistoryFragments/loadHistoryReports,
需要用户输入搜索或切换 tab 才能看到数据。增加 watch(showHistory) 在展开时
立即加载当前 tab 的分页数据。
|
2026-07-05 11:55:08 +08:00 |
|
cat-shark
|
ea9b7ec569
|
feat(会话):跨页面自动恢复 + 阻止多任务同时进行
后端:
- StudySessionsServiceImpl.getActiveSession(excludeTaskNum):
查询 ONGOING/PAUSED 状态的活跃会话,可排除指定任务
- Controller 新增 GET /study-sessions/active?excludeTaskNum=
前端:
- router beforeEach 守卫:读取 localStorage 中 activeSession,
非 start-task 页面时自动重定向恢复
- Study.vue 开始任务按钮:调用 getActiveSession() 检测是否
有其他任务正在进行,提示用户前往继续
- StartTask.vue loadTaskSession 成功后将活跃会话写入
localStorage(taskNum/sessionNum/taskName)
- endSession 成功时清除 localStorage 中的 activeSession
- 路由参数 ?resume=true 时页面顶部显示恢复提示已恢复上次
|
2026-07-05 11:15:22 +08:00 |
|
cat-shark
|
85bee1d311
|
fix(样式):补充历史学习记录面板样式 + 修复缺失的 </style> 标签
- 新增 history-card/history-header/history-toggle/history-search/history-tabs/
history-list/history-item/session-tag/history-content 等样式,
与现有 fragments-card/fragment-item 等样式风格一致
- 之前 Edit 操作误删了文件末尾的 </style>,导致 Vue SFC 编译错误
|
2026-07-05 10:55:23 +08:00 |
|
cat-shark
|
88a3521f27
|
feat(会话):历史学习记录折叠面板(残片/报告分页+搜索)
StartTask.vue 新增「📚 历史学习记录」折叠区域:
- 默认折叠,点击标题展开
- 支持残片/报告两个 tab 切换
- 搜索框带 300ms 防抖,对内容 LIKE 搜索
- 分页每页 10 条
- 每条记录前标注所属 sessionNum,与当前会话内容明确区分
- 展示 v-loading 和 el-empty 两种状态
后端新增两个分页接口(上一 commit):
- GET /study-sessions/tasks/{taskNum}/fragments
- GET /study-sessions/tasks/{taskNum}/reports
|
2026-07-05 10:39:56 +08:00 |
|
cat-shark
|
b7387e02c4
|
fix(番茄钟):进度环与倒计时方向一致
commit 9c2c1b7 错误地将 progress 改为 (total-current)/total,
导致数字递减但进度环递增(从空到满)。实际 runCountdown
中 timerMinutes/timerSeconds 存储的是剩余时间,应直接用
remaining/total 使环从 100%→0% 递减。
|
2026-07-05 10:12:52 +08:00 |
|
cat-shark
|
9c2c1b7614
|
fix(前端):进度环方向 + 按钮颜色 + 删除确认 + 移除 console.log
- StartTask.vue:progress 计算改为 (total-current)/total*100,进度环从
满到空递减(正确方向)
- ReviewDetail/ReviewRecall/MindMapViewer:type="primary" 全部改为
type="success",统一绿白主题
- Study.vue:删除任务增加 ElMessageBox.confirm 确认
- request.ts:移除全部 console.log
|
2026-07-04 17:38:00 +08:00 |
|
cat-shark
|
4e1c71e4d5
|
feat(前端):AI 操作超时 + 加载提示
- axios 全局超时 5s → 180s(3 分钟),避免 AI 响应未到即断开
- 回忆对比按钮等待时显示旋转动画 + 已等待秒数 + 30s 后安抚文案
- 结束会话报告草稿生成时显示等待提示 + 秒数统计
|
2026-07-04 16:16:33 +08:00 |
|
cat-shark
|
fa3ecd50ed
|
fix(学习会话):休息期间仍可生成学习残片
移除 :disabled="!timerRunning" 条件,
并在休息按钮区也加入生成残片按钮,
确保任何状态下都能记录学习内容
|
2026-07-04 10:42:48 +08:00 |
|
cat-shark
|
ae796308a6
|
fix(学习会话):休息倒计时刷新后丢失
根因:休息倒计时完全存在浏览器内存中(runCountdown),
刷新页面后 loadTaskSession() 读取会话为 PAUSED 状态,
走 else 分支 syncDisplay(pointerPosition) 重置为工作钟,
休息状态和剩余时间全部丢失。
修复方案(纯前端):
- restTimer() 将休息结束时间戳写入 localStorage
- loadTaskSession() 启动时检查 localStorage,
若休息未到期则恢复 runCountdown 继续倒计时
- startTimer()/stopTimer()/endTimer() 清除休息状态
- 休息期间 UI:倒计时数字橙色、进度环金色、
按钮区替换为休息中标签(隐藏开始/暂停/残片)
|
2026-07-04 10:27:38 +08:00 |
|
cat-shark
|
6346120805
|
feat(预期):学习预期闭环 + 权重配置 UI
- StartTask:新会话强制填写学习预期(不可跳过),页面顶部常驻展示可修改
- 结束会话弹窗:展示本次预期供对照,有残片时自动拉取 AI 聚合草稿作为编辑起点
- Study:常用操作增加权重配置——五维度滑块、合计校验 100%、保存后重算并刷新
- api:expectation / report-draft / priority-weights 接口
|
2026-07-03 23:56:52 +08:00 |
|
cat-shark
|
15eea25598
|
fix: 暂停后点击开始不触发 continue API 的问题
stopTimer() 暂停成功后未更新 sessionState,导致 startTimer()
中 sessionState === "PAUSED" 条件为 false,continueSession API 被跳过。
修复:暂停成功后将 sessionState 同步为 "PAUSED"。
同时优化 endTimer(),当后端返回非默认消息时用 ElMessage.warning 展示。
|
2026-05-30 17:37:42 +08:00 |
|
cat-shark
|
1f44da3c6c
|
feat: 碎片列表增加序号标识
- StartTask.vue 碎片列表前显示圆形序号
- ReviewDetail.vue 残片标签改为「残片1」「残片2」等带序号形式
|
2026-05-30 15:58:59 +08:00 |
|
cat-shark
|
887756f4ff
|
feat: 学习会话页展示当前会话碎片列表并支持编辑
- 会话加载时获取碎片列表,创建碎片后自动刷新
- 碎片列表支持内联编辑(textarea + 保存/取消)
- 修复多根节点问题,用 div 包裹模板内容以兼容 Transition 组件
|
2026-05-30 15:51:09 +08:00 |
|
cat-shark
|
fce4ba194b
|
fix: 完善任务导航与结束会话错误处理
- 结束会话 API 异常时显示错误,不导航(可重试)
- 结束会话硬跳转改为软导航 router.push
- TaskForm 创建/更新/取消后跳转任务列表页
- 移除 TaskForm 页面内大标题
|
2026-05-23 22:55:03 +08:00 |
|
cat-shark
|
c84d30e287
|
修复学习流程路由切换与计时展示稳定性
|
2026-04-12 13:05:23 +08:00 |
|
cat-shark
|
0f2f0460df
|
重构(学习页): 前端仅展示并修复运行稳定性问题
|
2026-04-12 10:36:59 +08:00 |
|
cat-shark
|
ae73665e6d
|
feat:增加学习残片生成功能
|
2025-07-26 15:39:37 +08:00 |
|
cat-shark
|
4faf2db730
|
feat:1. 调整项目结构,将API接口定义单独抽离 2. 将倒计时计算逻辑调整到后端进行处理计算 3. 增加铃声提示功能
|
2025-07-26 12:53:33 +08:00 |
|
cat-shark
|
07bf872149
|
feat:任务开始界面-任务开始/暂停/结束功能
|
2025-07-08 09:12:38 +08:00 |
|
cat-shark
|
266554c59b
|
feat 学习任务选择页面-开始任务跳转
|
2025-06-03 22:27:18 +08:00 |
|