进度接口
进度模块提供学习数据统计、可视化数据获取、AI 分析和目标管理功能,挂载于 /api/progress。所有接口均需认证。
获取统计摘要
GET /api/progress/summary
返回当前用户的整体学习统计数据,用于仪表盘展示。
成功响应 200
{
"success": true,
"data": {
"totalPractice": 256, // 总练习题数
"correctCount": 198, // 答对题数
"correctRate": "77.3", // 正确率(%)
"avgScore": "82.5", // 平均分
"studyDays": 30, // 学习天数
"totalMinutes": 1440, // 总学习分钟
"quizCount": 12, // 完成测验数
"masteredTopics": 8, // 已掌握知识点(≥80%)
"weakTopics": 3, // 薄弱知识点(<40%)
"weekQuestions": 45, // 本周练习题数
"weekMinutes": 210, // 本周学习分钟
"weekAvgScore": "85.2" // 本周平均分
}
}
获取知识点掌握度
GET /api/progress/mastery
返回用户各知识点的掌握度数据,用于雷达图可视化。
Query 参数
| 参数 | 说明 |
|---|---|
subject | 可选,按科目筛选 |
成功响应 200
{
"success": true,
"data": [
{
"id": "uuid",
"user_id": "uuid",
"subject": "数学",
"topic": "二次函数",
"mastery_level": 85.3, // 掌握度 0-100
"practice_count": 20,
"correct_count": 16,
"last_practiced": "2024-01-15T08:00:00.000Z"
}
]
}
获取每日学习统计
GET /api/progress/daily-stats
返回近 N 天的每日统计数据,用于折线图展示。
Query 参数
| 参数 | 默认值 | 说明 |
|---|---|---|
days | 30 | 查询最近几天的数据 |
成功响应 200
{
"success": true,
"data": [
{
"date": "2024-01-15",
"study_minutes": 60,
"questions_practiced": 20,
"correct_answers": 16,
"avg_score": 82.5
}
]
}
获取薄弱知识点
GET /api/progress/weaknesses
返回掌握度低于 60% 的知识点列表,按掌握度升序排列(最多 20 条)。
获取学科分布
GET /api/progress/subject-distribution
返回各学科练习题数分布,用于饼图展示。
成功响应 200
{
"success": true,
"data": [
{ "subject": "数学", "count": 100, "avg_score": 82.5, "correct_count": 75 },
{ "subject": "物理", "count": 60, "avg_score": 75.0, "correct_count": 42 }
]
}
AI 分析薄弱环节
POST /api/progress/analyze
🤖 AI · 限速 20次/分钟
基于用户的知识点掌握度数据,调用 AI 生成个性化改进建议,并保存到数据库(7天有效期)。无需请求体。
成功响应 200
{
"success": true,
"data": [
{
"type": "weakness_improvement",
"content": "建议重点复习二次函数的顶点式与标准式转换...",
"priority": "high",
"subject": "数学",
"topic": "二次函数"
},
{
"type": "practice_more",
"content": "物理中的牛顿定律应用题练习次数较少...",
"priority": "medium",
"subject": "物理",
"topic": "牛顿定律"
}
]
}
生成评估报告
POST /api/progress/assessment-report
🤖 AI · 限速 20次/分钟
基于近 30 天的学习数据,生成 Markdown 格式的综合评估报告。无需请求体。
成功响应 200
{
"success": true,
"data": {
"report": "# 学习评估报告\n\n## 总体评价\n\n张三同学在近30天内...\n\n## 优势分析\n\n..."
}
}
获取学习建议列表
GET /api/progress/suggestions
返回有效期内的学习建议(最多 10 条),按优先级降序排列。
标记建议已读
PUT /api/progress/suggestions/:id/read
学习目标管理
获取目标列表
GET /api/progress/goals
创建学习目标
POST /api/progress/goals
请求体
{
"title": "本月完成100道数学题", // 必填
"targetType": "questions", // 必填:questions/minutes/score/mastery
"targetValue": 100, // 必填:目标值
"description": "每天至少做5道", // 可选
"subject": "数学", // 可选
"deadline": "2024-01-31" // 可选:截止日期
}
更新目标进度
PUT /api/progress/goals/:id
请求体
{
"currentValue": 45, // 当前完成值
"status": "active" // active / completed / abandoned
}