diff --git a/README.MD b/README.MD index d41e27dedcb0feba82fbb4233c66b4e454505792..e8fc56bd9e2aebdefd7fd8fb78e6a78e114dfbad 100644 --- a/README.MD +++ b/README.MD @@ -29,21 +29,33 @@ api.search('年度之歌',data => { ## API ### search - ``` javascript -api.search(name:String,[callback:function,limit:Nnumber default:3, offset:Number default:0]) - ``` +``` javascript +api.search(name:String,[callback:function,limit:Number default:3, offset:Number default:0]) +``` ### lrc - ``` javascript +``` javascript api.lrc(id:Number,[callback:function,lv:Number default:-1]) - ``` +``` ### song - ``` javascript + +``` javascript api.song(id:Number,[callback:function]) - ``` -## Download +``` + +### getArtistAlbums + +``` javascript +api.getArtistAlbums(id:Number,[callback:function,limit:Number default:3, offset:Number default:0]) +``` + +## getAlbums + +``` javascript +api.getAlbums(id:Number,[callback:function]) +``` -[github](https://github.com/Binaryify/NeteaseCloudMusicApi) -[npm](https://www.npmjs.com/package/NeteaseCloudMusicApi) +## License +[The MIT License (MIT)]('./LICENSE') diff --git a/build/app.js b/build/app.js index 19693e0cd8d37405313474ae50c2c819f5ecee20..607e512f94f56d8556f600d8613c600808e1318a 100644 --- a/build/app.js +++ b/build/app.js @@ -5,74 +5,22 @@ Object.defineProperty(exports, "__esModule", { }); exports.api = undefined; -var _request = require('request'); +var _search = require('./component/search'); -var _request2 = _interopRequireDefault(_request); +var _song = require('./component/song'); -var _config = require('./config'); +var _lrc = require('./component/lrc'); -var _util = require('./util'); +var _getArtistAlbums = require('./component/getArtistAlbums'); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _getAlbums = require('./component/getAlbums'); var api = { - search: function search() { - var name = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; - var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - var limit = arguments.length <= 2 || arguments[2] === undefined ? 3 : arguments[2]; - var offset = arguments.length <= 3 || arguments[3] === undefined ? 0 : arguments[3]; + search: _search.search, + song: _song.song, + lrc: _lrc.lrc, + getArtistAlbums: _getArtistAlbums.getArtistAlbums, + getAlbums: _getAlbums.getAlbums - var option = (0, _util.deepCopy)(_config.globalOption); - var url = _config.origin + '/api/search/suggest/web'; - var form = { - s: name, - limit: limit, - type: 1, - offset: offset - }; - var method = 'POST'; - Object.assign(option, { url: url, form: form, method: method }); - (0, _request2.default)(option, function (error, response, body) { - if (!error && response.statusCode == 200) { - var info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)); - } else { - console.log(error); - } - }); - }, - song: function song(id) { - var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - - var option = (0, _util.deepCopy)(_config.globalOption); - var url = _config.origin + '/api/song/detail?ids=%5B' + id + '%5d'; - var method = 'GET'; - Object.assign(option, { url: url, method: method }); - (0, _request2.default)(option, function (error, response, body) { - if (!error && response.statusCode == 200) { - var info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)); - } else { - console.log(error); - } - }); - }, - lrc: function lrc(id) { - var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; - var lv = arguments.length <= 2 || arguments[2] === undefined ? -1 : arguments[2]; - - var option = (0, _util.deepCopy)(_config.globalOption); - var url = _config.origin + '/api/song/lyric?lv=' + lv + '&id=' + id; - var method = 'GET'; - Object.assign(option, { url: url, method: method }); - (0, _request2.default)(option, function (error, response, body) { - if (!error && response.statusCode == 200) { - var info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)); - } else { - console.log(error); - } - }); - } }; exports.api = api; \ No newline at end of file diff --git a/build/component/getAlbums.js b/build/component/getAlbums.js new file mode 100644 index 0000000000000000000000000000000000000000..ec2d6b39aac9f2f436edc2e0126351cbc5e9cd11 --- /dev/null +++ b/build/component/getAlbums.js @@ -0,0 +1,32 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getAlbums = undefined; + +var _request = require('request'); + +var _request2 = _interopRequireDefault(_request); + +var _config = require('../config'); + +var _util = require('../util'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var getAlbums = function getAlbums(id, callback) { + var option = (0, _util.deepCopy)(_config.globalOption); + var url = _config.origin + '/api/album/' + id; + var method = 'get'; + Object.assign(option, { url: url, method: method }); + (0, _request2.default)(option, function (err, res, body) { + if (!err && res.statusCode == 200) { + var info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)); + } else { + console.error(err); + } + }); +}; +exports.getAlbums = getAlbums; \ No newline at end of file diff --git a/build/component/getArtistAlbums.js b/build/component/getArtistAlbums.js new file mode 100644 index 0000000000000000000000000000000000000000..87788fd7ec3565344008d9076ec64e7cba913b92 --- /dev/null +++ b/build/component/getArtistAlbums.js @@ -0,0 +1,35 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getArtistAlbums = undefined; + +var _request = require('request'); + +var _request2 = _interopRequireDefault(_request); + +var _config = require('../config'); + +var _util = require('../util'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var getArtistAlbums = function getArtistAlbums(id, callback) { + var limit = arguments.length <= 2 || arguments[2] === undefined ? 3 : arguments[2]; + var offset = arguments.length <= 3 || arguments[3] === undefined ? 0 : arguments[3]; + + var option = (0, _util.deepCopy)(_config.globalOption); + var url = _config.origin + '/api/artist/albums/' + id + '?offset=' + offset + '&limit=' + limit; + var method = 'GET'; + Object.assign(option, { url: url, method: method }); + (0, _request2.default)(option, function (err, res, body) { + if (!err && res.statusCode == 200) { + var info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)); + } else { + console.error(err); + } + }); +}; +exports.getArtistAlbums = getArtistAlbums; \ No newline at end of file diff --git a/build/component/lrc.js b/build/component/lrc.js new file mode 100644 index 0000000000000000000000000000000000000000..db644e3a0e74c17c08094d1e0a6372d96f9aeb5a --- /dev/null +++ b/build/component/lrc.js @@ -0,0 +1,35 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.lrc = undefined; + +var _request = require('request'); + +var _request2 = _interopRequireDefault(_request); + +var _config = require('../config'); + +var _util = require('../util'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var lrc = function lrc(id) { + var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + var lv = arguments.length <= 2 || arguments[2] === undefined ? -1 : arguments[2]; + + var option = (0, _util.deepCopy)(_config.globalOption); + var url = _config.origin + '/api/song/lyric?lv=' + lv + '&id=' + id; + var method = 'GET'; + Object.assign(option, { url: url, method: method }); + (0, _request2.default)(option, function (err, res, body) { + if (!err && res.statusCode == 200) { + var info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)); + } else { + console.error(err); + } + }); +}; +exports.lrc = lrc; \ No newline at end of file diff --git a/build/component/search.js b/build/component/search.js new file mode 100644 index 0000000000000000000000000000000000000000..d459f597b2a260f8964b0d557b494b4e726e2642 --- /dev/null +++ b/build/component/search.js @@ -0,0 +1,44 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.search = undefined; + +var _request = require('request'); + +var _request2 = _interopRequireDefault(_request); + +var _config = require('../config'); + +var _util = require('../util'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var search = function search() { + var name = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; + var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + var limit = arguments.length <= 2 || arguments[2] === undefined ? 3 : arguments[2]; + var offset = arguments.length <= 3 || arguments[3] === undefined ? 0 : arguments[3]; + + var option = (0, _util.deepCopy)(_config.globalOption); + var url = _config.origin + '/api/search/suggest/web'; + var form = { + s: name, + limit: limit, + type: 1, + offset: offset + }; + var method = 'POST'; + Object.assign(option, { url: url, form: form, method: method }); + (0, _request2.default)(option, function (err, res, body) { + if (!err && res.statusCode == 200) { + var info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)); + } else { + console.error(err); + } + }); +}; + +exports.search = search; \ No newline at end of file diff --git a/build/component/song.js b/build/component/song.js new file mode 100644 index 0000000000000000000000000000000000000000..307dd877b8f48fc4f8eef00fc77af4be4541e9ac --- /dev/null +++ b/build/component/song.js @@ -0,0 +1,34 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.song = undefined; + +var _request = require('request'); + +var _request2 = _interopRequireDefault(_request); + +var _config = require('../config'); + +var _util = require('../util'); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var song = function song(id) { + var callback = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; + + var option = (0, _util.deepCopy)(_config.globalOption); + var url = _config.origin + '/api/song/detail?ids=%5B' + id + '%5d'; + var method = 'GET'; + Object.assign(option, { url: url, method: method }); + (0, _request2.default)(option, function (err, res, body) { + if (!err && res.statusCode == 200) { + var info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)); + } else { + console.error(err); + } + }); +}; +exports.song = song; \ No newline at end of file diff --git a/src/app.js b/src/app.js index 594fc71acfd5035c85e9b635a3ea66fe17e48f46..791dcbd3363cd7d46bdabb6e3e43930976c893c9 100644 --- a/src/app.js +++ b/src/app.js @@ -1,55 +1,15 @@ -import request from 'request' -import { origin, globalOption } from './config' -import { deepCopy } from './util' +import { search } from './component/search' +import { song } from './component/song' +import { lrc } from './component/lrc' +import { getArtistAlbums } from './component/getArtistAlbums' +import { getAlbums } from './component/getAlbums' let api = { - search: (name = null, callback = null, limit = 3, offset = 0) => { - let option = deepCopy(globalOption) - let url = origin + '/api/search/suggest/web' - let form = { - s: name, - limit, - type: 1, - offset - } - let method = 'POST' - Object.assign(option, { url, form, method }) - request(option, (error, response, body) => { - if (!error && response.statusCode == 200) { - let info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)) - } else { - console.log(error) - } - }) - }, - song: (id, callback = null) => { - let option = deepCopy(globalOption) - let url = origin + '/api/song/detail?ids=%5B' + id + '%5d' - let method = 'GET' - Object.assign(option, { url, method }) - request(option, (error, response, body) => { - if (!error && response.statusCode == 200) { - let info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)) - } else { - console.log(error) - } - }) - }, - lrc: (id, callback = null, lv = -1) => { - let option = deepCopy(globalOption) - let url = origin + '/api/song/lyric?lv=' + lv + '&id=' + id - let method = 'GET' - Object.assign(option, { url, method }) - request(option, (error, response, body) => { - if (!error && response.statusCode == 200) { - let info = JSON.parse(body); - callback && callback(JSON.stringify(info, '', 2)) - } else { - console.log(error) - } - }) - } + search: search, + song: song, + lrc: lrc, + getArtistAlbums: getArtistAlbums, + getAlbums: getAlbums + } export {api} diff --git a/src/component/getAlbums.js b/src/component/getAlbums.js new file mode 100644 index 0000000000000000000000000000000000000000..56d38a1f5f0bfc2e53772ce60ee92694b55aa497 --- /dev/null +++ b/src/component/getAlbums.js @@ -0,0 +1,19 @@ +import request from 'request' +import { origin, globalOption } from '../config' +import { deepCopy } from '../util' + +const getAlbums = (id, callback) => { + const option = deepCopy(globalOption) + const url = `${origin}/api/album/${id}` + const method = 'get' + Object.assign(option, {url, method}) + request(option, (err, res, body) => { + if(!err && res.statusCode == 200) { + let info = JSON.parse(body) + callback && callback(JSON.stringify(info, '', 2)) + } else { + console.error(err); + } + }) +} +export { getAlbums } diff --git a/src/component/getArtistAlbums.js b/src/component/getArtistAlbums.js new file mode 100644 index 0000000000000000000000000000000000000000..e85ba5756aba152ce2836114a597fe934f396319 --- /dev/null +++ b/src/component/getArtistAlbums.js @@ -0,0 +1,19 @@ +import request from 'request' +import { origin, globalOption } from '../config' +import { deepCopy } from '../util' + +const getArtistAlbums = (id, callback, limit = 3, offset = 0) => { + const option = deepCopy(globalOption) + const url = `${origin}/api/artist/albums/${id}?offset=${offset}&limit=${limit}` + const method = 'GET' + Object.assign(option, {url, method}) + request(option, (err, res, body) => { + if(!err && res.statusCode == 200) { + let info = JSON.parse(body) + callback && callback(JSON.stringify(info, '', 2)) + } else { + console.error(err); + } + }) +} +export { getArtistAlbums } diff --git a/src/component/lrc.js b/src/component/lrc.js new file mode 100644 index 0000000000000000000000000000000000000000..fc02ef06ba696c1404a5f9c69daeb5d8339316d1 --- /dev/null +++ b/src/component/lrc.js @@ -0,0 +1,19 @@ +import request from 'request' +import { origin, globalOption } from '../config' +import { deepCopy } from '../util' + +const lrc = (id, callback = null, lv = -1) => { + const option = deepCopy(globalOption) + const url = `${origin}/api/song/lyric?lv=${lv}&id=${id}` + const method = 'GET' + Object.assign(option, { url, method }) + request(option, (err, res, body) => { + if (!err && res.statusCode == 200) { + let info = JSON.parse(body) + callback && callback(JSON.stringify(info, '', 2)) + } else { + console.error(err) + } + }) +} +export { lrc } diff --git a/src/component/search.js b/src/component/search.js new file mode 100644 index 0000000000000000000000000000000000000000..e76e3577b56339e640001c453ac956f6533edd1f --- /dev/null +++ b/src/component/search.js @@ -0,0 +1,26 @@ +import request from 'request' +import { origin, globalOption } from '../config' +import { deepCopy } from '../util' + +const search = (name = null, callback = null, limit = 3, offset = 0) => { + const option = deepCopy(globalOption) + const url = `${origin}/api/search/suggest/web` + const form = { + s: name, + limit, + type: 1, + offset + } + const method = 'POST' + Object.assign(option, { url, form, method }) + request(option, (err, res, body) => { + if (!err && res.statusCode == 200) { + let info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)) + } else { + console.error(err) + } + }) +} + +export { search } diff --git a/src/component/song.js b/src/component/song.js new file mode 100644 index 0000000000000000000000000000000000000000..146d4bacbbc7cf96feda7852d90a84ebff67b76f --- /dev/null +++ b/src/component/song.js @@ -0,0 +1,19 @@ +import request from 'request' +import { origin, globalOption } from '../config' +import { deepCopy } from '../util' + +const song = (id, callback = null) => { + const option = deepCopy(globalOption) + const url = `${origin}/api/song/detail?ids=%5B${id}%5d` + const method = 'GET' + Object.assign(option, { url, method }) + request(option, (err, res, body) => { + if (!err && res.statusCode == 200) { + let info = JSON.parse(body); + callback && callback(JSON.stringify(info, '', 2)) + } else { + console.error(err) + } + }) +} +export { song } diff --git a/test/test.js b/test/test.js index 7ed98e6d17319edcdcf838df58c83ca2fc64a13a..36ac96c2ade513abeee9329880e34da6c8e24d34 100644 --- a/test/test.js +++ b/test/test.js @@ -1,11 +1,28 @@ import { api } from '../src/app.js' -api.search("年度之歌",data=>{ +api.search("年度之歌",data => { + console.log("################Search API#################") console.log(data) }) -api.song('308169',data=>{ + + +api.song('308169',data => { + console.log("################Song API#################") + console.log(data) +}) + + +api.lrc('5243023',data => { + console.log("################Lrc API#################") console.log(data) }) -api.lrc('5243023',data=>{ + +api.getArtistAlbums('9952', data => { + console.log('####################Artist Albums##############') + console.log(data) +}) + +api.getAlbums('32311', data => { + console.log("####################Albums####################") console.log(data) })