Skip to content

Commit 79dfece

Browse files
author
kilingzhang
committed
榜单 # top
1 parent ff33afd commit 79dfece

8 files changed

Lines changed: 313 additions & 296 deletions

File tree

src/NeteaseCloudMusicApi/Controller.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ final protected function request()
7676
}
7777
}
7878

79+
$this->beforeRequest();
7980
return $this->newResponse(
8081
$this->newRequest(new Request)->createRequest(
8182
$this->uri,
@@ -135,4 +136,12 @@ protected function parseParams($params): array
135136
{
136137
return $params;
137138
}
139+
140+
/**
141+
*
142+
*/
143+
protected function beforeRequest()
144+
{
145+
146+
}
138147
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:44
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top;
10+
11+
12+
use NeteaseCloudMusicApi\Controller;
13+
14+
/**
15+
* Class Album
16+
* @package NeteaseCloudMusicApi\V1\Top
17+
*
18+
* 新碟上架
19+
* 说明:调用此接口,可获取新碟上架列表,如需具体音乐信息需要调用获取专辑列表接口 /album ,
20+
* 然后传入 id, 如 /album?id=32311&limit=30
21+
*
22+
* 可选参数:
23+
* limit: 取出数量,默认为50
24+
* offset: 偏移数量,用于分页,如:(页数-1)*50, 其中 50 为 limit 的值,默认为0
25+
* area ALL, ZH,EA,KR,JP
26+
*
27+
* 接口地址:
28+
* /top/album
29+
*
30+
* 调用例子:
31+
* http://i.music.163.com/top/album?area=all
32+
*
33+
*/
34+
class Album extends Controller
35+
{
36+
protected $uri = 'https://music.163.com/weapi/album/new';
37+
38+
protected $params = [
39+
'area' => 'all',
40+
'total' => true,
41+
'offset' => 0,
42+
'limit' => 30,
43+
];
44+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:44
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top;
10+
11+
12+
use NeteaseCloudMusicApi\Controller;
13+
14+
/**
15+
* Class Artists
16+
* @package NeteaseCloudMusicApi\V1\Top
17+
*
18+
* 热门歌手
19+
* 说明:调用此接口,可获取热门歌手数据
20+
*
21+
* 可选参数:
22+
* limit: 取出数量,默认为50
23+
*
24+
* offset: 偏移数量,用于分页,如:(页数-1)*50, 其中 50 为 limit 的值,默认为0
25+
*
26+
* 接口地址:
27+
* /top/artists
28+
*
29+
* 调用例子:
30+
* http://i.music.163.com/top/artists
31+
*
32+
*/
33+
class Artists extends Controller
34+
{
35+
protected $uri = 'https://music.163.com/weapi/artist/top';
36+
37+
protected $params = [
38+
'total' => true,
39+
'offset' => 0,
40+
'limit' => 20,
41+
];
42+
}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:46
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top;
10+
11+
12+
use NeteaseCloudMusicApi\Controller;
13+
14+
/**
15+
* Class Index
16+
* @package NeteaseCloudMusicApi\V1\Top
17+
*
18+
* 排行榜
19+
* 说明:调用此接口,传入数字 id, 可获取不同排行榜
20+
*
21+
* 必选参数:
22+
* id: 对象 key, 对应以下排行榜
23+
*
24+
* "0": 云音乐新歌榜,
25+
* "1": 云音乐热歌榜,
26+
* "2": 网易原创歌曲榜,
27+
* "3": 云音乐飙升榜,
28+
* "4": 云音乐电音榜,
29+
* "5": UK排行榜周榜,
30+
* "6": 美国Billboard周榜
31+
* "7": KTV嗨榜,
32+
* "8": iTunes榜,
33+
* "9": Hit FM Top榜,
34+
* "10": 日本Oricon周榜
35+
* "11": 韩国Melon排行榜周榜,
36+
* "12": 韩国Mnet排行榜周榜,
37+
* "13": 韩国Melon原声周榜,
38+
* "14": 中国TOP排行榜(港台榜),
39+
* "15": 中国TOP排行榜(内地榜)
40+
* "16": 香港电台中文歌曲龙虎榜,
41+
* "17": 华语金曲榜,
42+
* "18": 中国嘻哈榜,
43+
* "19": 法国 NRJ EuroHot 30周榜,
44+
* "20": 台湾Hito排行榜,
45+
* "21": Beatport全球电子舞曲榜
46+
* 接口地址:
47+
* /top
48+
*
49+
* 调用例子:
50+
* http://i.music.163.com/top?id=6
51+
*
52+
*/
53+
class Index extends Controller
54+
{
55+
protected $uri = 'https://music.163.com';
56+
57+
private $tops = array(
58+
array('云音乐新歌榜', '/api/playlist/detail?id=3779629'),
59+
array('云音乐热歌榜', '/api/playlist/detail?id=3778678'),
60+
array('网易原创歌曲榜', '/api/playlist/detail?id=2884035'),
61+
array('云音乐飙升榜', '/api/playlist/detail?id=19723756'),
62+
array('云音乐电音榜', '/api/playlist/detail?id=10520166'),
63+
array('UK排行榜周榜', '/api/playlist/detail?id=180106'),
64+
array('美国Billboard周榜', '/api/playlist/detail?id=60198'),
65+
array('KTV嗨榜', '/api/playlist/detail?id=21845217'),
66+
array('iTunes榜', '/api/playlist/detail?id=11641012'),
67+
array('Hit FM Top榜', '/api/playlist/detail?id=120001'),
68+
array('日本Oricon周榜', '/api/playlist/detail?id=60131'),
69+
array('韩国Melon排行榜周榜', '/api/playlist/detail?id=3733003'),
70+
array('韩国Mnet排行榜周榜', '/api/playlist/detail?id=60255'),
71+
array('韩国Melon原声周榜', '/api/playlist/detail?id=46772709'),
72+
array('中国TOP排行榜(港台榜)', '/api/playlist/detail?id=112504'),
73+
array('中国TOP排行榜(内地榜)', '/api/playlist/detail?id=64016'),
74+
array('香港电台中文歌曲龙虎榜', '/api/playlist/detail?id=10169002'),
75+
array('华语金曲榜', '/api/playlist/detail?id=4395559'),
76+
array('中国嘻哈榜', '/api/playlist/detail?id=1899724'),
77+
array('法国 NRJ EuroHot 30周榜', '/api/playlist/detail?id=27135204'),
78+
array('台湾Hito排行榜', '/api/playlist/detail?id=112463'),
79+
array('Beatport全球电子舞曲榜', '/api/playlist/detail?id=3812895'),
80+
);
81+
82+
protected $params = [
83+
'id' => null,
84+
];
85+
86+
/**
87+
* @throws \Exception
88+
*/
89+
protected function beforeRequest()
90+
{
91+
$this->uri .= $this->tops[self::get('id')][1];
92+
}
93+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:44
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top;
10+
11+
12+
use NeteaseCloudMusicApi\Controller;
13+
14+
/**
15+
* Class Mv
16+
* @package NeteaseCloudMusicApi\V1\Top
17+
*
18+
* mv 排行
19+
* 说明:调用此接口,可获取 mv 排行
20+
*
21+
* 可选参数:
22+
* limit: 取出数量,默认为 30
23+
*
24+
* offset: 偏移数量,用于分页,如:(页数-1)*30, 其中 30 为 limit 的值,默认为0
25+
*
26+
* 接口地址:
27+
* top/mv
28+
*
29+
* 调用例子:
30+
* http://i.music.163.com/top/mv
31+
*
32+
*/
33+
class Mv extends Controller
34+
{
35+
protected $uri = 'https://music.163.com/weapi/mv/toplist';
36+
37+
protected $params = [
38+
'total' => true,
39+
'offset' => 0,
40+
'limit' => 20,
41+
];
42+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:43
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top\Playlist;
10+
11+
12+
use NeteaseCloudMusicApi\Controller;
13+
14+
/**
15+
* Class Highquality
16+
* @package NeteaseCloudMusicApi\V1\Top\Playlist
17+
*
18+
* 获取精品歌单
19+
* 说明:调用此接口,可获取精品歌单
20+
*
21+
* 可选参数:
22+
* cat: tag, 比如 "华语"、"古风" 、"欧美"、"流行",默认为"全部"
23+
*
24+
* limit: 取出评论数量,默认为20
25+
*
26+
* 接口地址:
27+
* /top/playlist/highquality
28+
*
29+
* 调用例子:
30+
* http://i.music.163.com/top/playlist/highquality?limit=20&cat=%E5%85%A8%E9%83%A8
31+
*
32+
*/
33+
class Highquality extends Controller
34+
{
35+
protected $uri = 'https://music.163.com/weapi/playlist/highquality/list';
36+
37+
protected $params = [
38+
'cat' => '全部',
39+
'offset' => 0,
40+
'limit' => 20,
41+
];
42+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: kilingzhang
5+
* Date: 2020-04-20
6+
* Time: 00:43
7+
*/
8+
9+
namespace NeteaseCloudMusicApi\V1\Top\Playlist;
10+
11+
use NeteaseCloudMusicApi\Controller;
12+
13+
/**
14+
* Class Index
15+
* @package NeteaseCloudMusicApi\V1\Top\Playlist
16+
*
17+
* 歌单(网友精选碟)
18+
* 说明:调用此接口,可获取网友精选碟歌单
19+
*
20+
* 可选参数:
21+
* order: 可选值为 'new' 和 'hot',分别对应最新和最热,默认为 'hot'
22+
*
23+
* 接口地址:
24+
* /top/playlist
25+
*
26+
* 调用例子:
27+
* http://i.music.163.com/top/playlist?limit=10&order=new&cat=%E5%85%A8%E9%83%A8
28+
*
29+
*/
30+
class Index extends Controller
31+
{
32+
protected $uri = 'https://music.163.com/weapi/playlist/list';
33+
34+
protected $params = [
35+
'cat' => '全部',
36+
'order' => 'hot',
37+
'total' => true,
38+
'offset' => 0,
39+
'limit' => 20,
40+
];
41+
}

0 commit comments

Comments
 (0)