|
|
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 |
|
|
|
0f544c169d
|
解决统计数据不对的问题
|
2025-11-13 03:51:35 +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 |
|
|
|
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 |
|
yanlongqi
|
53d3ebe318
|
feat: 优化静态文件服务和部署配置
主要改进:
- 重构静态文件服务: 实现自定义 StaticFileHandler,完善 SPA 路由支持和 Content-Type 处理
- 优化 Docker 构建: 简化前端资源复制逻辑,直接复制整个 dist 目录
- 添加 K8s 部署配置: 包含健康检查探针、资源限制和服务配置
- 前端配置优化: Vite 使用相对路径 base,确保打包后资源路径正确
- 代码清理: 删除已废弃的数据迁移脚本
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-10 13:12:20 +08:00 |
|
|
|
52fff11f07
|
feat: 实现模拟考试功能
## 后端实现
- 添加考试数据模型 (Exam)
- 实现考试生成API (/api/exam/generate)
- 实现获取考试详情API (/api/exam/:id)
- 实现提交考试API (/api/exam/:id/submit)
- 支持按题型随机抽取题目
- AI智能评分(简答题和论述题)
- 自动计算总分和详细评分
## 前端实现
- 首页添加"模拟考试"入口
- 考试准备页:显示考试说明,选择在线/打印模式
- 在线答题页:按题型分组显示,支持论述题二选一
- 试卷打印页:A4排版,支持打印试卷/答案
- 成绩报告页:显示总分、详细评分、错题分析
## 核心特性
- 随机组卷:填空10题、判断10题、单选10题、多选10题、简答2题、论述题2选1
- 智能评分:使用AI评分论述题,给出分数、评语和建议
- 答题进度保存:使用localStorage防止刷新丢失
- 打印优化:A4纸张、黑白打印、合理排版
- 响应式设计:适配移动端、平板和PC端
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-08 20:45:30 +08:00 |
|
|
|
51c85b41a5
|
feat: 添加首页今日排行榜功能
- 后端新增 /api/ranking/daily 接口,支持获取今日用户刷题排行
- 排行榜按今日刷题数量和正确率进行排序
- 前端首页展示今日排行榜,显示前10名用户
- 前三名使用金银铜渐变色王冠徽章标识
- 正确率根据分数显示不同颜色(绿色≥80%、黄色≥60%、红色<60%)
- 完整支持移动端、平板端、PC端响应式布局
- 优化排行榜标题与上方内容的间距
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-08 06:36:06 +08:00 |
|
|
|
3ecc1c6a18
|
添加用户管理功能
新增功能:
- 用户管理页面:展示所有用户及答题统计
- 用户详情页面:查看单个用户的详细答题数据
- 管理员权限中间件:仅yanlongqi用户可访问
- 后端API接口:用户列表和详情统计
后端更新:
- 新增 admin_handler.go:用户管理相关处理器
- 新增 admin.go 中间件:管理员权限验证
- 新增 user_stats.go 模型:用户统计数据结构
- 更新 main.go:注册用户管理API路由
前端更新:
- 新增 UserManagement 页面:用户列表和统计卡片
- 新增 UserDetail 页面:用户详细信息和题型统计
- 更新 Home 页面:添加用户管理入口(仅管理员可见)
- 更新 App.tsx:添加用户管理路由和权限保护
- 更新 API 接口:添加用户管理相关接口定义
UI优化:
- 用户管理页面标题居中显示,参考错题本设计
- 统计卡片使用16px padding
- 返回按钮使用绝对定位,标题居中
- 字体大小统一为18px,字重700
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-08 06:21:15 +08:00 |
|
|
|
2fbeb23947
|
优化错题本功能和UI设计
1. 错题本系统重构:
- 新增错题服务层 (wrong_question_service.go)
- 实现智能推荐算法(基于掌握度和错误次数)
- 添加掌握度追踪机制(连续答对6次标记为已掌握)
- 支持错题筛选和排序功能
- 新增错题统计趋势分析
2. UI优化:
- 美化错题本界面,采用毛玻璃卡片设计
- 添加四宫格统计卡片(错题总数、已掌握、未掌握、掌握率)
- 优化筛选和操作按钮布局
- 使用条状进度条显示掌握度
- 改进响应式设计,优化移动端体验
3. 功能完善:
- 修复判断题答案显示问题
- 当掌握率100%时禁用"开始练习"按钮
- 删除测试文件和 nul 文件
- 更新文档 (CLAUDE.md)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-08 04:20:42 +08:00 |
|
|
|
45299b2d7e
|
优化UI体验和修复Markdown渲染问题
## 主要改进
### 1. 修复AI解析Markdown渲染混乱
- 安装remark-gfm插件支持GitHub Flavored Markdown
- 优化ReactMarkdown组件样式配置
- 支持表格、代码块、引用、列表等完整Markdown语法
- 改进代码块样式,区分行内代码和代码块
- 优化排版,提升可读性
### 2. 用户界面优化
- 修改个人信息中"昵称"改为"姓名"
- 调整答题设置提示位置到第一行
- 去除答题设置提示标题,使界面更简洁
### 3. 新增用户功能
- 添加修改个人信息功能(姓名、身份类型)
- 添加修改密码功能
- 优化用户信息显示和编辑体验
### 4. 技术改进
- 修复Home.tsx中handleLogout函数声明顺序问题
- 添加更完善的Markdown样式定义
- 优化流式渲染体验
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-07 23:14:03 +08:00 |
|
|
|
b30647d81b
|
重构题目练习模式,优化用户体验
主要变更:
- 移除独立的随机题目 API 和快速开始卡片
- 添加应用图标 (icon.svg) 和品牌标识
- 优化首页布局,添加 logo 和"安全保密考试题库"标语
- 将随机模式改为答题页面内的可选开关(默认关闭)
- 改进错题练习逻辑,单独处理随机错题功能
- 同步更新 README.md 文档
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-07 22:45:44 +08:00 |
|
yanlongqi
|
3b7133d9de
|
添加论述题权限控制系统和AI评分功能
本次更新实现了基于用户类型的论述题访问权限控制,并为论述题添加了专门的AI评分功能。
后端更新:
- 添加论述题权限验证:根据用户类型(ordinary-person/management-person)控制不同论述题的访问权限
- 新增 GradeEssay 方法:为论述题提供专门的AI评分,不依赖标准答案,基于保密法规进行专业评分
- 优化AI评分提示词:增加法规依据要求,返回参考答案、评分依据等更详细的评分信息
- 添加用户类型管理:新增 UpdateUserType API,支持用户更新个人类型
- 路由调整:将练习题相关API移至需要认证的路由组
前端更新:
- 论述题答题界面优化:不显示标准答案,展示AI评分的参考答案和评分依据
- 用户类型选择:登录/注册时支持选择用户类型
- 权限控制适配:根据用户类型显示对应的论述题列表
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-07 16:47:37 +08:00 |
|
yanlongqi
|
24d098ae92
|
添加AI流式题目解析功能
实现了基于OpenAI的流式题目解析系统,支持答题后查看AI生成的详细解析。
主要功能:
- 流式输出:采用SSE (Server-Sent Events) 实现实时流式输出,用户可看到解析逐字生成
- Markdown渲染:使用react-markdown渲染解析内容,支持标题、列表、代码块等格式
- 智能提示词:根据题目类型(选择题/填空题/判断题等)动态调整提示词
- 选择题优化:对选择题提供逐项分析和记忆口诀
- 重新生成:支持重新生成解析,temperature设为0确保输出一致性
- 优化加载:加载指示器显示在内容下方,不遮挡流式输出
技术实现:
- 后端:新增ExplainQuestionStream方法支持流式响应
- 前端:使用ReadableStream API接收SSE流式数据
- UI:优化加载状态显示,避免阻塞内容展示
- 清理:删除不再使用的scripts脚本文件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-05 16:04:07 +08:00 |
|
yanlongqi
|
c0a280132c
|
优化UI风格并添加管理员权限系统
主要更改:
- 新增管理员权限系统:添加 AdminAuth 中间件和 AdminRoute 组件,限制题库管理功能仅 yanlongqi 用户可访问
- UI 全面改版为白色毛玻璃风格(macOS 风格):应用毛玻璃效果、优化圆角和阴影、统一配色方案
- 登录页优化:将注册功能改为模态框形式,简化登录界面
- 首页优化:题库管理入口仅对管理员用户显示,优化响应式布局和卡片排列
- 移除底部导航栏:简化布局,改善用户体验
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-05 10:58:43 +08:00 |
|
|
|
5d1b088e06
|
打包成docker镜像
|
2025-11-05 09:37:29 +08:00 |
|
yanlongqi
|
9e37cf8225
|
在首页添加错题数量统计显示
主要改动:
1. 后端修改:
- 在 UserStatistics 模型中添加 wrong_questions 字段
- 在 GetStatistics 接口中查询并返回错题总数(包括已掌握和未掌握)
2. 前端修改:
- 在 Statistics 接口中添加 wrong_questions 字段
- 在首页统计卡片中新增"错题数量"显示
- 调整布局为4列展示(题库总数、已答题数、错题数量、正确率)
3. UI优化:
- 错题数量使用红色显示(#ff4d4f)
- 响应式布局:移动端每行2个,PC端每行4个
- 与错题本页面的统计数据保持一致
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 19:28:57 +08:00 |
|
yanlongqi
|
6082ca0bf3
|
添加错题删除功能和优化错题列表
**新增功能**:
- 新增删除单个错题的接口 (DELETE /api/wrong-questions/:id)
- 错题列表每个项添加删除按钮
- 支持单独删除不想要的错题记录
**技术实现**:
- 后端: 实现DeleteWrongQuestion处理器,确保用户只能删除自己的错题
- 前端: 添加deleteWrongQuestion API 调用
- UI: 在List.Item中添加actions属性,显示删除按钮
- 删除时显示二次确认弹窗
**注意事项**:
- 删除需要确认,防止误操作
- 删除成功后自动刷新列表
- 仅显示操作用户自己的错题
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 15:42:59 +08:00 |
|
yanlongqi
|
2bcf6bdacc
|
实现完整的用户统计功能和认证系统
**统计功能**:
- 新增UserAnswerRecord模型记录用户答题历史
- 实现GetStatistics接口,统计题库总数、已答题数、正确率
- 在提交答案时自动记录答题历史
- 前端连接真实统计接口,显示实时数据
**认证系统优化**:
- 新增Auth中间件,实现基于Token的身份验证
- 登录和注册时自动生成并保存Token到数据库
- 所有需要登录的接口都通过Auth中间件保护
- 统一处理未授权请求,返回401状态码
**错题练习功能**:
- 新增GetRandomWrongQuestion接口,随机获取错题
- 支持错题练习模式(/question?mode=wrong)
- 优化错题本页面UI,移除已掌握功能
- 新增"开始错题练习"按钮,直接进入练习模式
**数据库迁移**:
- 新增user_answer_records表,记录用户答题历史
- User表新增token字段,存储用户登录凭证
**技术改进**:
- 统一错误处理,区分401未授权和404未找到
- 优化答题流程,记录历史和错题分离处理
- 移除异步记录错题,改为同步处理保证数据一致性
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 15:26:27 +08:00 |
|
yanlongqi
|
6446508954
|
实现完整的错题本功能模块
后端实现:
- 创建错题数据模型和数据库表结构
- 实现错题记录、查询、统计、标记和清空API
- 答题错误时自动记录到错题本
- 支持重复错误累计次数和更新时间
前端实现:
- 创建错题本页面,支持查看、筛选和管理错题
- 实现错题统计展示(总数、已掌握、待掌握)
- 支持标记已掌握、清空错题本和重做题目
- 在首页和个人中心添加错题本入口
- 完整的响应式设计适配移动端和PC端
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 13:44:51 +08:00 |
|
|
|
a7ede7692f
|
实现完整的题目练习功能模块
- 后端功能:
* 新增练习题数据模型和数据库表结构
* 实现题目列表、随机题目、提交答案等API接口
* 支持5种题型:单选、多选、判断、填空、简答
* 判断题自动生成"对/错"选项
* 前后端类型映射(single/multiple/judge/fill/short)
- 前端功能:
* 新增首页,展示5种题型选择卡片和统计信息
* 完善答题页面,支持所有题型的渲染和答题
* 填空题特殊渲染:将****替换为横线输入框
* 实现题目列表、筛选、随机练习等功能
* 优化底部导航,添加首页、答题、我的三个标签
- 工具脚本:
* 新增题目数据导入脚本
* 支持从JSON文件批量导入题库
- 文档更新:
* 更新CLAUDE.md和README.md,记录新增功能
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 02:39:18 +08:00 |
|
|
|
52d50b97aa
|
集成PostgreSQL数据库并实现用户注册登录功能
主要改动:
- 集成 GORM 和 PostgreSQL 驱动
- 创建数据库配置模块 (pkg/config)
- 实现数据库连接和初始化 (internal/database)
- 更新用户模型支持 GORM 和 bcrypt 密码加密
- 重构用户注册和登录处理器使用数据库存储
- 删除旧的 users.json 文件存储方式
- 更新 README.md 和 CLAUDE.md 文档
技术栈:
- GORM v1.31.1 - ORM框架
- PostgreSQL - 数据库
- bcrypt - 密码加密
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-04 01:12:36 +08:00 |
|
|
|
92e8c9a94c
|
实现完整的登录注册功能并优化前端组件
- 实现登录页面:
- 添加登录和注册表单切换功能
- 使用antd-mobile组件(Form, Input, Button, Toast)
- 白色背景设计,标题使用主题色
- 表单验证和错误提示
- 已登录用户自动重定向
- 完善用户认证:
- 路由保护,未登录用户重定向到登录页
- 用户信息保存到localStorage
- Profile页面支持退出登录
- 后端改进:
- 启用CORS中间件支持跨域请求
- 更新开发规范:
- 在CLAUDE.md中添加前端开发规范
- 明确UI组件使用原则:优先使用antd-mobile组件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 23:56:53 +08:00 |
|
|
|
441eb215f6
|
将CSS迁移到Less并添加用户认证功能
主要变更:
- 将所有CSS文件迁移到Less预处理器
- 配置Vite支持Less编译
- 使用Less变量、嵌套和父选择器优化样式代码
- 添加用户注册和登录功能
- 实现用户认证中间件和保护路由
- 新增Profile和Login页面
- 添加底部导航栏组件TabBarLayout
- 更新CLAUDE.md为中文文档
技术改进:
- Less变量统一管理主题色和间距
- CSS嵌套提高代码可读性和可维护性
- 模块化样式组织更清晰
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 23:21:38 +08:00 |
|
yanlongqi
|
f791c235e1
|
添加题目练习功能模块
实现了完整的题目练习功能,包括后端API和前端界面:
- 后端新增题目管理handlers和数据模型
- 前端新增题目展示页面和API调用模块
- 添加题库数据文件支持
- 更新路由配置以集成新功能
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 20:26:53 +08:00 |
|
yanlongqi
|
805c4597af
|
将Web框架迁移到Gin
- 安装Gin框架 v1.11.0
- 重构main.go使用Gin路由器
- 更新handlers使用gin.Context
- 重构middleware使用Gin中间件模式
- 更新项目文档(README.md, CLAUDE.md)
项目现已准备好进行数据库集成和前端集成
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-03 11:48:39 +08:00 |
|
yanlongqi
|
0361f207db
|
项目初始化
|
2025-11-03 11:12:37 +08:00 |
|