云乐综合配置 · 云乐插件自定义音乐接口

云乐综合配置
自定义音乐接口教程

手把手教你根据 API 返回数据,正确填写云乐插件的接口字段映射配置

零基础教学 图文对照 逐字段详解
0

准备工作:找到你的音乐 API 接口

接口需要自己找

云乐插件本身仅提供默认音乐数据,不做更新维护,如失效后你需要自行寻找(或搭建)一个能返回歌曲信息的 HTTP API 接口。常见来源为第三方音乐接口,请自行寻找。

在开始配置之前,你需要先确认两件事:

💡 注意:歌曲名称参数 msg= 必须放在接口链接的最末尾,其他参数(如音质、格式、数量等)放在前面。

例如:https://api.example.com/music/bdyy?type=json&sc=20&msg= ← 正确 ✅

例如:https://api.example.com/music/bdyy?msg=&type=json ← 错误 ❌

1

认识配置界面(总览)

下图是云乐插件的核心配置页,所有字段映射都在这里完成:

云乐配置界面

▲ 云乐插件配置界面(字段映射表)

单曲点歌区域

配置点播单首歌曲时,从 API 返回数据中提取歌名、歌手、封面、播放链接的字段路径。

列表点歌区域

配置搜索返回列表时,从 JSON 数组中提取每首歌曲信息的字段路径。

状态验证区域

配置判断 API 请求是否成功的状态字段和期望值。

序号参数

指定获取第几条数据的参数名称(索引)。

2

查看 API 返回的 JSON 数据

填写配置前,必须搞清楚你的 API 返回了什么样的数据结构。用浏览器打开接口地址,找到网络请求的响应内容。

A 列表接口的返回数据

{
  "code": 200,
  "text": "获取成功",
  "data": [
    {
      "name": "十年",
      "artist": "陈奕迅",
      "_singer": [
        "陈奕迅"
      ],
      "detail_page": "https://www.kuwo.cn/play_detail/80403",
      "pic": "https://img4.kuwo.cn/star/albumcover/300/s4s86/18/1347897214.jpg"
    },
    {
      "name": "盗墓笔记·十年人间",
      "artist": "李常超(Lao乾妈)",
      "_singer": [
        "李常超(Lao乾妈)"
      ],
      "detail_page": "https://www.kuwo.cn/play_detail/64955890",
      "pic": "https://img4.kuwo.cn/star/albumcover/300/s4s42/65/2863229906.jpg"
    },
    {
      "name": "十年",
      "artist": "陈奕迅",
      "_singer": [
        "陈奕迅"
      ],
      "detail_page": "https://www.kuwo.cn/play_detail/24610258",
      "pic": "https://img4.kuwo.cn/star/albumcover/300/s4s57/5/3594322917.jpg"
    }
  ]
}

▲ 搜索"十年"时,API 返回的歌曲列表 JSON 数据(代码格式,可直接复制)

B 单曲接口的返回数据

{
  "code": 200,
  "data": {
    "name": "十年",
    "artist": "陈奕迅",
    "cover": "https://img4.kuwo.cn/star/albumcover/120/s4s86/18/1347897214.jpg",
    "detail_page": "https://www.kuwo.cn/play_detail/80403",
    "play_url": "http://car-er.kuwo.cn/63d2443cccbb309459cde0493e84ed0d/6a72dcec/resource/30106/trackmedia/M500001OyHbk2MSIi4.mp3?from=bodian"
  }
}

▲ 点播单首歌曲时,API 返回的 JSON 数据(代码格式,可直接复制)

📊 关键发现:两个接口的 JSON 结构

列表接口和单曲接口都使用 data 作为上级字段。区别在于:列表接口中 上级字段 需要单独填写上级字段中,而单曲接口中 上级字段 需要直接填写在各个字段中。

3

状态字段 与 状态码

这两个字段用于验证 API 请求是否成功。它们对应的是单曲点播时返回数据中的状态信息。

{
  "code": 200,  ← 状态字段: code,状态码: 200
  "data": {
    "name": "十年",
    "artist": "陈奕迅",
    "cover": "https://...",
    "play_url": "http://...mp3"
  }
}
状态字段
code

API 返回 JSON 中表示请求状态的字段名称

{
  "code": 200, ← 这就是"状态字段"
  "data": { ... }
}
状态码
200

状态字段的期望值,表示请求成功

{
  "code": 200, ← "200"就是状态码
  "data": { ... }
}
💡 不同接口的状态字段可能不同: 有些接口用 code,有些用 status,有些用 success。请根据你实际 API 返回的字段来填写,这里的 code200 仅作示例。
4

列表点歌配置

列表点歌用于搜索返回多首歌曲的场景。它的配置和单曲点歌不同——需要指定歌曲数组所在的上级字段

1 列表上级

"列表上级" 是指:在图3(列表接口返回数据)中,歌曲列表数组所在的父级字段名

从图3可以看到,歌曲数组是 data 字段的值,所以此处填写 data

⚠️ 重要:需要根据你的 API 实际情况调整!
有些接口可能用 resultlistsongs 等作为数组字段名,也可能直接返回数组(没有上级字段),此时 留空 即可。
{
  "code": 200,
  "text": "获取成功",
  // ↓ "data" 就是列表上级字段
  "data": [
    {
      "name": "十年",
      "artist": "陈奕迅",
      "pic": "https://...jpg"
    },
    {
      "name": "盗墓笔记·十年人间",
      "artist": "李常超(Lao乾妈)",
      "pic": "https://...jpg"
    }
  ]
}

▲ 注释标注的位置就是 data 列表上级字段

2 列表歌名参数

name

列表中每首歌对象的歌曲名称对应的字段名。

{
  // 在 data 数组中的每个对象:
  "name": "十年" ← 歌名参数
}

3 列表歌手参数

artist

列表中每首歌对象的歌手名称对应的字段名。

{
  // 在 data 数组中的每个对象:
  "artist": "陈奕迅" ← 歌手参数
}
5

单曲点歌配置

单曲点歌的四个字段(歌名、歌手、封面、链接)中,data 也是上级字段。 它们与列表点歌的区别是:这里填写的是完整路径(含上级字段),而列表点歌是上级字段和子字段分开填。

1 歌名字段

data.name

完整路径 = 上级字段 data + . + 歌名在数据中的字段 name

{
  "data": {
    "name": "十年" ← data.name
  }
}
⚠️ 需要根据你的 API 调整!
如果单曲接口没有上级字段,只需填写 name;如果上级字段不是 data 而是 result,则填 result.name
{
  "code": 200,
  "data": {
    // ↓ 歌名字段: data.name
    "name": "十年",
    // ↓ 歌手字段: data.artist
    "artist": "陈奕迅",
    // ↓ 封面字段: data.cover
    "cover": "https://img4.kuwo.cn/star/.../1347897214.jpg",
    // ↓ 链接字段: data.play_url
    "play_url": "http://car-er.kuwo.cn/.../M500001OyHbk2MSIi4.mp3"
  }
}

2 歌手字段

data.artist

同样格式:上级字段 + 点 + 歌手字段名

"artist": "陈奕迅" ← data.artist

3 封面字段

data.cover

注意:不同接口封面字段名可能不同,如 picimgalbum_pic

"pic": "https://..." ← data.pic

4 链接字段

data.play_url

播放地址字段。不同接口可能叫 urlsrcmp3

"play_url": "https://...mp3" ← data.play_url

关键注意

✅ 如果接口没有上级字段(JSON 根就是歌曲对象),则单曲点歌的四个字段都不需要加 data. 前缀,直接填字段名即可。

✅ 列表和单曲如果都没有上级字段,列表上级和单曲字段中的上级都可以留空。
6

序号参数

n

序号参数用于指定获取第几条数据(索引/偏移量)。它对应 URL 中的一个查询参数,告诉接口"我要列表中的第几条"。

在下图示例接口中,n 就是这个参数名。

⚠️ 需要查看具体接口文档!
不同接口的参数名不同:大多数情况为 n,如果不是根据具体接口API文档的情况做调整。请务必查阅你的 API 文档确认正确的参数名,这里以 n 为例。
序号参数n
7

接口链接格式

这是最关键的一条规则:歌曲名称参数必须放在 URL 的最后面!(具体歌名参数要根据不同的接口文档进行调整,下面以msg为例)

正确格式

https://api.example.com/music/bdyy?type=json&sc=20&msg=

歌曲参数 msg=最末尾,其他参数(type、sc等)在前面。

错误格式

https://api.example.com/music/bdyy?msg=&type=json

歌曲参数 msg= 不在末尾,插件无法正确拼接歌曲名称。

🔧 工作原理:

云乐插件会在接口链接末尾自动拼接用户输入的歌曲名称。例如用户点播"十年":

https://api.example.com/music/bdyy?type=json&sc=20&msg=十年

如果 msg= 没有放在最后,拼接位置就会出错,导致请求失败。

8

完整配置对照表

基于图2-图4的示例数据,完整的填写参考如下:

配置项 填写值 数据来源 / 说明
歌名字段 data.name 图4单曲数据中的 dataname
歌手字段 data.artist 图4单曲数据中的 dataartist
封面字段 data.cover 图4单曲数据中的 datacover(或 pic
链接字段 data.play_url 图4单曲数据中的 dataplay_url
序号参数 n 指定第几条数据(索引),查 API 文档确认参数名
列表上级 data 图3列表数据中数组的父级字段
列表歌名参数 name 图3列表每项中的歌名字段
列表歌手参数 artist 图3列表每项中的歌手字段
状态字段 code 图4返回 JSON 中的状态字段名
状态码 200 状态字段等于此值表示请求成功

⚠️ 以上值基于示例截图中的 API 结构。实际填写时请根据你的接口返回数据对应调整。

9

常见问题与自定义适配

如果 API 没有"data"这个上级字段怎么办?

两种情况:

  • 有上级字段但名称不同(如 resultresponse):将单曲点歌字段中的 data.xxx 改为 result.xxx,列表上级改为 result
  • 完全没有上级字段(JSON 根直接是歌曲信息):列表上级留空,单曲点歌字段只写字段名(去掉 data. 前缀)。
不同接口的字段名不一样怎么办?

对照下表,根据你的 API 实际返回的字段名来映射:

插件需要 可能的字段名
歌名name / title / songName / song
歌手artist / singer / author / performer
封面cover / pic / img / image / album_pic
链接play_url / url / src / mp3 / music_url
序号n / index / offset / id / page
状态code / status / success / errno
列表中每项的字段名和单曲的字段名不一致怎么办?

插件对列表点歌和单曲点歌使用不同的字段配置,所以两边的字段名可以不同,互不影响。

例如:你的列表接口用 title 表示歌名,单曲接口用 name,那么列表歌名参数填 title,歌名字段填 data.name 即可。

接口返回的 JSON 嵌套很深怎么办?(如 data.result.songs[0].info.name)

云乐插件通常支持用 . 分隔的路径,你可以写多层嵌套:

  • 列表上级:data.result
  • 列表歌名参数:info.name(或 songs.info.name,取决于层级)
  • 歌名字段:data.result.info.name

如果嵌套太深插件不支持,建议找一个结构更扁平的音乐接口。

📋 配置流程总结

1

找接口

寻找可用的音乐 API,获取接口地址

2

看数据

F12 查看 JSON 返回结构,了解字段层级

3

对字段

按本文教程逐一映射每个配置项

4

调格式

检查上级字段和接口链接格式

5

测试

保存后点歌测试,确认配置正确

核心要点速记

  • 接口自己找,云乐插件只是配置工具,不提供音乐数据源。
  • 状态字段和状态码看单曲接口(图4)的返回值,不同接口的字段名和值可能不同。
  • 列表上级 = 数组的父级字段名(图3中的 data),无上级则留空。
  • 单曲点歌字段中的 data 也是上级,路径写为 data.xxx,无上级则只写 xxx
  • 序号参数是第几条数据(索引),要查 API 文档,不同接口参数名不同(n / index / offset 等)。
  • 歌曲名称参数必须放在接口链接的最末尾!