1.0.0 • Published 3 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