数据分析 API
数据分析模块提供了全面的学习数据统计和分析功能。
📋 接口概览
| 方法 | 路径 | 描述 | 权限 |
|---|---|---|---|
| GET | /api/analytics/overview | 获取总体概览 | 所有用户 |
| GET | /api/analytics/trends | 获取学习趋势 | 所有用户 |
| GET | /api/analytics/projects | 获取项目分析 | 所有用户 |
| GET | /api/analytics/calendar | 获取日历热力图 | 所有用户 |
| GET | /api/analytics/efficiency | 获取效率分析 | 所有用户 |
| GET | /api/analytics/reports | 生成分析报告 | 所有用户 |
| GET | /api/analytics/achievements | 获取成就分析 | 所有用户 |
| GET | /api/analytics/points | 获取积分分析 | 所有用户 |
📊 获取总体概览
http
GET /api/analytics/overview?period=month
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"total_hours": 67.5,
"total_sessions": 45,
"study_days": 23,
"average_daily_hours": 2.18,
"longest_streak": 12,
"current_streak": 5,
"completion_rate": 76.7
}
}📈 获取学习趋势
http
GET /api/analytics/trends?period=30&type=daily
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"trends": [
{
"date": "2024-01-01",
"hours": 2.5,
"sessions": 2,
"efficiency_score": 85.2
}
],
"summary": {
"total_hours": 67.5,
"average_daily_hours": 2.25,
"consistency_score": 76.7
}
}
}📋 获取项目分析
http
GET /api/analytics/projects
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"projects": [
{
"id": 1,
"name": "数学学习",
"total_hours": 25.5,
"efficiency_score": 88.5,
"progress_trend": "increasing"
}
]
}
}📅 获取日历热力图
http
GET /api/analytics/calendar?year=2024&month=1
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"calendar_data": {
"2024-01-01": {
"hours": 2.5,
"intensity": "medium"
}
}
}
}⚡ 获取效率分析
http
GET /api/analytics/efficiency?period=month
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"overall_efficiency": 85.2,
"consistency_score": 76.7,
"focus_score": 92.1,
"recommendations": [
"建议增加学习时长以提高整体效率"
]
}
}📄 生成分析报告
http
GET /api/analytics/reports?type=comprehensive
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"report_id": "report_20240115_001",
"summary": {
"total_hours": 67.5,
"efficiency_score": 85.2
},
"recommendations": [
"建议每天保持2小时以上的学习时间"
]
}
}🏆 获取成就分析
http
GET /api/analytics/achievements?period=month
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"total_achievements": 15,
"completed_achievements": 12,
"completion_rate": 80.0,
"recent_achievements": [
{
"id": 1,
"name": "学习新手",
"completed_at": "2024-01-15T10:30:00Z",
"points_earned": 50
}
],
"achievement_categories": {
"study_duration": 5,
"project_completion": 4,
"continuous_study": 3
}
}
}💰 获取积分分析
http
GET /api/analytics/points?period=month
Authorization: Bearer <token>响应示例:
json
{
"success": true,
"data": {
"current_balance": 1250,
"total_earned": 1500,
"total_spent": 250,
"monthly_earned": 300,
"earning_sources": {
"study_duration": 150,
"project_completion": 100,
"achievements": 50
},
"spending_breakdown": {
"virtual_products": 200,
"premium_features": 50
},
"earning_trend": [
{
"date": "2024-01-01",
"earned": 25,
"spent": 10
}
]
}
}🚀 使用示例
JavaScript 示例
javascript
// 获取总体概览
async function getAnalyticsOverview(token) {
const response = await fetch('/api/analytics/overview?period=month', {
headers: {
'Authorization': `Bearer ${token}`
}
});
return await response.json();
}
// 获取学习趋势
async function getAnalyticsTrends(token) {
const response = await fetch('/api/analytics/trends?period=30', {
headers: {
'Authorization': `Bearer ${token}`
}
});
return await response.json();
}cURL 示例
bash
# 获取总体概览
curl -k -X GET "https://localhost:3001/api/analytics/overview?period=month" \
-H "Authorization: Bearer YOUR_TOKEN"
# 获取学习趋势
curl -k -X GET "https://localhost:3001/api/analytics/trends?period=30" \
-H "Authorization: Bearer YOUR_TOKEN"📝 注意事项
- 数据范围: 所有统计数据基于用户的学习记录
- 实时性: 统计数据会实时更新
- 权限控制: 用户只能查看自己的分析数据
- 数据隐私: 所有数据都经过脱敏处理
💡 提示
定期查看分析报告可以帮助您了解学习模式,优化学习策略,提高学习效率。