QQ音樂API koa2 版本, 經過Web網頁版請求QQ音樂接口數據, 有問題請提
issue, 或者你有其餘想法歡迎
PR
.
Githubcss
知乎html
掘金前端
由於本項目採用的是koa2
, 因此請確保你的node
版本是7.6.0+
node -v
git@github.com:Rain120/qq-music-api.git npm install
// npm i -g nodemon npm run start // or don't install nodemon node app.js
項目監聽端口是3200
node
使用apis
詳見文檔ios
Rain120: 前端菜鳥, 入職前端1年, 公司的技術棧是React, 由於公司官網由我重構過, 我使用的Vue.js重構的。目前正在脫坑, 求大佬內推呀
koa接口說明(參數, 地址, 效果圖)
接口說明: 調用此接口, 可獲取QQ音樂標準產品下載連接git
接口地址: /downloadQQMusic
github
調用例子: /downloadQQMusic
npm
示例截圖:axios
接口說明: 調用此接口, 可獲取歌單分類, 包含category
信息api
接口地址: /getSongListCategories
調用例子: /getSongListCategories
<details>
<summary>SortID</summary>
sortId: 1, sortName: 默認 sortId: 2, sortName: 最新 sortId: 3, sortName: 最熱 sortId: 4, sortName: 評分 sortId: 5, sortName: none
</details>
歌單分類(categoryId & categoryName)
<details>
<summary>1. 熱門</summary>
1.1 "categoryId": 10000000, "categoryName": 所有,
</details>
<details>
<summary>2. 語種</summary>
2.1 "categoryId": 167, "categoryName": "英語", 2.2 "categoryId": 168, "categoryName": "韓語", 2.3 "categoryId": 166, "categoryName": "粵語", 2.4 "categoryId": 169, "categoryName": "日語", 2.5 "categoryId": 170, "categoryName": "小語種", 2.6 "categoryId": 203, "categoryName": "閩南語", 2.7 "categoryId": 204, "categoryName": "法語", 2.8 "categoryId": 205, "categoryName": "拉丁語",
</details>
<details>
<summary>3. 流派</summary>
3.1 "categoryId": 6, "categoryName": "流行", 3.2 "categoryId": 15, "categoryName": "輕音樂", 3.3 "categoryId": 11, "categoryName": "搖滾", 3.4 "categoryId": 28, "categoryName": "民謠", 3.5 "categoryId": 8, "categoryName": "R&B", 3.6 "categoryId": 153, "categoryName": "嘻哈", 3.7 "categoryId": 24, "categoryName": "電子", 3.8 "categoryId": 27, "categoryName": "古典", 3.9 "categoryId": 18, "categoryName": "鄉村", 3.10 "categoryId": 22, "categoryName": "藍調", 3.11 "categoryId": 21, "categoryName": "爵士", 3.12 "categoryId": 164, "categoryName": "新世紀", 3.13 "categoryId": 25, "categoryName": "拉丁", 3.14 "categoryId": 218, "categoryName": "後搖", 3.15 "categoryId": 219, "categoryName": "中國傳統", 3.16 "categoryId": 220, "categoryName": "世界音樂",
</details>
<details>
<summary>4. 主題</summary>
4.1 "categoryId": 39, "categoryName": "ACG", 4.2 "categoryId": 136, "categoryName": "經典", 4.3 "categoryId": 146, "categoryName": "網絡歌曲", 4.4 "categoryId": 133, "categoryName": "影視", 4.5 "categoryId": 141, "categoryName": "KTV熱歌", 4.6 "categoryId": 131, "categoryName": "兒歌", 4.7 "categoryId": 145, "categoryName": "中國風", 4.8 "categoryId": 194, "categoryName": "古風", 4.9 "categoryId": 148, "categoryName": "情歌", 4.10 "categoryId": 196, "categoryName": "城市", 4.11 "categoryId": 197, "categoryName": "現場音樂", 4.12 "categoryId": 199, "categoryName": "背景音樂", 4.13 "categoryId": 200, "categoryName": "佛教音樂", 4.14 "categoryId": 201, "categoryName": "UP主", 4.15 "categoryId": 202, "categoryName": "樂器", 4.16 "categoryId": 14, "categoryName": "DJ",
</details>
<details>
<summary>5. 心情</summary>
5.1 "categoryId": 52, "categoryName": "傷感", 5.2 "categoryId": 122, "categoryName": "安靜", 5.3 "categoryId": 117, "categoryName": "快樂", 5.4 "categoryId": 116, "categoryName": "治癒", 5.5 "categoryId": 125, "categoryName": "勵志", 5.6 "categoryId": 59, "categoryName": "甜蜜", 5.7 "categoryId": 55, "categoryName": "寂寞", 5.8 "categoryId": 126, "categoryName": "宣泄", 5.9 "categoryId": 68, "categoryName": "思念",
</details>
<details>
<summary>6. 場景</summary>
6.1 "categoryId": 78, "categoryName": "睡前", 6.2 "categoryId": 102, "categoryName": "夜店", 6.3 "categoryId": 101, "categoryName": "學習", 6.4 "categoryId": 99, "categoryName": "運動", 6.5 "categoryId": 99, "categoryName": "運動", 6.6 "categoryId": 76, "categoryName": "約會", 6.7 "categoryId": 94, "categoryName": "工做", 6.8 "categoryId": 81, "categoryName": "旅行", 6.9 "categoryId": 103, "categoryName": "派對", 6.10 "categoryId": 222, "categoryName": "婚禮", 6.11 "categoryId": 223, "categoryName": "咖啡館", 6.12 "categoryId": 224, "categoryName": "跳舞", 6.13 "categoryId": 16, "categoryName": "校園",
</summary>
</details>
示例截圖:
接口說明: 調用此接口, 可獲取歌單列表
參數列表:
categoryId
: 類別id
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 20
sortId
: 最新, 最熱,評分, 默認爲5
接口地址: /getSongLists
調用例子: /getSongLists?categoryId=10000000
示例截圖:
獲取歌單列表
獲取歌單列表-帶參數
接口說明: 調用此接口, 可獲取歌單詳情
參數列表:
disstid
: 歌單id
接口地址: /getSongListDetail
調用例子: /getSongListDetail?disstid=7011264340
示例截圖:
接口說明: 調用此接口, 可獲取MV標籤
接口地址: /getMvByTag
調用例子: /getMvByTag
示例截圖:
接口說明: 調用此接口, 可獲取MV播放信息
參數列表:
vid
: video id
接口地址: /getMvPlay
調用例子: /getMvPlay?vid=u00222le4ox
示例截圖:
接口說明: 調用此接口, 可獲取歌手MV
參數列表:
singermid
: 歌手id
order
: 當前MV類型, 默認爲time
listen
: 歌手專輯音樂MVtime
: 粉絲上傳MV視頻limit
: 取出歌單數量, 默認爲5
接口地址: /getSingerMV
調用例子: /getSingerMV?singermid=0025NhlN2yWrP4&order=all&limit=5
示例截圖:
接口說明: 調用此接口, 可獲取類似歌手
參數列表:
singermid
: 歌手id
接口地址: /getSimilarSinger
調用例子: /getSimilarSinger?singermid=0025NhlN2yWrP4
示例截圖:
接口說明: 調用此接口, 可獲取歌手信息
參數列表:
singermid
: 歌手id
接口地址: /getSingerDesc
調用例子: /getSingerDesc?singermid=0025NhlN2yWrP4
示例截圖:
接口說明: 調用此接口, 可獲取歌手被關注數量信息
參數列表:
singermid
: 歌手id
接口地址: /getSingerStarNum
調用例子: /getSingerStarNum?singermid=0025NhlN2yWrP4
示例截圖:
接口說明: 調用此接口, 可獲取電臺列表, 分類
接口地址: /getRadioLists
調用例子: /getRadioLists
示例截圖:
接口說明: 調用此接口, 可獲取專輯信息(專輯列表、詳情)
參數列表:
albummid
: 專輯id
接口地址: /getAlbumInfo
調用例子: /getAlbumInfo?albummid=0016l2F430zMux
示例截圖:
接口說明: 調用此接口, 可獲取數字專輯, 輪播圖banner
, 專輯列表等信息, 詳見API結構圖
接口地址: /getDigitalAlbumLists
調用例子: /getDigitalAlbumLists
示例截圖:
接口說明: 調用此接口, 可獲取歌曲歌詞
參數列表:
songmid
: 專輯id
isFormat
: 是否格式化歌詞, 默認值爲 false
接口地址: /getLyric
調用例子: /getLyric?songmid=003rJSwm3TechU
示例截圖:
接口說明: 調用此接口, 可獲取MV以及其Tag信息
參數列表:
area_id
: 區域id
, 默認值爲所有(15)
<details>
<summary>Area</summary>
"area": [ { "id": 15, "name": "所有" }, { "id": 16, "name": "內地" }, { "id": 17, "name": "港臺" }, { "id": 18, "name": "歐美" }, { "id": 19, "name": "韓國" }, { "id": 20, "name": "日本" } ]
</details>
version_id
: 版本id
, 默認值爲所有(7)
<details>
<summary>Version</summary>
"version": [ { "id": 7, "name": "所有" }, { "id": 8, "name": "MV" }, { "id": 9, "name": "現場" }, { "id": 10, "name": "翻唱" }, { "id": 11, "name": "舞蹈" }, { "id": 12, "name": "影視" }, { "id": 13, "name": "綜藝" }, { "id": 14, "name": "兒歌" } ]
</details>
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 20
接口地址: /getMv
調用例子: /getMv
示例截圖:
接口說明: 調用此接口, 可獲取新碟信息
參數列表:
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 20
接口地址: /getNewDisks
調用例子: /getNewDisks
示例截圖:
接口說明: 調用此接口, 可獲取歌手專輯
參數列表:
singermid
: 歌手id
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 20
接口地址: /getSingerAlbum
調用例子: /getSingerAlbum?singermid=0025NhlN2yWrP4
示例截圖:
接口說明: 調用此接口, 可獲取歌曲VKey
參數列表:
songmid
: 歌曲id
接口地址: /getMusicVKey
調用例子: /getMusicVKey?songmid=0025NhlN2yWrP4
示例截圖:
接口說明: 調用此接口, 可獲取搜索熱詞
接口地址: /getHotkey
調用例子: /getHotkey
示例截圖:
接口說明: 調用此接口, 可獲取獲取關鍵字搜索提示
參數列表:
key
: 搜索關鍵字
接口地址: /getSmartbox
調用例子: /getSmartbox?key=周杰倫
示例截圖:
接口說明: 調用此接口, 可獲取獲取搜索結果
參數列表(部分參數待註釋):
key
: 搜索關鍵字
catZhida
: 0表示歌曲, 2表示歌手, 3表示專輯, 默認值爲1
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 10
接口地址: /getSearchByKey
調用例子: /getSearchByKey?key=周杰倫
示例截圖:
接口說明: 調用此接口, 可獲取首頁推薦
接口地址: /getRecommend
調用例子: /getRecommend
示例截圖:
接口說明: 調用此接口, 可獲取排行榜單列表
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 10
接口地址: /getTopLists
調用例子: /getTopLists
示例截圖:
接口說明: 調用此接口, 可獲取排行榜單詳情
topId
: 榜單id
page
: 當前頁數, 默認爲1
limit
: 取出歌單數量, 默認爲 10
接口地址: /getRanks
調用例子: /getRanks
示例截圖:
接口說明: 調用此接口, 可獲取評論信息
id
: 專輯或者歌單請求結果的id
rootcommentid
: 榜單id
cid
:
pagenum
: 當前頁數, 默認爲0
pagesize
: 取出評論數量, 默認爲 25
cmd
:
reqtype
:
biztype
:
接口地址: /getComments
調用例子: /getComments?id=8220&rootcommentid=album_8220_1003310416_1558068713
示例截圖:
接口說明: 調用此接口, 可獲取票務信息
接口地址: /getTicketInfo
調用例子: /getTicketInfo
示例截圖:
靈感來自
Binaryify/NeteaseCloudMusicApi
參考內容
unit test
, 因此本項目還沒有添加unit test
, 等有時間再添加;