提交 ae69e262 编写于 作者: zhuangtongfa's avatar zhuangtongfa

init

上级
{
"presets": ["es2015"]
}
\ No newline at end of file
node_modules
\ No newline at end of file
# start
```
npm install
```
# usage
```js
var api=require('NeteaseCloudMusicApi').api
api.search('年度之歌')
```
or
```js
import {api} from 'NeteaseCloudMusicApi'
api.search('年度之歌')
```
# api
## search
```js
api.search(name:String, [limit:Nnumber default:3, offset:Number default:0])
```
## lrc
```js
api.lrc(id:Number, [lv:Number default:-1])
```
```js
api.song(id:Number)
```
\ No newline at end of file
import request from 'request'
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
const origin = 'http://music.163.com'
let globalOption = {
headers: {
'Origin': origin,
'Referer': origin,
'Content-Type': 'application/x-www-form-urlencoded'
}
}
let api = {
search: (name = null, limit = 3, offset = 0) => {
let option = deepCopy(globalOption);
let url = origin + '/api/search/suggest/web'
let body = 's=' + name + '&limit=' + limit + '&type=1&offset=' + offset
let method = 'POST'
Object.assign(option, { url, body, method })
request(option, callback);
},
song: (id) => {
let option = deepCopy(globalOption);
let url = origin + '/api/song/detail?ids=%5B' + id + '%5d'
let method = 'GET'
Object.assign(option, { url, method })
request(option, callback);
},
lrc: (id, 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, callback);
}
}
function callback(error, response, body) {
// console.log('callback')
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(JSON.stringify(info, '', 2))
}
}
export {api}
\ No newline at end of file
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.api = undefined;
var _request = require('request');
var _request2 = _interopRequireDefault(_request);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function deepCopy(obj) {
return JSON.parse(JSON.stringify(obj));
}
var origin = 'http://music.163.com';
var globalOption = {
headers: {
'Origin': origin,
'Referer': origin,
'Content-Type': 'application/x-www-form-urlencoded'
}
};
var api = {
search: function search() {
var name = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];
var limit = arguments.length <= 1 || arguments[1] === undefined ? 3 : arguments[1];
var offset = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2];
var option = deepCopy(globalOption);
var url = origin + '/api/search/suggest/web';
var body = 's=' + name + '&limit=' + limit + '&type=1&offset=' + offset;
var method = 'POST';
Object.assign(option, { url: url, body: body, method: method });
(0, _request2.default)(option, callback);
},
song: function song(id) {
var option = deepCopy(globalOption);
var url = origin + '/api/song/detail?ids=%5B' + id + '%5d';
var method = 'GET';
Object.assign(option, { url: url, method: method });
(0, _request2.default)(option, callback);
},
lrc: function lrc(id) {
var lv = arguments.length <= 1 || arguments[1] === undefined ? -1 : arguments[1];
var option = deepCopy(globalOption);
var url = origin + '/api/song/lyric?lv=' + lv + '&id=' + id;
var method = 'GET';
Object.assign(option, { url: url, method: method });
(0, _request2.default)(option, callback);
}
};
function callback(error, response, body) {
// console.log('callback')
if (!error && response.statusCode == 200) {
var info = JSON.parse(body);
console.log(JSON.stringify(info, '', 2));
}
}
exports.api = api;
{
"name": "NeteaseCloudMusicApi",
"version": "1.0.1",
"description": "",
"main": "build/app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "babel app.js -o build/app.js",
"check": "node build/test.js"
},
"keywords": [],
"author": "traveller",
"license": "ISC",
"dependencies": {
"babel-core": "^6.9.1",
"request": "^2.72.0"
},
"devDependencies": {
"babel-preset-es2015": "^6.9.0"
}
}
\ No newline at end of file
import api from './app.js'
api.search("远方")
api.song('5243023')
api.lrc('5243023')
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册