|
|
d04de0190c
|
支持继续未完成的每日一练答题
主要改动:
1. 点击每日一练前先查询是否有未完成的考试记录
2. 如果存在 in_progress 状态的记录,直接跳转继续答题
3. 如果没有未完成的记录,创建新的考试记录
4. 提升用户体验,避免重复开始考试导致进度丢失
|
2025-12-02 01:01:35 +08:00 |
|
|
|
2d778364e2
|
添加首页更新公告并实现关闭后不再显示功能
主要改动:
1. 在首页添加系统更新公告,展示三大更新内容:
- 新增每日一练功能:系统每天自动生成练习试卷
- 新增每日一练排行榜:实时查看今日答题排名
- 调整模拟考试试卷组成:优化题型分布和分数配比
2. 实现公告关闭后持久化记忆功能:
- 使用 localStorage 存储用户关闭状态
- 点击关闭后下次访问不再显示
3. 公告样式采用 Ant Design Alert 组件
- 信息类型提示,带图标
- 可关闭,用户体验友好
|
2025-12-02 00:59:03 +08:00 |
|
|
|
0074e5978f
|
添加首页每日一练快捷入口并修复API调用问题
主要改动:
1. 修复每日一练排行榜API调用bug(request.get替代request)
2. 在首页快速开始区域添加每日一练快捷入口卡片
3. 实现点击卡片直接跳转到今日每日一练答题页面
4. 添加每日一练状态检测和错误提示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:52:40 +08:00 |
|
|
|
2be5f49528
|
添加服务启动时自动检测并生成当天每日一练功能
- 新增 checkAndGenerateDailyExam 函数在应用启动时执行
- 使用 goroutine 异步执行检测,不阻塞服务启动
- 复用 DailyExamService 的幂等性逻辑,已存在则跳过
- 确保服务重启后当天的每日一练试卷已创建
|
2025-12-02 00:42:22 +08:00 |
|
|
|
4f7dfae855
|
整合三个排行榜为单一可切换的排行榜界面
- 合并每日一练排行榜、今日排行榜、总排行榜到一个界面
- 添加三个可点击切换的标签页
- 优化滑块动画,支持三个位置(左、中、右)
- 统一加载状态显示
- 保持各排行榜原有的数据展示和样式
|
2025-12-02 00:40:09 +08:00 |
|
|
|
fa2964e144
|
调整首页排行榜顺序:每日一练排行榜置于今日排行榜之前
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:35:36 +08:00 |
|
|
|
b1551e6deb
|
添加每日一练排行榜功能
- 修复 daily_exam_service.go 中的类型转换错误
- 在首页添加每日一练排行榜组件
- 显示今日每日一练的考试成绩和用时排行
- 当今日尚未生成每日一练时显示友好提示
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:31:33 +08:00 |
|
|
|
960f557ca4
|
添加每日一练功能(未完成排行榜前端)
后端功能:
- 添加Exam模型is_system字段标识系统试卷
- 创建每日一练服务,使用PostgreSQL分布式锁
- 集成cron定时任务,每天凌晨1点自动生成试卷
- 自动分享给所有用户(批量插入)
- API权限控制:系统试卷禁止删除和再次分享
- 添加GetDailyExamRanking API返回排行榜
前端功能:
- 添加is_system类型定义
- 系统试卷显示"系统"标签
- 系统试卷隐藏删除和分享按钮
- 添加getDailyExamRanking API方法
技术亮点:
- 使用PostgreSQL Advisory Lock实现分布式锁
- 使用robfig/cron/v3调度定时任务
- 批量插入提升分享性能
待完成:首页添加每日一练排行榜组件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:26:51 +08:00 |
|
|
|
a77242c844
|
限制试卷分享和删除权限
- 只有自己创建的试卷才能分享给其他用户
- 只有自己创建的试卷才能删除
- 别人分享的试卷只显示考试、记录、答案、打印功能
- 使用 is_shared 字段判断试卷所有权
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:05:31 +08:00 |
|
|
|
e3e0671204
|
优化考试管理界面布局和交互
- 在考试失败页面添加"再考一次"按钮,支持快速重新开始考试
- 移除试卷卡片中的考试时长、及格分数和题目数量显示
- 优化试卷卡片布局:减少内边距和卡片间距,使界面更紧凑
- 修复统计标签样式:覆盖antd Tag默认间距,防止图标在文字溢出时缩小
- 实现响应式布局:移动端1列、平板2列、桌面端3列
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-02 00:03:12 +08:00 |
|
|
|
023ab1cc55
|
修正试卷打印页面的分值配置和考试说明
1. 调整题型分值映射:
- 判断题:2.0分 → 1.0分(10题共10分)
- 多选题:2.5分 → 2.0分(10题共20分)
- 论述题:4.5分 → 10.0分(2选1共10分)
2. 简化考试说明:
- 去除详细的题型分数列表
- 保留关键答题提示:简答题作答要求、论述题选答规则
3. 优化论述题说明文案:
- 改为"根据自己的职务,在以下2道论述题选择1道作答,共10分"
- 明确说明需要根据职务类型(普通涉密人员/保密管理人员)选答
试卷总分仍为100分:
- 填空题:20题×2分=40分
- 判断题:10题×1分=10分
- 单选题:10题×1分=10分
- 多选题:10题×2分=20分
- 简答题:1题×10分=10分
- 论述题:2选1×10分=10分
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 23:17:30 +08:00 |
|
|
|
8d10ebc327
|
优化试卷打印页面布局和分页控制
## 主要改进
### 1. 题型标题和分值说明显示优化
- 将 Ant Design Text 组件改为原生 span 元素,确保在打印时不换行
- 将分值说明嵌套到题型标题内部,强制同行显示
- 适用于所有题型:填空题、判断题、单选题、多选题、简答题、论述题
### 2. 打印分页控制优化
- 添加 page-break-after: avoid 和 page-break-inside: avoid 到关键元素
- 试卷标题和考试说明保持在同一页
- 考试说明和填空题不分页
- 题型标题和第一道题保持在同一页
- 每道题目的所有部分(题干、选项、答题区域)保持完整,不被分页打断
- 题型之间尽量紧密排列,减少空白
### 3. 样式细节调整
- 题型标题使用 flex 布局,确保标题和说明在同一行
- 统一使用 marginLeft: 8px 作为标题和说明之间的间距
- 保持 A4 纸张 1cm 页边距设置
## 修改文件
- web/src/pages/ExamPrint.module.less - 打印样式优化
- web/src/pages/ExamPrint.tsx - 题型标题结构调整
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 23:04:39 +08:00 |
|
|
|
62281b5047
|
重构试卷分享系统:修复类型不匹配问题
本次提交重构了试卷分享功能,从"副本模式"改为"关联表模式",并修复了关键的类型不匹配问题。
## 主要更新
### 后端架构重构
- 新增 ExamShare 关联表模型,替代原有的试卷副本方式
- 修复 User.ID (int64) 与 ExamShare 外键的类型不匹配问题
- 更新所有相关 API 以使用新的关联表架构
- 添加 IsAccessibleBy 和 GetAccessibleExams 权限检查方法
### 类型系统修复
- ExamShare.SharedByID/SharedToID: uint → int64
- IsAccessibleBy/GetAccessibleExams 参数: uint → int64
- 修复所有涉及用户ID类型转换的代码
### 新增工具
- cmd/migrate_exam_shares.go: 数据迁移脚本(旧数据迁移)
- cmd/cleanup/main.go: 数据库表清理工具
### API 更新
- ShareExam: 创建分享关联记录而非复制试卷
- GetExamList: 返回分享人信息和参与人数统计
- GetExamRecord: 支持查看共享试卷的其他用户记录
- GetExamRecordList: 按试卷ID查询所有用户的考试记录
### 前端更新
- 更新 TypeScript 类型定义以匹配新的 API 响应
- 添加分享人标签显示("来自 XXX")
- 考试记录列表显示所有参与者信息
## 技术细节
- 使用 GORM 外键关联和 Preload 优化查询
- 添加唯一索引防止重复分享
- 事务保护数据一致性
- 软删除支持数据恢复
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 22:32:54 +08:00 |
|
|
|
2cc0c154dc
|
优化考试记录分数显示
修改内容:
- 移除考试记录中的总分显示
- 只显示实际得分,格式为"XX 分"
- 保持颜色标识(通过为绿色,未通过为红色)
原因:
- 简化显示,避免总分显示不准确的问题
- 用户更关注实际得分而非总分对比
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 21:37:29 +08:00 |
|
|
|
ccc77beef8
|
实现共享试卷考试记录查看功能
功能说明:
- 查看共享试卷的考试记录时,显示所有参与用户的成绩
- 按分数从高到低排序,方便查看排行
- 显示每个用户的头像、昵称和考试详情
实现细节:
1. 后端:修改 GetExamRecordList 接口
- 指定试卷ID时自动识别共享关系
- 查询原始试卷+所有分享副本的考试记录
- 返回用户信息(username, nickname, avatar)
- 按分数降序排序
2. 前端:更新考试记录展示
- 显示用户头像和昵称
- 保持原有的考试详情信息
- 适配共享和非共享两种场景
修改文件:
- internal/handlers/exam_handler.go: 重构GetExamRecordList逻辑
- web/src/types/exam.ts: ExamRecord添加user字段
- web/src/pages/ExamManagement.tsx: 显示用户信息
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 21:34:20 +08:00 |
|
|
|
03f3e14f6e
|
添加共享试卷参与人数统计功能
功能说明:
- 后端:GetExamList 接口新增 participant_count 字段
- 前端:试卷卡片显示"X 人参与"标签
- 统计逻辑:计算原始试卷和所有分享副本的不同用户数
实现细节:
- 自动识别原始试卷和分享副本
- 统计所有已完成考试的不同用户
- 使用团队图标(TeamOutlined)展示参与人数
修改文件:
- internal/handlers/exam_handler.go: 添加参与人数统计逻辑
- web/src/types/exam.ts: 更新类型定义
- web/src/pages/ExamManagement.tsx: 显示参与人数标签
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 21:27:03 +08:00 |
|
|
|
3704d52a26
|
调整模拟考试试卷结构和评分规则
修改试卷组成为:
- 填空题:20道(40分,每题2分)
- 判断题:10道(10分,每题1分)
- 单选题:10道(10分,每题1分)
- 多选题:10道(20分,每题2分)
- 简答题:1道(10分)
- 论述题:2道供选择,根据职位类型作答1道(10分)
总分:100分(包含两道论述题但用户只需选答其中一道)
主要变更:
- exam_handler.go: 更新试卷创建时的题型配置
- exam_grading.go: 更新阅卷时的分值映射表
- 确保创建和评分逻辑一致
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-12-01 21:18:18 +08:00 |
|
|
|
4f95514af8
|
添加打印试卷页面的职位填写横线
- 在姓名后面添加职位的填写横线:职位:________________
- 调整试卷头部布局,从三栏改为四栏(日期、姓名、职位、成绩)
- 使用flex布局确保各元素合理分布和对齐
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-25 22:38:36 +08:00 |
|
|
|
9887f99a89
|
修改卡片统计标签为横向排列
- 将examStats从垂直排列改为横向排列
- 三个标签(最高分、考试次数、进行中)在同一行显示
- 添加flex-wrap允许在窄屏时换行
- 标签内容居中对齐
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 23:01:18 +08:00 |
|
|
|
e057505e8a
|
修复考试卡片布局:固定每行显示3个
- 将网格布局从自适应改为固定3列
- 确保所有卡片等高(stretch)
- 添加flexbox布局确保卡片内容正确伸展
- 解决有"进行中"标签时高度不一致的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 22:57:46 +08:00 |
|
|
|
9d1946b611
|
修复试卷标题在没有分享人时的布局问题
- 将标题默认底部边距从12px改为0
- 当有分享标签时动态添加12px底部边距
- 确保无分享标签时标题位置协调
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 22:53:35 +08:00 |
|
|
|
28ea27e823
|
增大打印试卷答题框空间
简答题:
- 行数: 5行 → 8行
- 行高: 25px → 30px
论述题:
- 行数: 5行 → 10行
- 行高: 25px → 35px
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 22:50:48 +08:00 |
|
|
|
c520e5b6a7
|
调整模拟考试题型分值
- 简答题: 10分 → 8分
- 论述题(普通/管理): 4.5分 → 9分
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 22:44:32 +08:00 |
|
|
|
4ac3243f6e
|
重构AI配置并修复前端类型错误
1. 删除AIConfig中未使用的属性(BaseURL、Model)
2. 修复ExamManagement页面Tag组件的size属性错误
3. 添加shared_by.nickname类型定义
4. 优化AI评分提示词,移除冗余的评分依据列表
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 22:23:00 +08:00 |
|
|
|
1107d5d81c
|
优化考试管理页面UI和移动端响应式设计
主要改进:
- 重新设计试卷卡片布局,使用蓝色渐变头部
- 优化操作按钮样式,简化为初版设计
- 调整按钮顺序,将考试按钮放在第一位
- 优化统计数据显示,使用垂直标签布局
- 修复移动端布局问题,确保按钮在一行显示
- 调整按钮尺寸,适配不同屏幕大小
- 完善试卷分享功能的UI集成
- 修复打印页面移动端按钮布局问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 21:58:34 +08:00 |
|
yanlongqi
|
ebf7c8890a
|
优化考试管理页面UI和用户体验
- 重构试卷列表页面布局,提升视觉效果
- 优化试卷卡片样式,添加悬停效果和背景装饰
- 改进移动端响应式设计,增强移动设备用户体验
- 统一返回按钮样式,使用一致的图标和文案
- 调整页面间距和对齐方式,提升整体视觉层次
- 优化代码格式,统一引号使用规范
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 11:34:09 +08:00 |
|
yanlongqi
|
74d692ed2c
|
修复试卷打印时考试说明圆角被遮挡的问题
- 增加打印页面边距从0.8cm到1cm,为圆角提供更多显示空间
- 保留考试说明卡片的圆角效果,设置overflow: visible防止裁剪
- 添加padding为圆角提供内部缓冲空间
- 修正考试说明中的文字描述(填空题改为简答题)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 10:48:28 +08:00 |
|
|
|
0464223d00
|
改为使用下划线字符填充而不是CSS样式
1. 将填空题从CSS边框样式改为传统的下划线字符(____)
2. 移除像素计算,使用纯文本下划线字符
3. 保持最少8个下划线字符的最小长度
4. 根据答案长度动态调整下划线数量
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 02:45:15 +08:00 |
|
|
|
78413e98d7
|
调整填空题下划线最小长度为8个字符
1. 将填空题下划线最小宽度从2个字符(8px)调整为8个字符(32px)
2. 更新默认宽度策略:单个填空32px,多个填空30-40px循环
3. 确保无论答案长度如何,下划线都有足够的空间供用户书写
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 02:44:08 +08:00 |
|
|
|
2c090d5fbd
|
修复TypeScript编译错误
1. 移除ExamAnswerView.tsx中未使用的导入和函数
2. 修复Exam类型缺少title属性的问题
3. 更新SubmitExamResponse类型定义,添加record_id字段
4. 移除函数中的未使用参数,消除编译警告
5. 修复可能为undefined的访问问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 02:42:38 +08:00 |
|
|
|
43680cce22
|
优化试卷打印功能并移除打印答案功能
1. 移除打印答案按钮及相关功能,简化界面
2. 优化填空题打印效果,使用答案长度计算下划线宽度
3. 改进试卷头部布局,添加日期和成绩栏
4. 更新考试说明,调整考试时间为60分钟
5. 优化打印样式,使用宋体字并减小间距
6. 完善论述题显示,添加用户类型提示
7. 后端支持同时返回两种论述题题目
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 02:39:48 +08:00 |
|
|
|
c4a8b28abe
|
优化模拟考试答案查看页面的显示效果
主要改进:
1. 新增ExamAnswerView页面和样式文件
2. 优化填空题间距,减少过大的垂直边距
3. 紧凑化题型之间的间距,提升页面密度
4. 去掉题型标题的背景色和左侧竖线
5. 为题型标题添加汉字序号(一、二、三等)
6. 去掉选择题表格的边框,简化界面
7. 解决打印时显示"试卷答案"标题的问题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-18 01:23:10 +08:00 |
|
|
|
48730369e5
|
删除文档中关于script文件夹的信息
|
2025-11-17 21:44:16 +08:00 |
|
|
|
df76625007
|
进一步优化排行榜切换样式以符合整体主题 1. 统一使用主题色#007aff替代之前的蓝色渐变 2. 使切换容器样式与卡片样式保持一致 3. 添加按钮active状态样式 4. 优化毛玻璃效果和阴影以匹配整体设计
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-17 21:31:14 +08:00 |
|
|
|
d7926615f1
|
修复排行榜切换样式问题 1. 修复巨大的蓝色方块问题 2. 调整滑块宽度计算和容器样式 3. 优化切换按钮的布局和样式
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-17 21:26:27 +08:00 |
|
|
|
6eb6c5243d
|
优化排行榜切换样式 1. 添加现代化的滑动切换效果 2. 使用渐变背景和阴影提升视觉效果 3. 添加平滑的动画过渡效果
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-17 21:22:48 +08:00 |
|
|
|
6efc437198
|
实现总排行榜功能 1. 在后端添加GetTotalRanking函数和API路由 2. 在前端添加总排行榜展示和切换功能 3. 用户现在可以在首页切换查看今日排行榜和总排行榜
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-17 21:17:28 +08:00 |
|
|
|
69ae78b009
|
使用知识库分析答案
|
2025-11-13 07:17:30 +08:00 |
|
|
|
59364700bc
|
feat: 练习进度系统重构和AI评分持久化
重大改进:
- 练习进度模型优化:从"每题一条记录"改为"每用户每类型一条记录",提升性能和数据管理
- 完全基于后端数据库恢复答题进度,移除 localStorage 依赖,提高可靠性
- AI评分结果持久化:在答题记录中保存AI评分、评语和建议,支持历史查看
后端改进:
- 新增 /api/practice/progress 接口获取练习进度(支持按类型筛选)
- 新增 /api/practice/progress 接口清除练习进度(支持按类型清除)
- PracticeProgress 模型重构:添加 current_question_id 和 user_answer_records 字段
- UserAnswerRecord 模型增强:添加 ai_score、ai_feedback、ai_suggestion 字段
- 提交答案时自动保存AI评分到数据库
前端优化:
- 答题进度完全从后端加载,移除 localStorage 备份逻辑
- 修复判断题答案格式转换问题(boolean -> string)
- 优化随机模式:首次答题时随机选择起始题目
- 改进答题历史显示:显示答题序号和历史答案标识
- 已答题目切换时保持答案和结果显示状态
- 清除进度时支持按类型清除(而非清空所有)
技术优化:
- 统一索引策略:从 idx_user_question 改为 idx_user_type
- JSON 字段类型从 jsonp 改为 jsonb(PostgreSQL 性能优化)
- 增加详细的日志记录,便于调试和追踪
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-13 05:51:48 +08:00 |
|
|
|
e724e7120b
|
渲染填空题内容(将 **** 替换为下划线)
|
2025-11-13 04:35:23 +08:00 |
|
|
|
0f544c169d
|
解决统计数据不对的问题
|
2025-11-13 03:51:35 +08:00 |
|
|
|
61e32ef970
|
修改错题的字段
|
2025-11-13 03:34:24 +08:00 |
|
|
|
e651910e74
|
refactor: 数据库模型优化和答题逻辑重构
主要变更:
- 数据库ID字段统一从 uint 改为 int64,提升数据容量和兼容性
- 重构答题检查逻辑,采用策略模式替代 switch-case
- 新增 PracticeProgress 模型,支持练习进度持久化
- 优化错题本系统,自动记录答题进度和错误历史
- 添加 lib/pq PostgreSQL 驱动依赖
- 移除错题标签管理 API(待后续迁移)
- 前端类型定义同步更新,适配后端模型变更
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-13 03:28:39 +08:00 |
|
|
|
42c54ec90a
|
feat: 错题练习模式添加重新答题功能
- 在QuestionCard组件中添加重新答题按钮
- 仅在错题练习模式(mode=wrong)且答案错误时显示
- 点击后重置当前题目状态,清空答案,允许重新作答
- 添加ReloadOutlined图标提升用户体验
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 22:07:35 +08:00 |
|
|
|
72d3ca0660
|
feat: 登录界面添加记住密码功能
- 添加"记住密码"复选框,提升用户体验
- 实现自动保存和填充用户名密码
- 支持取消记住密码时自动清除已保存信息
- 使用localStorage存储登录凭证
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 21:56:00 +08:00 |
|
|
|
4c06a8acd5
|
feat: 实现完整的考试系统
实现了包含试卷管理、考试答题、AI智能阅卷的完整考试流程。
**后端新增功能**:
- 试卷管理: 创建试卷、获取试卷列表和详情
- 考试流程: 开始考试、提交答案、查询结果
- AI阅卷: 异步阅卷系统,支持简答题和论述题AI评分
- 实时答题: 题目级别的答案保存和加载
- 数据模型: ExamRecord(考试记录)、ExamUserAnswer(用户答案)
**前端新增页面**:
- 考试管理页面: 试卷列表展示,支持开始/继续考试
- 答题页面: 左侧题目列表、右侧答题区,支持实时保存
- 成绩查看页面: 展示详细评分结果和AI评语
**技术亮点**:
- 按题型固定分值配置(总分100分)
- 异步阅卷机制,提交后立即返回
- 答案实时保存,支持断点续答
- AI评分集成,智能评判主观题
- 响应式设计,适配移动端和PC端
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 03:55:24 +08:00 |
|
|
|
f8ce822436
|
fix: 修复答题界面抽屉点击已答题目时答案丢失的问题
- 添加 userAnswers 和 questionResults 状态,存储每道题的答案和结果
- 在 handleSubmit 中保存用户答案和答题结果到 Map
- 在 handleQuestionSelect 中恢复之前的答案和结果
- 更新 saveProgress 和 loadProgress,支持持久化用户答案和结果
- 现在点击抽屉中已答题目会正确显示之前的答案和结果
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-10 22:24:52 +08:00 |
|
|
|
b630101d7d
|
移除题库相关的内容
|
2025-11-10 21:41:36 +08:00 |
|
yanlongqi
|
d7ba3e1d65
|
fix: 优化用户管理页面UI显示
- 移除未使用的 TrophyOutlined 图标导入
- 移除总答题数统计的图标前缀,保持UI简洁
- 修复 Spin 组件的使用方式,改为使用子元素而非 tip 属性
- 添加 type_stats 的空值检查,防止潜在的空指针错误
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-10 16:29:02 +08:00 |
|
yanlongqi
|
f79d1368b8
|
feat: 集成聊天插件并优化加载机制
前端改动:
- 在首页动态加载聊天插件,仅在首页展示
- 组件卸载时自动清理脚本和 DOM 元素,避免内存泄漏
- 登录、注册、退出登录时使用 window.location 强制刷新页面
- 确保聊天插件在登录后立即显示,退出后立即消失
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-10 15:15:53 +08:00 |
|