Skip to content

Commit

Permalink
over
Browse files Browse the repository at this point in the history
  • Loading branch information
kilingzhang committed Aug 20, 2017
1 parent 7744494 commit 821e115
Show file tree
Hide file tree
Showing 12 changed files with 828 additions and 44 deletions.
62 changes: 31 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@
## log

## 功能
1. ~~登录~~
2. ~~刷新登录~~
3. ~~获取用户信息,歌单,收藏,mv, dj 数量~~
4. ~~获取用户歌单~~
5. ~~获取用户电台~~
6. ~~获取用户关注列表~~
7. ~~获取用户粉丝列表~~
8. ~~获取用户动态~~
9. ~~获取用户播放记录~~
1. 登录
2. 刷新登录
3. 获取用户信息,歌单,收藏,mv, dj 数量
4. 获取用户歌单
5. 获取用户电台
6. 获取用户关注列表
7. 获取用户粉丝列表
8. 获取用户动态
9. 获取用户播放记录
10. 获取精品歌单
11. 获取歌单详情
12. 搜索
Expand All @@ -50,35 +50,35 @@
30. 相似 mv
31. 获取相似音乐
32. 获取最近5个听了这首歌的用户
33. ~~获取每日推荐歌单~~
34. ~~获取每日推荐歌曲~~
35. ~~私人 FM~~
36. ~~签到~~
37. ~~喜欢音乐~~
38. ~~垃圾桶~~
33. 获取每日推荐歌单
34. 获取每日推荐歌曲
35. 私人 FM
36. 签到
37. 喜欢音乐
38. 垃圾桶
39. 歌单(网友精选碟)
40. 新碟上架
41. 热门歌手
42. ~~最新 mv~~
43. ~~推荐 mv~~
44. ~~推荐歌单~~
45. ~~推荐新音乐~~
46. ~~推荐电台~~
47. ~~推荐节目~~
42. 最新 mv
43. 推荐 mv
44. 推荐歌单
45. 推荐新音乐
46. 推荐电台
47. 推荐节目
48. 独家放送
49. mv 排行
50. 获取 mv 数据
51. ~~播放 mv~~
51. 播放 mv
52. 排行榜
53. ~~云盘~~
54. ~~电台-推荐~~
55. ~~电台-分类~~
56. ~~电台-分类推荐~~
57. ~~电台-订阅~~
58. ~~电台-详情~~
59. ~~电台-节目~~
60. ~~给评论点赞~~
61. ~~获取动态~~
53. 云盘
54. 电台-推荐
55. 电台-分类
56. 电台-分类推荐
57. 电台-订阅
58. 电台-详情
59. 电台-节目
60. 给评论点赞
61. 获取动态

## 环境要求

Expand Down
58 changes: 56 additions & 2 deletions src/NeteaseCloudMusicApiSdk/Comment.php
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,63 @@ public function dj($id, $offset = 0, $limit = 20)
}


public function like()
/**
*
* 给评论点赞
* 说明:调用此接口,传入 type, 资源 id, 和评论id cid和 是否点赞参数 t 即可给对应评论点赞(需要登录)
*
* 必选参数:
* id : 资源 id, 如歌曲 id,mv id
*
* cid : 评论 id
*
* t :是否点赞,1为点赞,0为取消点赞
*
* tpye: 数字,资源类型,对应歌曲, mv, 专辑,歌单,电台 对应以下类型
*
* 0: 歌曲
* 1: mv
* 2: 歌单
* 3: 专辑
* 4: 电台
* 接口地址:
* comment/like
*
* 调用例子:
* /comment/like?id=186016&cid=4956438&t=1&type=0 对应给晴天最热门的那条评论点赞
*
* @route GET /comment/like
* @param string $id
* @param string $cid
* @param string $t
* @param string $type
* @return string json
*/
public function like($id, $cid, $t = 1, $type)
{

$typeMap = array(
'R_SO_4_', //歌曲
'R_MV_5_', //mv
'A_PL_0_', //歌单
'R_AL_3_', //专辑
'A_DJ_1_' //电台
);
$type = $typeMap[$type];
$Request = new Request();
$data = array(
'threadId' => $type . $id,
'commentId' => $cid,
'csrf_token' => '',
);
$action = $t == 1 ? 'like' : 'unlike';
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/v1/comment/{$action}",
'POST',
$data
);
return \GuzzleHttp\json_decode($response, true);
}


}
219 changes: 219 additions & 0 deletions src/NeteaseCloudMusicApiSdk/Dj.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
<?php
/**
* Created by PhpStorm.
* User: Kilingzhang <slight@kilingzhang.com>
* Date: 2017/8/19
* Time: 19:22
*/

namespace NeteaseCloudMusicApiSdk;

use PhpBoot\Application;
use PhpBoot\DI\Traits\EnableDIAnnotations;
use Utils\Request;
use Utils\Snoopy;

class Dj
{

use EnableDIAnnotations;

/**
* 电台-推荐
* 说明:登陆后调用此接口,可获得推荐电台
*
* 接口地址:
* /dj/recommend
*
* 调用例子:
* /dj/recommend
*
* @route GET /dj/recommend
* @return string json
*/
public function recommend()
{
$Request = new Request();
$data = array(
'csrf_token' => '',
);
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/djradio/recommend/v1",
'POST',
$data
);
return json_decode($response, true);
}


/**
* 电台-分类
* 说明:登陆后调用此接口,可获得电台类型
*
* 接口地址:
* /dj/catelist
*
* 调用例子:
* /dj/catelist
*
* @route GET /dj/catelist
* @return string json
*/
public function catelist()
{
$Request = new Request();
$data = array(
'csrf_token' => '',
);
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/djradio/category/get",
'POST',
$data
);
return json_decode($response, true);
}


/**
* 电台-分类推荐
* 说明:登陆后调用此接口,可获得推荐电台
*
* 必选参数:
* type: 电台类型,数字,可通过/dj/catelist获取,对应关系为 id 对应 此接口的 type, name 对应类型意义
*
* 接口地址:
* /dj/recommend/type
*
* 调用例子:
* /dj/recommend/type?type=1
*
* @route GET /dj/recommend/type
* @param int $type
* @return string json
*/
public function type($type)
{
$Request = new Request();
$data = array(
'csrf_token' => '',
'cateId' => $type,
);
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/djradio/recommend",
'POST',
$data
);
return json_decode($response, true);
}


/**
* 电台-订阅
* 说明:登陆后调用此接口,传入rid,可订阅 dj,dj 的 rid 可通过搜索指定 type='1009'获取其 id,如/search?keywords=代码时间&type=1009
*
* 必选参数:
* rid: 电台 的 id
*
* 接口地址:
* /dj/sub
*
* 调用例子:
* /dj/sub?rid=336355127&t=1 (对应关注'代码时间')
* /dj/sub?rid=336355127&t=0 (对应取消关注'代码时间')
*
* @route GET /dj/sub
* @param int $rid
* @return string json
*/
public function sub($rid, $t = 1)
{
$Request = new Request();
$data = array(
'csrf_token' => '',
'id' => $rid,
);
$action = $t == 1 ? 'sub' : 'unsub';
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/djradio/{$action}",
'POST',
$data
);
return json_decode($response, true);
}


/**
* 电台-详情
* 说明:登陆后调用此接口,传入rid,可获得对应电台的详情介绍
*
* 必选参数:
* rid: 电台 的 id
*
* 接口地址:
* /dj/detail?rid=336355127
*
* 调用例子:
* /dj/detail?rid=336355127 (对应'代码时间'的详情介绍)
*
* @route GET /dj/detail
* @param int $rid
* @return string json
*/
public function detail($rid)
{
$Request = new Request();
$data = array(
'csrf_token' => '',
'id' => $rid,
);
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/djradio/get",
'POST',
$data
);
return json_decode($response, true);
}


/**
* 电台-节目
* 说明:登陆后调用此接口,传入rid,可查看对应电台的电台节目以及对应的 id, 需要注意的是这个接口返回的 mp3Url 已经无效,都为 null, 但是通过调用 /music/url 这个接口,传入节目 id 仍然能获取到节目音频,如 /music/url?id=478446370 获取代码时间的一个节目的音频
*
* 必选参数:
* rid: 电台 的 id
*
* 接口地址:
* /dj/sub
*
* 调用例子:
* /dj/program?rid=336355127 (对应'代码时间'的节目列表)
*
* @route GET /dj/program
* @param int $rid
* @return string json
*/
public function program($rid, $limit = 30, $offset = 0)
{
$Request = new Request();
$data = array(
'csrf_token' => '',
'asc' => '',
'radioId' => $rid,
'limit' => $limit,
'offset' => $offset,
);
$response = $Request->createWebAPIRequest(
"http://music.163.com",
"/weapi/dj/program/byradio",
'POST',
$data
);
return json_decode($response, true);
}

}
Loading

0 comments on commit 821e115

Please sign in to comment.