Skip to content

Commit ceb8338

Browse files
committed
1、添加 频道、听书等多个接口
2、更新文档
1 parent c768a0e commit ceb8338

21 files changed

+418
-24
lines changed

README.md

+19-4
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ $ $Env:HOST=127.0.0.1; npm run dev
162162
46. 乐库 banner
163163
47. 乐库电台
164164
48. 乐库
165-
49. 推荐频道
166-
50. 频道
167-
51. 频道图片
168-
52. 频道歌曲
165+
49. 电台 - 推荐
166+
50. 电台
167+
51. 电台 - 图片
168+
52. 电台 - 音乐列表
169169
53. 编辑精选
170170
54. 编辑精选数据
171171
55. 编辑精选歌单
@@ -212,6 +212,21 @@ $ $Env:HOST=127.0.0.1; npm run dev
212212
96. 获取服务器时间
213213
97. 刷刷
214214
98. AI 推荐
215+
99. 频道 - 获取用户所有频道
216+
100. 频道 - 详情
217+
101. 频道 - 频道安利
218+
102. 频道 - 相似频道
219+
103. 频道 - 订阅
220+
104. 频道 - 音乐故事
221+
105. 频道 - 音乐故事详情
222+
106. 动态 - 最常访问
223+
107. 获取用户公开的音乐
224+
108. 听书 - 每日推荐
225+
109. 听书 - 排行榜推荐
226+
110. 听书 - VIP 推荐
227+
111. 听书 - 每周推荐
228+
112. 听书 - 专辑详情
229+
113. 听书 - 专辑音乐列表
215230

216231
## License
217232

docs/README.md

+208-17
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@
7575
46. [`乐库 banner`](#乐库-banner)
7676
47. [`乐库电台`](#乐库电台)
7777
48. [`乐库`](#乐库)
78-
49. [`推荐频道`](#推荐频道)
79-
50. [`频道`](#频道)
80-
51. [`频道图片`](#频道图片)
81-
52. [`频道歌曲`](#频道歌曲)
78+
49. [`电台 - 推荐`](#电台---推荐)
79+
50. [`电台`](#电台)
80+
51. [`电台 - 图片`](#电台---图片)
81+
52. [`电台 - 音乐列表`](#电台---音乐列表)
8282
53. [`编辑精选`](#编辑精选)
8383
54. [`编辑精选数据`](#编辑精选数据)
8484
55. [`编辑精选歌单`](#编辑精选歌单)
@@ -125,6 +125,21 @@
125125
96. [`获取服务器时间`](#获取服务器时间)
126126
97. [`刷刷`](#刷刷)
127127
98. [`AI 推荐`](#ai-推荐)
128+
99. [`频道 - 获取用户所有频道`](#频道---获取用户所有频道)
129+
100. [`频道 - 详情`](#频道---详情)
130+
101. [`频道 - 频道安利`](#频道---频道安利)
131+
102. [`频道 - 相似频道`](#频道---相似频道)
132+
103. [`频道 - 订阅`](#频道---订阅)
133+
104. [`频道 - 音乐故事`](#频道---音乐故事)
134+
105. [`频道 - 音乐故事详情`](#频道---音乐故事详情)
135+
106. [`动态 - 最常访问`](#动态---最常访问)
136+
107. [`获取用户公开的音乐`](#获取用户公开的音乐)
137+
108. [`听书 - 每日推荐`](#听书---每日推荐)
138+
109. [`听书 - 排行榜推荐`](#听书---排行榜推荐)
139+
110. [`听书 - VIP 推荐`](#听书---vip-推荐)
140+
111. [`听书 - 每周推荐`](#听书---每周推荐)
141+
112. [`听书 - 专辑详情`](#听书---专辑详情)
142+
113. [`听书 - 专辑音乐列表`](#听书---专辑音乐列表)
128143

129144
### 安装
130145

@@ -233,6 +248,8 @@ $ set HOST=127.0.0.1 && npm run dev
233248

234249
#### 更新记录
235250

251+
24-07-14: 添加 频道、听书等多个接口。
252+
236253
24-07-14: 添加 刷刷、AI 推荐 接口,更新 提交听歌历史 接口。
237254

238255
24-06-30: 添加 获取歌手列表 接口
@@ -1013,7 +1030,7 @@ vip 专属推荐
10131030

10141031
**可选参数**
10151032

1016-
`fields`: 可以传 `album_info` `authors.base` `base` `audio_info`, 每个 field 以逗号分开
1033+
`fields`: 可以传 `album_info` `authors.base` `base` `audio_info`, `authors.ip`, `extra`, `tags`, `tagmap` 每个 field 以逗号分开
10171034

10181035
**接口地址:** `/krm/audio`
10191036

@@ -1077,25 +1094,25 @@ vip 专属推荐
10771094

10781095
**调用例子:** `/yueku`
10791096

1080-
### 推荐频道
1097+
### 电台
10811098

1082-
说明 : 调用此接口 , 可获取推荐频道数据
1099+
说明 : 调用此接口 , 可获取所有电台数据
10831100

1084-
**接口地址:** `/fm/recommend`
1101+
**接口地址:** `/fm/class`
10851102

1086-
**调用例子:** `/fm/recommend`
1103+
**调用例子:** `/fm/class`
10871104

1088-
### 频道
1105+
### 电台 - 推荐
10891106

1090-
说明 : 调用此接口 , 可获取所有频道数据
1107+
说明 : 调用此接口 , 可获取推荐电台
10911108

1092-
**接口地址:** `/fm/class`
1109+
**接口地址:** `/fm/recommend`
10931110

1094-
**调用例子:** `/fm/class`
1111+
**调用例子:** `/fm/recommend`
10951112

1096-
### 频道图片
1113+
### 电台 - 图片
10971114

1098-
说明 : 调用此接口 , 可获取对应频道的图片
1115+
说明 : 调用此接口 , 可获取对应电台的图片
10991116

11001117
**必选参数:**
11011118

@@ -1105,9 +1122,9 @@ vip 专属推荐
11051122

11061123
**调用例子:** `/fm/image?fmid=693` `/fm/image?fmid=693,37`
11071124

1108-
### 获取频道音乐列表
1125+
### 电台 - 音乐列表
11091126

1110-
说明 : 调用此接口 , 可获取对应频道的音乐列表
1127+
说明 : 调用此接口 , 可获取对应电台的音乐列表
11111128

11121129
**必选参数:**
11131130

@@ -1829,6 +1846,180 @@ fields: 支持多个,每个以逗号分隔,支持的值有:mkv,tags,h264,h
18291846

18301847
**调用例子:** `/ai/recommend?album_audio_id=274565080` `/ai/recommend?album_audio_id=274565080,68435124`
18311848

1849+
### 频道 - 获取用户所有频道
1850+
1851+
说明:登录后调用此接口,可以获取用户所有订阅的频道
1852+
1853+
**可选参数:**
1854+
1855+
`page`:页数
1856+
1857+
`pagesize `: 每页页数, 默认为 30
1858+
1859+
**接口地址:** `/youth/channel/all`
1860+
1861+
**调用例子:** `/youth/channel/all`
1862+
1863+
### 频道 - 详情
1864+
1865+
说明:调用此接口,传入 `global_collection_id / channel_id` 可以获取频道详情
1866+
1867+
**必选参数:**
1868+
1869+
`global_collection_id`:频道 id (global_collection_id / channel_id 均可以), 可以传多个,每个以逗号分开,
1870+
1871+
**接口地址:** `/youth/channel/detail`
1872+
1873+
**调用例子:** `/youth/channel/detail?global_collection_id=11576464149`
1874+
1875+
### 频道 - 频道安利
1876+
1877+
说明:调用此接口,传入 `global_collection_id / channel_id` 可以获取频道安利
1878+
1879+
**必选参数:**
1880+
1881+
`global_collection_id`:频道 id (global_collection_id / channel_id 均可以)
1882+
1883+
**接口地址:** `/youth/channel/amway`
1884+
1885+
**调用例子:** `/youth/channel/amway?global_collection_id=11576464149`
1886+
1887+
### 频道 - 相似频道
1888+
1889+
说明:调用此接口,传入 `global_collection_id / channel_id` 可以获取相似频道
1890+
1891+
**必选参数:**
1892+
1893+
`channel_id`:频道 id (global_collection_id / channel_id 均可以)
1894+
1895+
**接口地址:** `/youth/channel/similar`
1896+
1897+
**调用例子:** `/youth/channel/similar?channel_id=11576464149`
1898+
1899+
### 频道 - 订阅
1900+
1901+
说明:登录后调用此接口, 传入 `global_collection_id / channel_id` 可订阅频道
1902+
1903+
**必选参数:**
1904+
1905+
`global_collection_id`:频道 id (global_collection_id / channel_id 均可以)
1906+
1907+
**可选参数:**
1908+
1909+
`t`:1 为订阅,0 为取消订阅,不传默认为订阅
1910+
1911+
**接口地址:** `/youth/channel/sub`
1912+
1913+
**调用例子:** `/youth/channel/sub?global_collection_id=11576464149` `/youth/channel/sub?global_collection_id=11576464149&t=0`
1914+
1915+
### 频道 - 音乐故事
1916+
1917+
说明:调用此接口,传入 `global_collection_id / channel_id` 可以获取音乐故事
1918+
1919+
**必选参数:**
1920+
1921+
`global_collection_id`:频道 id (global_collection_id / channel_id 均可以)
1922+
1923+
**可选参数:**
1924+
1925+
`page`:页数
1926+
1927+
`pagesize `: 每页页数, 默认为 30
1928+
1929+
**接口地址:** `/youth/channel/song`
1930+
1931+
**调用例子:** `/youth/channel/song?global_collection_id=11576464149`
1932+
1933+
### 频道 - 音乐故事详情
1934+
1935+
说明:调用此接口,传入 `global_collection_id / channel_id``fileid` 可以获取音乐故事详情
1936+
1937+
**必选参数:**
1938+
1939+
`global_collection_id`:频道 id (global_collection_id / channel_id 均可以)
1940+
1941+
`fileid`: 音乐故事 fileid
1942+
1943+
**接口地址:** `/youth/channel/song/detail`
1944+
1945+
**调用例子:** `/youth/channel/song/detail?global_collection_id=11576464149&fileid=1720958083456581`
1946+
1947+
### 动态 - 最常访问
1948+
1949+
说明:登录后调用此接口,可以获取经常访问的频道和用户
1950+
1951+
**接口地址:** `/youth/dynamic/recent`
1952+
1953+
**调用例子:** `/youth/dynamic/recent`
1954+
1955+
### 获取用户公开的音乐
1956+
1957+
说明:调用此接口,可以获取用户公开的音乐
1958+
1959+
**必选参数:**
1960+
1961+
`userid`:用户 id
1962+
1963+
**可选参数:**
1964+
1965+
`page`:页数
1966+
1967+
`pagesize `: 每页页数, 默认为 30
1968+
1969+
**接口地址:** `/youth/user/song`
1970+
1971+
**调用例子:** `/youth/user/song?userid=1354894105`
1972+
1973+
### 听书 - 每日推荐
1974+
1975+
**可选参数:**
1976+
1977+
`page`:页数
1978+
1979+
`pagesize `: 每页页数, 默认为 30
1980+
1981+
**接口地址:** `/longaudio/daily/recommend`
1982+
1983+
**调用例子:** `/longaudio/daily/recommend`
1984+
1985+
### 听书 - 排行榜推荐
1986+
1987+
**接口地址:** `/longaudio/rank/recommend`
1988+
1989+
**调用例子:** `/longaudio/rank/recommend`
1990+
1991+
### 听书 - VIP 推荐
1992+
1993+
**接口地址:** `/longaudio/vip/recommend`
1994+
1995+
**调用例子:** `/longaudio/vip/recommend`
1996+
1997+
### 听书 - 每周推荐
1998+
1999+
**接口地址:** `/longaudio/week/recommend`
2000+
2001+
**调用例子:** `/longaudio/week/recommend`
2002+
2003+
### 听书 - 专辑详情
2004+
2005+
**必选参数:**
2006+
2007+
`album_id`: 专辑 id 可以传多个,每个以逗号分开,
2008+
2009+
**接口地址:** `/longaudio/album/detail`
2010+
2011+
**调用例子:** `/longaudio/album/detail?album_id=56655759`
2012+
2013+
### 听书 - 专辑音乐列表
2014+
2015+
**必选参数:**
2016+
2017+
`album_id`: 专辑 id 可以传多个
2018+
2019+
**接口地址:** `/longaudio/album/audios`
2020+
2021+
**调用例子:** `/longaudio/album/audios?album_id=56655759`
2022+
18322023
## License
18332024

18342025
[The MIT License (MIT)](https://github.com/MakcRe/KuGouMusicApi/blob/main/LICENSE)

module/longaudio_album_audios.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module.exports = (params, useAxios) => {
2+
return useAxios({
3+
url: `/longaudio/v2/album_audios`,
4+
method: 'post',
5+
encryptType: 'android',
6+
data: {
7+
album_id: params.album_id,
8+
area_code: 1,
9+
tagid: 0,
10+
page: params.page || 1,
11+
pagesize: params.pagesize || 30,
12+
},
13+
cookie: params?.cookie || {},
14+
headers: { 'x-router': 'openapi.kugou.com', 'KG-TID': '78' },
15+
});
16+
};

module/longaudio_album_detail.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = (params, useAxios) => {
2+
const data = (params.album_id || '').split(',').map((s) => ({ album_id: s }));
3+
return useAxios({
4+
url: `/openapi/v2/broadcast`,
5+
method: 'post',
6+
encryptType: 'android',
7+
data: {
8+
data,
9+
show_album_tag: 1,
10+
fields: "album_name,album_id,category,authors,sizable_cover,intro,author_name,trans_param,album_tag,mix_intro,full_intro,is_publish"
11+
},
12+
cookie: params?.cookie || {},
13+
headers: {'KG-TID': '78'}
14+
});
15+
};

module/longaudio_daily_recommend.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = (params, useAxios) => {
2+
return useAxios({
3+
url: `/longaudio/v1/home_new/daily_recommend`,
4+
method: 'post',
5+
encryptType: 'android',
6+
params: { module_id: 1, size: params.pagesize || 30, page: params.page || 1 },
7+
cookie: params?.cookie || {},
8+
});
9+
};

module/longaudio_rank_recommend.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module.exports = (params, useAxios) => {
2+
return useAxios({
3+
url: `/longaudio/v1/home_new/rank_card_recommend`,
4+
method: 'get',
5+
encryptType: 'android',
6+
params: {platform: 'ios'},
7+
cookie: params?.cookie || {},
8+
});
9+
};

module/longaudio_vip_recommend.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = (params, useAxios) => {
2+
return useAxios({
3+
url: `/longaudio/v1/home_new/vip_select_recommend`,
4+
method: 'post',
5+
encryptType: 'android',
6+
data: {album_playlist: []},
7+
params: {position: '2', clientver: 12329},
8+
cookie: params?.cookie || {},
9+
});
10+
};

module/longaudio_week_recommend.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = (params, useAxios) => {
2+
return useAxios({
3+
url: `/longaudio/v1/home_new/week_new_albums_recommend`,
4+
method: 'post',
5+
encryptType: 'android',
6+
data: {album_playlist: []},
7+
params: {clientver: 12329},
8+
cookie: params?.cookie || {},
9+
});
10+
};

0 commit comments

Comments
 (0)