1.0.0 • Published 3 years ago

nmsdk v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
3 years ago

nmsdk

shields shields shields

网易云音乐 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