693 lines
22 KiB
Markdown
693 lines
22 KiB
Markdown
角色与目标:你是一名资深的前端架构师。请帮我构建一个单文件(Single-File)的 React 应用,这是一个具有“音乐搜索下载播放”功能的 Progressive Web App (PWA)。
|
||
技术栈:1.Framework: React (使用 Functional Components + Hooks) 2.Styling: Tailwind CSS (追求现代、干净、移动端优先的 UI) 3.Icons: Font Awesome
|
||
核心功能:根据我提供的API,实现音乐的搜索、下载、在线播放; 搜索直接 aggregateSearch 全局检索即可,然后显示音乐信息列表 最好显示专辑封面 其他信息你可以自己选择,支持查看歌曲的专辑列表;下载,支持单个音乐的下载,支持专辑的批量下载;在线播放,支持当前列表的播放,支持单独音乐加入歌单,只保留一个歌单即可,支持歌单的清理,支持专辑的批量播放;围绕这三个主需求的其他需求你可以自己补充;
|
||
输出要求:请生成一个完整的 .html 文件(包含 React 和 Babel 的 CDN 链接,以便单文件运行),代码需要有详细的注释。
|
||
注意:我提供的API文档比较旧,返回的信息不可信,你自己测试下看看真实的返回结果;aggregateSearch 是真实的,我测了;
|
||
<api>
|
||
TuneHub API
|
||
v1.0.0
|
||
概览
|
||
服务介绍
|
||
✨ 实时看板 (Live)
|
||
支持平台
|
||
核心 API
|
||
1. 歌曲信息
|
||
2. 音乐链接 (文件)
|
||
3. 专辑封面
|
||
4. 歌词获取
|
||
5. 歌曲搜索
|
||
6. 聚合搜索
|
||
7. 歌单详情
|
||
8. 排行榜列表
|
||
9. 排行榜歌曲
|
||
10-11. 系统监控
|
||
统计 API
|
||
12. 获取统计数据
|
||
13. 统计摘要
|
||
14. 平台统计概览
|
||
15. QPS 统计
|
||
16. 趋势数据
|
||
17. 请求类型统计
|
||
TuneHub API 接口文档
|
||
|
||
TuneHub 是一个统一的音乐信息解析服务。它打破了不同音乐平台之间的壁垒,提供了一套标准化的 API 接口。
|
||
Base URL: https://music-dl.sayqz.com
|
||
|
|
||
Version: 1.0.0
|
||
实时统计看板
|
||
今日总调用
|
||
-
|
||
成功率
|
||
-
|
||
平均耗时
|
||
-
|
||
ms
|
||
平均 QPS
|
||
-
|
||
平台调用占比 (Today)
|
||
等待数据...
|
||
Top 5 接口类型 (Today)
|
||
接口 调用量 成功率
|
||
...
|
||
支持的平台
|
||
平台标识 (source) 平台名称 状态
|
||
netease 网易云音乐 ✅ 已启用
|
||
kuwo 酷我音乐 ✅ 已启用
|
||
qq QQ音乐 ✅ 已启用
|
||
1. 获取歌曲基本信息 GET
|
||
GET /api/?source={source}&id={id}&type=info
|
||
|
||
获取歌曲的名称、歌手、专辑等基本元数据信息。
|
||
Response Example
|
||
|
||
{
|
||
"code": 200,
|
||
"message": "success",
|
||
"data": {
|
||
"name": "歌曲名称",
|
||
"artist": "歌手名称",
|
||
"album": "专辑名称",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=123456&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=123456&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=123456&type=lrc"
|
||
},
|
||
"timestamp": "2025-11-23T12:00:00.000+08:00"
|
||
}
|
||
|
||
2. 获取音乐文件链接 GET
|
||
GET /api/?source={source}&id={id}&type=url&br=[320k]
|
||
音质参数 (br) 对照表
|
||
值 说明 比特率
|
||
128k 标准音质 128kbps
|
||
320k 高品质 320kbps
|
||
flac 无损音质 ~1000kbps
|
||
flac24bit Hi-Res 音质 ~1400kbps
|
||
💡 响应说明 (Response)
|
||
|
||
成功时返回 302 Redirect 到实际的音乐文件 URL。
|
||
自动换源:当请求的原平台失败时,系统会自动尝试其他平台。此时响应头会包含 X-Source-Switch 字段(例如:netease -> kuwo)。
|
||
|
||
3. 获取专辑封面 GET
|
||
|
||
获取歌曲的专辑封面图片。
|
||
GET /api/?source={source}&id={id}&type=pic
|
||
Response: 302 Redirect to image URL.
|
||
4. 获取歌词 GET
|
||
|
||
获取歌曲的 LRC 格式歌词。
|
||
GET /api/?source={source}&id={id}&type=lrc
|
||
Response Example (Text/Plain)
|
||
|
||
[00:00.00]歌词第一行
|
||
[00:05.50]歌词第二行
|
||
[00:10.20]歌词第三行
|
||
|
||
5. 搜索歌曲 GET
|
||
GET /api/?source={source}&type=search&keyword={keyword}&limit=[20]
|
||
Response Example
|
||
|
||
{
|
||
"code": 200,
|
||
"message": "success",
|
||
"data": {
|
||
"keyword": "周杰伦",
|
||
"total": 10,
|
||
"results": [
|
||
{
|
||
"id": "123456",
|
||
"name": "歌曲名称",
|
||
"artist": "周杰伦",
|
||
"album": "专辑名称",
|
||
"url": "https://music-dl.sayqz.com/api/?...",
|
||
"platform": "netease"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
6. 聚合搜索 GET
|
||
GET /api/?type=aggregateSearch&keyword={keyword}
|
||
Response Example
|
||
|
||
{
|
||
"code": 200,
|
||
"message": "success",
|
||
"data": {
|
||
"keyword": "周杰伦",
|
||
"limit": 10,
|
||
"page": 1,
|
||
"platforms": [
|
||
"netease",
|
||
"qq",
|
||
"kuwo"
|
||
],
|
||
"platformStats": {
|
||
"netease": {
|
||
"success": true,
|
||
"count": 10,
|
||
"duration": 160,
|
||
"error": null
|
||
},
|
||
"qq": {
|
||
"success": true,
|
||
"count": 10,
|
||
"duration": 133,
|
||
"error": null
|
||
},
|
||
"kuwo": {
|
||
"success": true,
|
||
"count": 10,
|
||
"duration": 59,
|
||
"error": null
|
||
}
|
||
},
|
||
"total": 30,
|
||
"results": [
|
||
{
|
||
"id": "509781655",
|
||
"name": "想你就写信 (Live)",
|
||
"artist": "周杰伦、李硕、张鑫",
|
||
"album": "中国新歌声第二季 第13期",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=509781655&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=509781655&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=509781655&type=lrc"
|
||
},
|
||
{
|
||
"id": "0039MnYb0qxYhV",
|
||
"name": "晴天",
|
||
"artist": "周杰伦",
|
||
"album": "叶惠美",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=0039MnYb0qxYhV&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=0039MnYb0qxYhV&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=0039MnYb0qxYhV&type=lrc"
|
||
},
|
||
{
|
||
"id": "228908",
|
||
"name": "晴天",
|
||
"artist": "周杰伦",
|
||
"album": "叶惠美",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=228908&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=228908&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=228908&type=lrc"
|
||
},
|
||
{
|
||
"id": "5257138",
|
||
"name": "屋顶",
|
||
"artist": "周杰伦、温岚、吴宗宪",
|
||
"album": "男女情歌对唱冠军全记录",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=5257138&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=5257138&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=5257138&type=lrc"
|
||
},
|
||
{
|
||
"id": "001Bbywq2gicae",
|
||
"name": "搁浅",
|
||
"artist": "周杰伦",
|
||
"album": "七里香",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=001Bbywq2gicae&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=001Bbywq2gicae&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=001Bbywq2gicae&type=lrc"
|
||
},
|
||
{
|
||
"id": "324244",
|
||
"name": "青花瓷",
|
||
"artist": "周杰伦",
|
||
"album": "我很忙",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=324244&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=324244&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=324244&type=lrc"
|
||
},
|
||
{
|
||
"id": "1888354230",
|
||
"name": "默 (Live)",
|
||
"artist": "李荣浩、周杰伦",
|
||
"album": "2021中国好声音 第1期",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=1888354230&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=1888354230&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=1888354230&type=lrc"
|
||
},
|
||
{
|
||
"id": "002tNzue0g8xQA",
|
||
"name": "爱你没差",
|
||
"artist": "周杰伦",
|
||
"album": "十二新作",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=002tNzue0g8xQA&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=002tNzue0g8xQA&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=002tNzue0g8xQA&type=lrc"
|
||
},
|
||
{
|
||
"id": "440615",
|
||
"name": "花海",
|
||
"artist": "周杰伦",
|
||
"album": "魔杰座",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=440615&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=440615&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=440615&type=lrc"
|
||
},
|
||
{
|
||
"id": "210049",
|
||
"name": "布拉格广场",
|
||
"artist": "蔡依林、周杰伦",
|
||
"album": "看我72变",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=210049&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=210049&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=210049&type=lrc"
|
||
},
|
||
{
|
||
"id": "003aAYrm3GE0Ac",
|
||
"name": "稻香",
|
||
"artist": "周杰伦",
|
||
"album": "魔杰座",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=003aAYrm3GE0Ac&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=003aAYrm3GE0Ac&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=003aAYrm3GE0Ac&type=lrc"
|
||
},
|
||
{
|
||
"id": "118987",
|
||
"name": "枫",
|
||
"artist": "周杰伦",
|
||
"album": "十一月的萧邦",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=118987&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=118987&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=118987&type=lrc"
|
||
},
|
||
{
|
||
"id": "490595315",
|
||
"name": "因为爱情 (Live)",
|
||
"artist": "周杰伦、那英",
|
||
"album": "中国新歌声第二季 第1期",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=490595315&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=490595315&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=490595315&type=lrc"
|
||
},
|
||
{
|
||
"id": "002qU5aY3Qu24y",
|
||
"name": "青花瓷",
|
||
"artist": "周杰伦",
|
||
"album": "我很忙",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=002qU5aY3Qu24y&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=002qU5aY3Qu24y&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=002qU5aY3Qu24y&type=lrc"
|
||
},
|
||
{
|
||
"id": "94237",
|
||
"name": "七里香",
|
||
"artist": "周杰伦",
|
||
"album": "七里香",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=94237&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=94237&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=94237&type=lrc"
|
||
},
|
||
{
|
||
"id": "255020",
|
||
"name": "刀马旦",
|
||
"artist": "李玟、周杰伦",
|
||
"album": "Promise",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=255020&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=255020&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=255020&type=lrc"
|
||
},
|
||
{
|
||
"id": "004Z8Ihr0JIu5s",
|
||
"name": "七里香",
|
||
"artist": "周杰伦",
|
||
"album": "七里香",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=004Z8Ihr0JIu5s&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=004Z8Ihr0JIu5s&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=004Z8Ihr0JIu5s&type=lrc"
|
||
},
|
||
{
|
||
"id": "94239",
|
||
"name": "搁浅",
|
||
"artist": "周杰伦",
|
||
"album": "七里香",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=94239&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=94239&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=94239&type=lrc"
|
||
},
|
||
{
|
||
"id": "210062",
|
||
"name": "骑士精神",
|
||
"artist": "蔡依林、周杰伦",
|
||
"album": "看我72变",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=210062&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=210062&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=210062&type=lrc"
|
||
},
|
||
{
|
||
"id": "003KtYhg4frNXC",
|
||
"name": "枫",
|
||
"artist": "周杰伦",
|
||
"album": "十一月的萧邦",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=003KtYhg4frNXC&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=003KtYhg4frNXC&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=003KtYhg4frNXC&type=lrc"
|
||
},
|
||
{
|
||
"id": "440613",
|
||
"name": "稻香",
|
||
"artist": "周杰伦",
|
||
"album": "魔杰座",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=440613&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=440613&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=440613&type=lrc"
|
||
},
|
||
{
|
||
"id": "490602328",
|
||
"name": "沧海一声笑 (Live)",
|
||
"artist": "那英、周杰伦、刘欢、陈奕迅",
|
||
"album": "中国新歌声第二季 第1期",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=490602328&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=490602328&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=490602328&type=lrc"
|
||
},
|
||
{
|
||
"id": "003cI52o4daJJL",
|
||
"name": "花海",
|
||
"artist": "周杰伦",
|
||
"album": "魔杰座",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=003cI52o4daJJL&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=003cI52o4daJJL&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=003cI52o4daJJL&type=lrc"
|
||
},
|
||
{
|
||
"id": "118980",
|
||
"name": "夜曲",
|
||
"artist": "周杰伦",
|
||
"album": "十一月的萧邦",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=118980&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=118980&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=118980&type=lrc"
|
||
},
|
||
{
|
||
"id": "1317494434",
|
||
"name": "屋顶 (Live)",
|
||
"artist": "周杰伦、宿涵、张神儿",
|
||
"album": "2018中国好声音 澳门演唱会",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=1317494434&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=1317494434&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=1317494434&type=lrc"
|
||
},
|
||
{
|
||
"id": "001zMQr71F1Qo8",
|
||
"name": "夜曲",
|
||
"artist": "周杰伦",
|
||
"album": "十一月的萧邦",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=001zMQr71F1Qo8&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=001zMQr71F1Qo8&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=001zMQr71F1Qo8&type=lrc"
|
||
},
|
||
{
|
||
"id": "3211586",
|
||
"name": "爱你没差",
|
||
"artist": "周杰伦",
|
||
"album": "十二新作",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=3211586&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=3211586&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=3211586&type=lrc"
|
||
},
|
||
{
|
||
"id": "5234479",
|
||
"name": "布拉格广场",
|
||
"artist": "蔡依林、周杰伦",
|
||
"album": "跨世纪金曲精选",
|
||
"platform": "netease",
|
||
"url": "https://music-dl.sayqz.com/api/?source=netease&id=5234479&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=netease&id=5234479&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=netease&id=5234479&type=lrc"
|
||
},
|
||
{
|
||
"id": "001xd0HI0X9GNq",
|
||
"name": "一路向北",
|
||
"artist": "周杰伦",
|
||
"album": "J III MP3 Player",
|
||
"platform": "qq",
|
||
"url": "https://music-dl.sayqz.com/api/?source=qq&id=001xd0HI0X9GNq&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=qq&id=001xd0HI0X9GNq&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=qq&id=001xd0HI0X9GNq&type=lrc"
|
||
},
|
||
{
|
||
"id": "440616",
|
||
"name": "兰亭序",
|
||
"artist": "周杰伦",
|
||
"album": "魔杰座",
|
||
"platform": "kuwo",
|
||
"url": "https://music-dl.sayqz.com/api/?source=kuwo&id=440616&type=url",
|
||
"pic": "https://music-dl.sayqz.com/api/?source=kuwo&id=440616&type=pic",
|
||
"lrc": "https://music-dl.sayqz.com/api/?source=kuwo&id=440616&type=lrc"
|
||
}
|
||
]
|
||
},
|
||
"timestamp": "2026-01-05T14:09:25.068+08:00"
|
||
}
|
||
|
||
7-9. 歌单与排行榜
|
||
7. 获取歌单详情
|
||
GET /api/?source={source}&id={id}&type=playlist
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"list": [
|
||
{
|
||
"id": "123456",
|
||
"name": "歌曲名称",
|
||
"types": ["flac", "320k", "128k"]
|
||
}
|
||
],
|
||
"info": {
|
||
"name": "歌单名称",
|
||
"author": "创建者"
|
||
}
|
||
}
|
||
}
|
||
|
||
8. 获取排行榜列表
|
||
GET /api/?source={source}&type=toplists
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"list": [
|
||
{
|
||
"id": "19723756",
|
||
"name": "飙升榜",
|
||
"updateFrequency": "每天更新"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
9. 获取排行榜歌曲
|
||
GET /api/?source={source}&id={id}&type=toplist
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"list": [
|
||
{
|
||
"id": "123456",
|
||
"name": "歌曲名称"
|
||
}
|
||
],
|
||
"source": "netease"
|
||
}
|
||
}
|
||
|
||
10-11. 系统监控
|
||
GET /status
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"status": "running",
|
||
"platforms": { "netease": { "enabled": true } }
|
||
}
|
||
}
|
||
|
||
GET /health
|
||
|
||
{
|
||
"code": 200,
|
||
"data": { "status": "healthy" }
|
||
}
|
||
|
||
统计分析 API 详解
|
||
|
||
TuneHub 提供完整的 API 调用统计分析功能。所有数据均使用 UTC+8(北京时间) 时区。
|
||
12. 获取统计数据 GET
|
||
GET /stats?period=[today]&groupBy=[platform]
|
||
Response Example
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"period": "today",
|
||
"overall": {
|
||
"total_calls": 15420,
|
||
"success_calls": 14856,
|
||
"success_rate": 96.34,
|
||
"avg_duration": 245.67
|
||
},
|
||
"breakdown": [
|
||
{
|
||
"group_key": "netease",
|
||
"total_calls": 8234,
|
||
"success_rate": 97.13
|
||
}
|
||
],
|
||
"qps": {
|
||
"avg_qps": 0.1785,
|
||
"peak_qps": 2.4567
|
||
}
|
||
}
|
||
}
|
||
|
||
13. 获取统计摘要 GET
|
||
GET /stats/summary
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"today": {
|
||
"total_calls": 15420,
|
||
"success_rate": 96.34
|
||
},
|
||
"week": {
|
||
"total_calls": 98765
|
||
},
|
||
"top_platforms_today": [
|
||
{ "group_key": "netease", "total_calls": 8234 }
|
||
]
|
||
}
|
||
}
|
||
|
||
14. 平台统计概览 GET
|
||
GET /stats/platforms?period=[today]
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"platforms": {
|
||
"netease": {
|
||
"total_calls": 8234,
|
||
"success_rate": 97.13
|
||
},
|
||
"kuwo": {
|
||
"total_calls": 4521,
|
||
"success_rate": 97.08
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
15. QPS 统计 GET
|
||
GET /stats/qps?period=[today]
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"qps": {
|
||
"avg_qps": 0.1785,
|
||
"peak_qps": 2.4567,
|
||
"hourly_data": [
|
||
{
|
||
"date": "2025-11-24",
|
||
"hour": 14,
|
||
"calls": 8845,
|
||
"qps": "2.4569"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
|
||
16. 趋势数据 GET
|
||
GET /stats/trends?period=[week]
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"trends": [
|
||
{
|
||
"date": "2025-11-17",
|
||
"total_calls": 12345,
|
||
"success_rate": 96.20
|
||
},
|
||
{
|
||
"date": "2025-11-18",
|
||
"total_calls": 13567,
|
||
"success_rate": 96.48
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
17. 请求类型统计 GET
|
||
GET /stats/types?period=[today]
|
||
|
||
{
|
||
"code": 200,
|
||
"data": {
|
||
"requestTypes": {
|
||
"url": {
|
||
"total_calls": 6234,
|
||
"success_rate": 96.21
|
||
},
|
||
"info": {
|
||
"total_calls": 4521,
|
||
"success_rate": 98.56
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
高级特性
|
||
🔄 自动换源 (Auto-Switch)
|
||
|
||
当请求 type=url 时,如果原平台获取失败,系统会自动按配置优先级尝试其他平台。
|
||
换源优先级:
|
||
|
||
kuwo (酷我音乐)
|
||
netease (网易云音乐)
|
||
qq (QQ音乐)
|
||
|
||
🔍 聚合搜索 (Aggregate Search)
|
||
|
||
使用 aggregateSearch 可以一次性并发请求所有启用的平台,并对结果进行智能混合排列。
|
||
特性:
|
||
|
||
并发请求,速度快
|
||
自动去重
|
||
支持统一分页
|
||
|
||
© 2025 TuneHub API Documentation
|
||
|
||
<api/> |