Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Commit

Permalink
Merge pull request #4 from rccoder/master
Browse files Browse the repository at this point in the history
add getArtistAblums and getAblums & Update README & Update test & rep…
  • Loading branch information
Binaryify authored Jul 1, 2016
2 parents 5fb70c3 + 7890e4a commit 746e08d
Show file tree
Hide file tree
Showing 14 changed files with 345 additions and 126 deletions.
32 changes: 22 additions & 10 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -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')
72 changes: 10 additions & 62 deletions build/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
32 changes: 32 additions & 0 deletions build/component/getAlbums.js
Original file line number Diff line number Diff line change
@@ -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;
35 changes: 35 additions & 0 deletions build/component/getArtistAlbums.js
Original file line number Diff line number Diff line change
@@ -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;
35 changes: 35 additions & 0 deletions build/component/lrc.js
Original file line number Diff line number Diff line change
@@ -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;
44 changes: 44 additions & 0 deletions build/component/search.js
Original file line number Diff line number Diff line change
@@ -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;
34 changes: 34 additions & 0 deletions build/component/song.js
Original file line number Diff line number Diff line change
@@ -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;
62 changes: 11 additions & 51 deletions src/app.js
Original file line number Diff line number Diff line change
@@ -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}
Loading

0 comments on commit 746e08d

Please sign in to comment.