cat-shark
|
89d186c82e
|
fix(frontend):extraNodes 兼容字符串和对象格式
AI 返回的 extraNodes 可能是字符串数组 [知识点D1] 也可能是对象
数组 [{title: 知识点D1}],前端 computed 统一转为 {title} 格式
|
2026-07-04 16:52:09 +08:00 |
|
cat-shark
|
a485d33933
|
feat(frontend):axios 超时 600s + 回忆对比分段加载文案
适配后台异步任务轮询模式:
- axios 全局超时 180s → 600s(与 Java 后台 10min 轮询超时匹配)
- 回忆对比加载提示改为分段文案:
0-3s: 正在提交 AI 任务…
3-60s: AI 对比分析中,请稍候…
60-180s: 内容较多,AI 正在深入分析…
180s+: 即将完成,请耐心等待…
|
2026-07-04 16:41:12 +08:00 |
|
cat-shark
|
4e1c71e4d5
|
feat(前端):AI 操作超时 + 加载提示
- axios 全局超时 5s → 180s(3 分钟),避免 AI 响应未到即断开
- 回忆对比按钮等待时显示旋转动画 + 已等待秒数 + 30s 后安抚文案
- 结束会话报告草稿生成时显示等待提示 + 秒数统计
|
2026-07-04 16:16:33 +08:00 |
|
cat-shark
|
a259e0ac1a
|
fix(登录):token 过期直接跳转登录页,不再弹确认框
后端 CommonResult 包装设计保留原样,不引入自定义业务码。
改法:handleError 中检测到 401 后直接清除 localStorage
并 router.push('/login'),移除 ElMessageBox.confirm 确认框。
|
2026-07-04 11:01:09 +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
|
cd68811dfb
|
feat(回忆复习):回忆输入改用思维导图 + 布局优化
- 回忆输入区从文本域改为可编辑思维导图(Tab 加子/Enter 加同级)
- 回忆历史点击后自动将内容还原到导图编辑区
- 增加回忆页宽屏模式(wide route meta),适配导图横向展示
- MindMapViewer 增加 height prop 支持自定义高度
- 回忆、对比、标准导图各区域全部使用 60vh 导图展示
|
2026-07-04 10:17:16 +08:00 |
|
cat-shark
|
3adbeb183c
|
fix:Transition 白屏——组件多根节点 + Vite 模块请求拦截
- Welcome.vue:回忆卡片 el-dialog 和根 section 共存导致多根节点,<Transition>
无法动画。包裹一层 <div>
- Study.vue:同上(权重配置对话框)
- MindMapViewer.vue:事件名 selectNode→selectNewNode(类型错误)
- e2e/study.spec.ts + navigation.spec.ts:地址栏 Vite 在模块 URL 后追加
?t=... 时间戳,.endsWith('.ts') 匹配失效,改用 url.includes('/src/')
|
2026-07-04 09:43:07 +08:00 |
|
cat-shark
|
104ae78a2b
|
test(e2e):修复 10 个用例——全部 30 个通过
- study.spec.ts:mock 模式 **/api/tasks** 过滤 .ts 模块请求,避免拦截 Vite 文件加载
- navigation.spec.ts:同上
- start-task.spec.ts:addInitScript mock HTMLAudioElement.play 绕过音频权限弹窗
- start-task.spec.ts:补健结束会话后的 ElMessageBox.confirm 确认点击
- 复习页面入口检查新增回忆复习按钮的文本变化适配
|
2026-07-04 09:28:15 +08:00 |
|
cat-shark
|
8e75a7d2e4
|
test(e2e):start-task 用例补充预期与报告草稿接口 mock
学习预期改为强制弹窗后,原有用例需 mock 已存在的预期数据避免阻塞
|
2026-07-04 00:07:46 +08:00 |
|
cat-shark
|
d9e5d1ef3a
|
refactor(首页):移除装饰性提示语
- 删除'今日模式:稳步推进'标签和'建议流程'固定板块
- 首页聚焦:复习滚动条 + 两个快速入口
|
2026-07-04 00:05:10 +08:00 |
|
cat-shark
|
7fef9e2bb2
|
feat(复习):mind-elixir 思维导图可视化
- MindMapViewer 组件封装 mind-elixir:展示/编辑/对比着色三种形态
- 对比结果以导图呈现:绿=命中、红=遗漏,点击带标签节点回看原文
- 标准导图展开后以导图渲染,编辑改为图上直接操作(Tab/Enter/双击)
- 保存时从导图导出缩进大纲,与后端 MindMapTreeTool 格式一致
|
2026-07-04 00:03:18 +08:00 |
|
cat-shark
|
5616399108
|
feat(复习):滚动条回忆卡片——先回忆再对照
- 点击滚动内容不再直接跳详情,先弹回忆卡片展示单条片段
- 用户自行回忆后点击'展开对照'查看该会话全部报告/残片
- 滚动 feed 切换为 smart 模式(时间衰减+掌握度加权)
- 引入主动回忆环节,将 incidental exposure 转化为 testing effect
|
2026-07-03 23:59:39 +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
|
b24483b03b
|
feat(复习):回忆复习页面与入口
- 新增 ReviewRecall.vue 回忆复习页面(双栏布局)
- 左栏:回忆大纲输入区、对比结果展示(✅❌着色树)
- 右栏:标准导图(默认折叠)、编辑、重新生成
- 遗漏项列表,可点击回看原文
- 回忆历史记录查询
- api/standardMindMap.ts:标准导图与回忆对比 API
- router:新增 /review/recall/:taskNum 路由
- Review.vue 行操作中增加回忆复习按钮
- ReviewDetail.vue 思维导图区增加回忆复习入口
|
2026-07-03 08:54:16 +08:00 |
|
cat-shark
|
dc7469ec3f
|
feat: upload review mind map files
|
2026-06-20 10:33:14 +08:00 |
|
cat-shark
|
8ed1d45ae1
|
feat: complete review workflow UI
|
2026-06-20 09:20:24 +08:00 |
|
cat-shark
|
45ac0a98d1
|
更新生产环境部署配置
|
2026-06-19 17:20:11 +08:00 |
|
cat-shark
|
1827093a9f
|
fix: 处理登录过期的请求响应
|
2026-06-18 00:10:32 +08:00 |
|
cat-shark
|
7878242596
|
feat: 学习页展示任务学习统计
|
2026-06-18 00:09:52 +08:00 |
|
cat-shark
|
000b1aa9f4
|
feat: 复习总览展示任务统计
|
2026-06-18 00:09:00 +08:00 |
|
cat-shark
|
0be2b1c26e
|
test: 新增 StartTask E2E 测试 (3 cases)
覆盖场景:暂停后点击开始触发 continue API、
ONGOING 状态开始按钮 disabled、结束会话展示后端提示
注:需 Node.js >= 18.19 运行 Playwright
|
2026-05-30 17:38:33 +08:00 |
|
cat-shark
|
7a55063174
|
test: 新增 StartTask 组件单元测试 (11 cases)
覆盖场景:暂停调用 API 并更新状态、继续调用 continueSession API、
ONGOING 状态不误触发 continue、结束会话 API、多次暂停/继续完整流程
|
2026-05-30 17:38:25 +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
|
0a71a42056
|
Merge branch 'feature/fragment-edit' into dev
学习碎片编辑功能:
- 新增碎片更新和会话查询前端 API
- 碎片详情页支持内联编辑
- 学习会话页展示碎片列表并支持编辑
- 碎片列表增加序号标识
- 修复 RouterView 嵌套 Transition 弃用警告
- 修复 StartTask 多根节点导致 Transition 动画异常
|
2026-05-30 16:06:52 +08:00 |
|
cat-shark
|
1f44da3c6c
|
feat: 碎片列表增加序号标识
- StartTask.vue 碎片列表前显示圆形序号
- ReviewDetail.vue 残片标签改为「残片1」「残片2」等带序号形式
|
2026-05-30 15:58:59 +08:00 |
|
cat-shark
|
97981d5401
|
fix: 修复 RouterView 直接嵌套 Transition 的弃用警告
改用 Vue Router 推荐的 slot props 模式,避免未来版本兼容性问题
|
2026-05-30 15:51:24 +08:00 |
|
cat-shark
|
887756f4ff
|
feat: 学习会话页展示当前会话碎片列表并支持编辑
- 会话加载时获取碎片列表,创建碎片后自动刷新
- 碎片列表支持内联编辑(textarea + 保存/取消)
- 修复多根节点问题,用 div 包裹模板内容以兼容 Transition 组件
|
2026-05-30 15:51:09 +08:00 |
|
cat-shark
|
a82c25b45c
|
feat: 碎片详情页支持内联编辑
- 碎片类型详情页新增编辑按钮
- 编辑模式下显示 textarea 和保存/取消按钮
- 保存时调用更新接口并同步本地数据
|
2026-05-30 15:51:04 +08:00 |
|
cat-shark
|
0f1a2d8bba
|
refactor: confirmGenerateFragment 改为返回 Promise<boolean>
便于调用方在碎片创建成功后执行后续操作(如刷新列表)
|
2026-05-30 15:50:56 +08:00 |
|
cat-shark
|
439a530978
|
feat: 新增碎片更新和会话查询的前端API
- 新增 updateFragments(id, content) 调用 PUT 接口
- 新增 getFragmentsBySession(sessionNum) 获取会话碎片列表
|
2026-05-30 15:50:48 +08:00 |
|
cat-shark
|
a6ac089e15
|
fix: vite.config.ts 改用 vitest/config 导入,修复 type-check 报错
|
2026-05-30 10:13:51 +08:00 |
|
cat-shark
|
52dbc51749
|
Jenkinsfile-dev 也改为多阶段构建,Dockerfile 支持 BUILD_MODE 参数
|
2026-05-30 10:06:24 +08:00 |
|
cat-shark
|
c1f00378f2
|
使用多阶段构建,Docker 层缓存管理 npm install
|
2026-05-30 10:00:03 +08:00 |
|
cat-shark
|
29db5a4c30
|
移除 root 相关修改,恢复原始 Jenkinsfile
|
2026-05-30 09:52:45 +08:00 |
|
cat-shark
|
43d3dbde2c
|
Revert "修复:移除 .npm 卷挂载,解决 npm 缓存权限问题"
This reverts commit 2da736aaf3.
|
2026-05-30 09:42:23 +08:00 |
|
cat-shark
|
2da736aaf3
|
修复:移除 .npm 卷挂载,解决 npm 缓存权限问题
|
2026-05-30 09:40:50 +08:00 |
|
cat-shark
|
e0f5055740
|
fix(jenkins): run node container as root to fix npm cache EACCES
|
2026-05-30 09:28:48 +08:00 |
|
cat-shark
|
b8a4f1e981
|
fix: resolve npm cache EACCES in Jenkins pipeline
|
2026-05-27 23:35:38 +08:00 |
|
cat-shark
|
aa5e5a654f
|
style: update card backdrop blur and fix shell layout
|
2026-05-27 23:28:55 +08:00 |
|
cat-shark
|
88ec132579
|
test: add playwright config and e2e tests
|
2026-05-27 23:28:44 +08:00 |
|
cat-shark
|
13846a0b61
|
test: add vitest config and unit tests
|
2026-05-27 23:28:41 +08:00 |
|
cat-shark
|
f35f73dca0
|
chore: add vitest and playwright test dependencies
|
2026-05-27 23:28:35 +08:00 |
|
cat-shark
|
6e74256d66
|
chore: add test artifacts to .gitignore
|
2026-05-27 23:28:30 +08:00 |
|
cat-shark
|
801c8a670c
|
chore: add .npmrc with pnpm store-dir config
|
2026-05-27 23:28:18 +08:00 |
|
cat-shark
|
e2f7276b92
|
fix: 首页滚动条始终渲染 DOM,消除加载生硬感
去掉 v-if 和 visibility 条件控制,滚动区域结构在页面加载时即存在于 DOM 中,
芯片通过 v-for 响应式插入,避免数据到达时整块 DOM 节点创建/销毁导致的跳变
|
2026-05-23 23:08:35 +08:00 |
|
cat-shark
|
ad2561981d
|
fix: 首页滚动条防闪烁与颜色标注修正
- v-if 改为容器始终渲染 + min-height,避免数据加载后布局跳动
- 颜色标注改为"学习报告"/"学习残片",准确描述元素类型
|
2026-05-23 22:55:08 +08:00 |
|
cat-shark
|
4abc316311
|
fix: ReviewDetail 内容居中与文字换行
- 页面内容 margin: 0 auto 居中
- 内容区和历史记录添加 word-break 防止长文本溢出
- 移除已删除的 .detail-head 死 CSS 和页面 header
|
2026-05-23 22:55:06 +08:00 |
|
cat-shark
|
fce4ba194b
|
fix: 完善任务导航与结束会话错误处理
- 结束会话 API 异常时显示错误,不导航(可重试)
- 结束会话硬跳转改为软导航 router.push
- TaskForm 创建/更新/取消后跳转任务列表页
- 移除 TaskForm 页面内大标题
|
2026-05-23 22:55:03 +08:00 |
|
cat-shark
|
43e8cd4965
|
refactor: 移除 Study 和 Review 页面大标题
- 页面标题统一由全局页头展示,移除各页面内 h1
- 刷新按钮迁移至操作区/工具栏,功能不变
- Study 页开始任务改为软导航 router.push
|
2026-05-23 22:55:01 +08:00 |
|