From ccaa4bc8d5f0f269cfed4289fec2388ee4109002 Mon Sep 17 00:00:00 2001 From: chen_10 <1803012703@qq.com> Date: Mon, 10 Oct 2022 16:33:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E8=8B=A5=E5=B9=B2?= =?UTF-8?q?=E6=9B=B2=E9=A3=8E=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 95 ++++++++++++++++++++++++++++++++++++++ interface.d.ts | 44 ++++++++++++++++++ module/style_album.js | 21 +++++++++ module/style_artist.js | 21 +++++++++ module/style_detail.js | 18 ++++++++ module/style_list.js | 11 +++++ module/style_playlist.js | 21 +++++++++ module/style_preference.js | 16 +++++++ module/style_song.js | 21 +++++++++ 9 files changed, 268 insertions(+) create mode 100644 module/style_album.js create mode 100644 module/style_artist.js create mode 100644 module/style_detail.js create mode 100644 module/style_list.js create mode 100644 module/style_playlist.js create mode 100644 module/style_preference.js create mode 100644 module/style_song.js diff --git a/docs/README.md b/docs/README.md index b438c5c..b918779 100644 --- a/docs/README.md +++ b/docs/README.md @@ -258,6 +258,16 @@ 240. 内部版本接口 241. 歌单更新播放量 242. 黑胶时光机 +243. 音乐百科 - 简要信息 +244. 乐谱列表 +245. 乐谱内容 +246. 曲风列表 +247. 曲风偏好 +248. 曲风详情 +249. 曲风-歌曲 +250. 曲风-专辑 +251. 曲风-歌单 +252. 曲风-歌手 ## 安装 @@ -3930,6 +3940,91 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` **调用例子:** `/sheet/preview?id=245206` +### 曲风列表 + +说明: 调用此接口获取曲风列表及其对应的 `tagId` + +**接口地址:** `/style/list` + +**调用例子:** `/style/list` + +### 曲风偏好 + +说明: 登陆后调用此接口获取我的曲风偏好 + +**接口地址:** `/style/preference` + +**调用例子:** `/style/preference` + +### 曲风详情 + +说明: 调用此接口可以获取该曲风的描述信息 + +**接口地址:** `/style/detail` + +**必选参数:** `tagId`: 曲风 ID + +**调用例子:** `/style/detail?tagId=1000` + +### 曲风-歌曲 + +说明: 调用此接口可以获取该曲风对应的歌曲 + +**接口地址:** `/style/song` + +**必选参数:** `tagId`: 曲风 ID + +**可选参数 :** `size` : 返回数量 , 默认为 20 + +`cursor` : 返回数据的 cursor, 默认为 0 , 传入上一次返回结果的 cursor,将会返回下一页的数据 + +`sort`: 排序方式,0: 按热度排序,1: 按时间排序 + +**调用例子:** `/style/song?tagId=1000` `/style/song?tagId=1010&sort=1` + +### 曲风-专辑 + +说明: 调用此接口可以获取该曲风对应的专辑 + +**接口地址:** `/style/album` + +**必选参数:** `tagId`: 曲风 ID + +**可选参数 :** `size` : 返回数量 , 默认为 20 + +`cursor` : 返回数据的 cursor, 默认为 0 , 传入上一次返回结果的 cursor,将会返回下一页的数据 + +`sort`: 排序方式,0: 按热度排序,1: 按时间排序 + +**调用例子:** `/style/album?tagId=1000` `/style/album?tagId=1010&sort=1` + +### 曲风-歌单 + +说明: 调用此接口可以获取该曲风对应的歌单 + +**接口地址:** `/style/playlist` + +**必选参数:** `tagId`: 曲风 ID + +**可选参数 :** `size` : 返回数量 , 默认为 20 + +`cursor` : 返回数据的 cursor, 默认为 0 , 传入上一次返回结果的 cursor,将会返回下一页的数据 + +**调用例子:** `/style/playlist?tagId=1000` + +### 曲风-歌手 + +说明: 调用此接口可以获取该曲风对应的歌手 + +**接口地址:** `/style/artist` + +**必选参数:** `tagId`: 曲风 ID + +**可选参数 :** `size` : 返回数量 , 默认为 20 + +`cursor` : 返回数据的 cursor, 默认为 0 , 传入上一次返回结果的 cursor,将会返回下一页的数据 + +**调用例子:** `/style/artist?tagId=1000` ## 离线访问此文档 diff --git a/interface.d.ts b/interface.d.ts index 0a08b39..e76d380 100644 --- a/interface.d.ts +++ b/interface.d.ts @@ -1653,3 +1653,47 @@ export function sheet_preview( id: number | string } & RequestBaseConfig, ): Promise + +export function style_list(params: RequestBaseConfig): Promise + +export function style_preference(params: RequestBaseConfig): Promise + +export function style_detail( + params: { + tagId: number | string + } & RequestBaseConfig, +): Promise + +export function style_song( + params: { + tagId: number | string + size?: number | string + cursor?: number | string + sort?: number | string + } & RequestBaseConfig, +): Promise + +export function style_album( + params: { + tagId: number | string + size?: number | string + cursor?: number | string + sort?: number | string + } & RequestBaseConfig, +): Promise + +export function style_playlist( + params: { + tagId: number | string + size?: number | string + cursor?: number | string + } & RequestBaseConfig, +): Promise + +export function style_artist( + params: { + tagId: number | string + size?: number | string + cursor?: number | string + } & RequestBaseConfig, +): Promise diff --git a/module/style_album.js b/module/style_album.js new file mode 100644 index 0000000..826d3d0 --- /dev/null +++ b/module/style_album.js @@ -0,0 +1,21 @@ +// 曲风-专辑 + +module.exports = (query, request) => { + const data = { + cursor: query.cursor || 0, + size: query.size || 20, + tagId: query.tagId, + sort: query.sort || 0, + } + return request( + 'POST', + `https://music.163.com/api/style-tag/home/album`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/style_artist.js b/module/style_artist.js new file mode 100644 index 0000000..109cac8 --- /dev/null +++ b/module/style_artist.js @@ -0,0 +1,21 @@ +// 曲风-歌手 + +module.exports = (query, request) => { + const data = { + cursor: query.cursor || 0, + size: query.size || 20, + tagId: query.tagId, + sort: 0, + } + return request( + 'POST', + `https://music.163.com/api/style-tag/home/artist`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/style_detail.js b/module/style_detail.js new file mode 100644 index 0000000..bf4e4dd --- /dev/null +++ b/module/style_detail.js @@ -0,0 +1,18 @@ +// 曲风详情 + +module.exports = (query, request) => { + const data = { + tagId: query.tagId, + } + return request( + 'POST', + `https://music.163.com/api/style-tag/home/head`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/style_list.js b/module/style_list.js new file mode 100644 index 0000000..991b675 --- /dev/null +++ b/module/style_list.js @@ -0,0 +1,11 @@ +// 曲风列表 + +module.exports = (query, request) => { + const data = {} + return request('POST', `https://music.163.com/api/tag/list/get`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }) +} diff --git a/module/style_playlist.js b/module/style_playlist.js new file mode 100644 index 0000000..73f8231 --- /dev/null +++ b/module/style_playlist.js @@ -0,0 +1,21 @@ +// 曲风-歌单 + +module.exports = (query, request) => { + const data = { + cursor: query.cursor || 0, + size: query.size || 20, + tagId: query.tagId, + sort: 0, + } + return request( + 'POST', + `https://music.163.com/api/style-tag/home/playlist`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/style_preference.js b/module/style_preference.js new file mode 100644 index 0000000..373846e --- /dev/null +++ b/module/style_preference.js @@ -0,0 +1,16 @@ +// 曲风偏好 + +module.exports = (query, request) => { + const data = {} + return request( + 'POST', + `https://music.163.com/api/tag/my/preference/get`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/style_song.js b/module/style_song.js new file mode 100644 index 0000000..077c0b3 --- /dev/null +++ b/module/style_song.js @@ -0,0 +1,21 @@ +// 曲风-歌曲 + +module.exports = (query, request) => { + const data = { + cursor: query.cursor || 0, + size: query.size || 20, + tagId: query.tagId, + sort: query.sort || 0, + } + return request( + 'POST', + `https://music.163.com/api/style-tag/home/song`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +}