访问统计接口
提供访问数据的统计和分析接口,包括总览、每日趋势、热门链接和访问日志。
接口列表
| 方法 | 路径 | 说明 |
|---|---|---|
GET | /api/v1/stats/overview | 总览数据 |
GET | /api/v1/stats/daily | 每日访问统计 |
GET | /api/v1/stats/top-links | 热门链接 |
GET | /api/v1/stats/links/:id/daily | 链接每日统计 |
GET | /api/v1/stats/links/:id/logs | 链接访问日志 |
总览数据
获取全局统计数据概览。
GET /api/v1/stats/overview
Authorization: Bearer <token> 响应示例
{
"code": 200,
"message": "success",
"data": {
"total_projects": 5,
"total_links": 120,
"total_clicks": 15480,
"today_clicks": 326,
"active_links": 98,
"expired_links": 22
}
} 每日访问统计
获取最近 N 天的每日访问趋势。
查询参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
days | int | 30 | 统计天数 |
GET /api/v1/stats/daily?days=7
Authorization: Bearer <token> 响应示例
{
"code": 200,
"message": "success",
"data": [
{ "date": "2025-01-01", "clicks": 280 },
{ "date": "2025-01-02", "clicks": 312 },
{ "date": "2025-01-03", "clicks": 295 },
{ "date": "2025-01-04", "clicks": 340 },
{ "date": "2025-01-05", "clicks": 310 },
{ "date": "2025-01-06", "clicks": 326 },
{ "date": "2025-01-07", "clicks": 298 }
]
} 热门链接
获取访问量最高的链接排行。
查询参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
limit | int | 10 | 返回条数 |
GET /api/v1/stats/top-links?limit=5
Authorization: Bearer <token> 响应示例
{
"code": 200,
"message": "success",
"data": [
{
"id": 1,
"code": "myapp-v1",
"project_name": "软件下载",
"clicks": 3200
},
{
"id": 3,
"code": "tool-v2",
"project_name": "工具集",
"clicks": 2100
}
]
} 链接每日统计
获取指定链接的每日访问统计。
GET /api/v1/stats/links/1/daily?days=30
Authorization: Bearer <token> 链接访问日志
获取指定链接的访问日志明细。
查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
page | int | 页码 |
page_size | int | 每页条数 |
GET /api/v1/stats/links/1/logs?page=1&page_size=20
Authorization: Bearer <token> 响应示例
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"id": 1001,
"ip": "192.168.1.100",
"user_agent": "Mozilla/5.0 ...",
"target_url": "https://mirror1.example.com/file.zip",
"created_at": "2025-01-07T10:30:00Z"
},
{
"id": 1000,
"ip": "10.0.0.50",
"user_agent": "curl/8.0",
"target_url": "https://mirror2.example.com/file.zip",
"created_at": "2025-01-07T10:25:00Z"
}
],
"total": 3200,
"page": 1,
"page_size": 20
}
} 📖 返回 文档首页