音乐列表接口

接口说明

获取音乐列表。支持分页查询和歌单筛选,返回音乐的基本信息。

  • 接口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_numerpage_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'
  })
});