音乐列表接口
接口说明
获取音乐列表。支持分页查询和歌单筛选,返回音乐的基本信息。
- 接口URL:
/api/music/index
- 请求方法:
POST
- 权限要求: 无需登录即可访问
请求参数
参数名 | 类型 | 必填 | 说明 | 示例值 |
---|---|---|---|---|
page_numer | number | 否 | 页码,不传则返回全部数据 | 1 |
page_size | number | 否 | 每页条数,不传则返回全部数据 | 10 |
sheet_pash | string | 否 | 歌单路径 | "favorite" |
响应结构
typescript
interface Response {
code: number; // 状态码
message: string; // 响应消息
data?: {
list: Array<{
song_id: number; // 音乐ID
song_title: string; // 音乐标题
song_artist: string; // 艺术家
song_album: string; // 专辑名
song_cover: string; // 封面图片URL
song_url: string; // 音乐文件URL
song_sheet_id: number; // 歌单ID
sheet_name: string; // 歌单名称
sheet_pash: string; // 歌单路径
}>;
total: number; // 总条数
};
}
响应示例
json
{
"code": 0,
"message": "success",
"data": {
"list": [
{
"song_id": 1,
"song_title": "示例音乐",
"song_artist": "演唱者",
"song_album": "专辑名称",
"song_cover": "https://example.com/cover.jpg",
"song_url": "https://example.com/music.mp3",
"song_sheet_id": 1,
"sheet_name": "我喜欢的音乐",
"sheet_pash": "favorite"
}
],
"total": 1
}
}
特殊说明
分页机制
- 当
page_numer
和page_size
都不传时,返回全部数据 - 分页从第1页开始,每页大小由
page_size
决定 - 返回数据按音乐ID降序排列(最新添加的音乐在前)
音乐文件
- 音乐文件URL支持直接播放
- 封面图片支持多种尺寸,可以根据需要选择合适的大小
错误码说明
错误码 | 说明 | 处理建议 |
---|---|---|
0 | 成功 | - |
500 | 服务器错误 | 请联系管理员 |
调用示例
基础查询
typescript
const response = await fetch('/api/music/index', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
page_numer: 1,
page_size: 10
})
});
歌单筛选
typescript
const response = await fetch('/api/music/index', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
page_numer: 1,
page_size: 10,
sheet_pash: 'favorite'
})
});