1.0.0 • Published 4 years ago
nmsdk v1.0.0
nmsdk
网易云音乐 JS 版本 SDK。
本项目所有的接口来源于 NeteaseCloudMusicApi。此项目根据接口文档编写所有的接口定义和请求类型声明,后续可能会加入响应类型声明。主要用于仿制网易云音乐类项目的时候方便调用。
使用步骤
下载,依赖 axios 请求库。
npm i nmsdk --save配置,为了安全把请求地址换成自己部署的服务。
import { defineConfig } from 'nmsdk'
defineConfig({
baseURL: 'https://haiweilian-netease-cloud-music-api.vercel.app',
withCredentials: true,
})使用,如获取歌曲评论。
import { commentMusic } from 'nmsdk'
await commentMusic({
id: 186016,
limit: 2,
})获取缩略图。
import { thumbnail } from 'nmsdk'
thumbnail('http://p4.music.126.net/JzNK4a5PjjPIXAgVlqEc5Q==/109951164154280311.jpg', 200, 200)
// http://p4.music.126.net/JzNK4a5PjjPIXAgVlqEc5Q==/109951164154280311.jpg?param=200y200命名规则
以原始路径为基础,对函数名称和类型声明名称做以下转换。
比如接口路径如下。
'/comment/music'则导出的函数名称是小驼峰命名风格。
import { commentMusic } from 'nmsdk'则导出的请求类型声明名称是大驼峰命名风格。
export interface CommentMusicRequest {
/**
* 音乐 id
*/
id: string | number
/**
* 取出评论数量 , 默认为 20
*/
limit?: string | number
/**
* 偏移数量 , 用于分页 , 如 :( 评论页数 -1) * 20, 其中 20 为 limit 的值
*/
offset?: string | number
/**
* 分页参数, 取上一页最后一项的 time 获取下一页数据(获取超过5000条评论的时候需要用到)
*/
before?: string | number
}接口目录
账号
- 手机登录(
loginCellphone) - 邮箱登录(
login) - 二维码 key 生成接口(
loginQrKey) - 二维码生成接口(
loginQrCreate) - 二维码检测扫码状态接口(
loginQrCheck) - 刷新登录(
loginRefresh) - 发送验证码(
captchaSent) - 验证验证码(
captchaVerify) - 注册(修改密码)(
registerCellphone) - 检测手机号码是否已注册(
cellphoneExistenceCheck) - 更换绑定手机(
rebind) - 获取账号信息(
userAccount) - 用户绑定手机(
userReplacephone) - 退出登录(
logout) - 登录状态(
loginStatus)
用户
- 获取用户详情(
userDetail) - 获取用户信息、歌单、收藏、mv、dj 数量(
userSubcount) - 获取用户等级信息(
userLevel) - 获取用户绑定信息(
userBinding) - 更新用户信息(
userUpdate) - 获取用户电台(
userDj) - 获取用户歌单(
userPlaylist) - 获取用户关注列表(
userFollows) - 获取用户粉丝列表(
userFolloweds) - 获取用户播放记录(
userRecord) - 关注/取消关注用户(
follow) - 更新头像(
activateInitProfile) - 初始化昵称(
avatarUpload) - 设置(
setting) - 私人 FM(
personalFm) - 用户电台(
userAudio) - 喜欢音乐(
like) - 喜欢音乐列表(
likelist)
歌单
- 更新歌单(
playlistUpdate) - 更新歌单描述(
playlistDescUpdate) - 更新歌单名(
playlistNameUpdate) - 更新歌单标签(
playlistTagsUpdate) - 歌单封面上传(
playlistCoverUpdate) - 调整歌单顺序(
playlist_order_update) - 新建歌单(
playlistCreate) - 删除歌单(
playlistDelete) - 收藏/取消收藏歌单(
playlistSubscribe) - 歌单收藏者(
playlistSubscribers) - 对歌单添加或删除歌曲(
playlistTracks) - 收藏视频到视频歌单(
playlistTrackAdd) - 删除视频歌单里的视频(
playlistTrackDelete) - 最近播放的视频(
playlistVideoRecent) - 歌单分类(
playlistCatlist) - 热门歌单分类(
playlistHot) - 歌单(网友精选碟)(
topPlaylist) - 精品歌单标签列表(
playlistHighqualityTags) - 获取精品歌单(
topPlaylistHighquality) - 相关歌单推荐(
relatedPlaylist) - 获取歌单详情(
playlistDetail) - 歌单详情动态(
playlistDetailDynamic)
电台
- 电台 banner(
djBanner) - 电台个性推荐(
djPersonalizeRecommend) - 电台订阅者列表(
djSubscriber) - 热门电台(
djHot) - 电台 - 节目榜(
djProgramToplist) - 电台 - 付费精品(
djToplistPay) - 电台 - 24 小时节目榜(
djProgramToplistHours) - 电台 - 24 小时主播榜(
djToplistHours) - 电台 - 主播新人榜(
djToplistNewcomer) - 电台 - 最热主播榜(
djToplistPopular) - 电台 - 新晋电台榜/热门电台榜(
xxxxx) - 电台 - 类别热门电台(
djToplist) - 电台 - 推荐(
djRecommend) - 电台 - 分类(
djCatelist) - 电台 - 分类推荐(
djRecommendType) - 电台 - 订阅(
djSub) - 电台 - 订阅列表(
djSublist) - 电台 - 付费精选(
djPaygift) - 电台 - 非热门类型(
djCategoryExcludehot) - 电台 - 推荐类型(
djCategoryRecommend) - 电台 - 今日优选(
djTodayPerfered) - 电台 - 详情(
djDetail) - 电台 - 节目(
djProgram) - 电台 - 节目详情(
djProgramDetail)
搜索
- 搜索(
search、cloudsearch) - 默认搜索关键词(
searchDefault) - 热搜列表(简略)(
searchHot) - 热搜列表(详细)(
searchHotDetail) - 搜索建议(
searchSuggest) - 搜索多重匹配(
searchMultimatch)
歌手
- 歌手分类列表(
artistList) - 歌手全部歌曲(
artistSongs) - 收藏/取消收藏歌手(
artistSub) - 歌手热门 50 首歌曲(
artistTopSong) - 收藏的歌手列表(
artistSublist) - 获取歌手单曲(
artists) - 获取歌手 mv(
artistMv) - 获取歌手专辑(
artistAlbum) - 获取歌手描述(
artistDesc) - 获取歌手详情(
artistDetail) - 关注歌手新歌(
artistNewSong) - 关注歌手新 MV(
artistNewMv)
歌曲
- 调整歌曲顺序(
songOrderUpdate) - 获取音乐 url(
songUrl) - 音乐是否可用(
checkMusic) - 获取歌曲详情(
songDetail) - 获取歌词(
lyric)
评论
- 歌曲评论(
commentMusic) - 楼层评论(
commentFloor) - 专辑评论(
commentAlbum) - 歌单评论(
commentPlaylist) - mv 评论(
commentMv) - 电台节目评论(
commentDj) - 视频评论(
commentVideo) - 热门评论(
commentHot) - 新版评论接口(
commentNew) - 给评论点赞(
commentLike) - 发送/删除评论(
comment) - 获取动态评论(
commentEvent) - 抱一抱评论(
hugComment) - 评论抱一抱列表(
commentHugList) - 云村热评(官方下架,暂不能用)(
)
视频
- 获取视频标签列表(
videoGroupList) - 获取视频分类列表(
videoCategoryList) - 获取视频标签/分类下的视频(
videoGroup) - 获取全部视频列表(
videoTimelineAll) - 获取推荐视频(
videoTimelineRecommend) - 相关视频(
relatedAllvideo) - 视频详情(
videoDetail) - 获取视频点赞转发评论数数据(
videoDetailInfo) - 获取视频播放地址(
videoUrl) - 收藏视频(
videoSub) - 获取点赞过的视频(
playlistMylike)
MV
- mv 排行(
topMv) - 全部 mv(
mvAll) - 最新 mv(
mvFirst) - 网易出品 mv(
mvExclusiveRcmd) - 获取 mv 数据(
mvDetail) - 获取 mv 点赞转发评论数数据(
mvDetailInfo) - mv 地址(
mvUrl) - 收藏/取消收藏 MV(
mvSub) - 收藏的 MV 列表(
mvSublist)
推荐
- 推荐 mv(
personalizedMv) - 推荐歌单(
personalized) - 推荐新音乐(
personalizedNewsong) - 推荐电台(
personalizedDjprogram) - 推荐节目(
programRecommend) - 独家放送(入口列表)(
personalizedPrivatecontent) - 独家放送列表(
personalizedPrivatecontentList) - 获取最近 5 个听了这首歌的用户(
simiUser) - 获取每日推荐歌单(
recommendResource) - 获取每日推荐歌曲(
recommendSongs) - 获取历史日推可用日期列表(
historyRecommendSongs) - 获取历史日推详情数据(
historyRecommendSongsDetail) - 获取相似歌手(
simiArtist) - 获取相似歌单(
simiPlaylist) - 相似 mv(
simiMv) - 获取相似音乐(
simiSong)
通知
- 通知 - 评论(
msgComments) - 通知 - @我(
msgForwards) - 通知 - 通知(
msgNotices) - 通知 - 私信(
msgPrivate) - 发送私信(
sendText) - 发送私信(带歌曲)(
sendSong) - 发送私信(带专辑)(
sendAlbum) - 发送私信(带歌单)(
sendPlaylist) - 最近联系人(
msgRecentcontact) - 私信内容(
msgPrivateHistory)
专辑
- 新碟上架(
topAlbum) - 全部新碟(
albumNew) - 最新专辑(
albumNewest) - 获取专辑内容(
album) - 专辑动态信息(
albumDetailDynamic) - 收藏/取消收藏专辑(
albumSub) - 获取已收藏专辑列表(
albumSublist) - 数字专辑-新碟上架(
albumList) - 数字专辑&数字单曲-榜单(
albumSongsaleboard) - 数字专辑-语种风格馆(
albumListStyle) - 数字专辑详情(
albumDetail) - 我的数字专辑(
digitalAlbumPurchased) - 购买数字专辑(
digitalAlbumOrdering)
排行
- 热门歌手(
topArtists) - 歌手榜(
toplistArtist) - 所有榜单(
toplist) - 排行榜详情(
topList) - 所有榜单内容摘要(
toplistDetail) - 新歌速递(
topSong)
动态
- 获取用户动态(
userEvent) - 转发用户动态(
eventForward) - 删除用户动态(
eventDel) - 分享歌曲、歌单、mv、电台、电台节目到动态(
shareResource) - 获取动态消息(
event)
话题
- 获取热门话题(
hotTopic) - 获取话题详情(
topicDetail) - 获取话题详情热门动态(
topicDetailEventHot) - 收藏的专栏(
topicSublist)
云贝
- 云贝(
yunbei) - 云贝今日签到信息(
yunbeiToday) - 云贝签到(
yunbeiSign) - 云贝账户信息(
yunbeiInfo) - 云贝所有任务(
yunbeiTasks) - 云贝 todo 任务(
yunbeiTasksTodo) - 云贝完成任务(
yunbeiTaskFinish) - 云贝收入(
yunbeiReceipt) - 云贝支出(
yunbeiExpense)
云盘
- 云盘(
userCloud) - 云盘数据详情(
userCloudDetail) - 云盘歌曲删除(
userCloudDel) - 云盘上传(
cloud)
其它
- 国家编码列表(
countriesCodeList) - 一起听状态(
listenTogetherStatus) - banner(
banner) - 首页-发现(
homepageBlockPage) - 首页-发现-圆形图标入口列表(
homepageDragonBall) - 垃圾桶(
fmTrash) - 签到(
dailySignin) - 音乐日历(
calendar) - 心动模式/智能播放(
playmodeIntelligenceList) - 听歌打卡(
scrobble) - 资源点赞(MV,电台,视频)(
resourceLike) - batch 批量请求接口(
batch)
Issue
If you have a better suggestion, please create an issue
License
The code is released under the MIT license