app.js 1.8 KB
Newer Older
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
1
import request from 'request'
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
2
const deepCopy=(obj)=>JSON.parse(JSON.stringify(obj))
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
3 4 5 6 7 8 9 10 11
const origin = 'http://music.163.com'
let globalOption = {
    headers: {
        'Origin': origin,
        'Referer': origin,
        'Content-Type': 'application/x-www-form-urlencoded'
    }
}
let api = {
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
12
    search: (name = null,callback=null, limit = 3, offset = 0) => {
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
13 14 15 16 17
        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 })
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
18 19 20 21 22 23
        request(option, (error, response, body)=>{
            if (!error && response.statusCode == 200) {
                let info = JSON.parse(body);
                callback&&callback(JSON.stringify(info, '', 2))
            }
        })
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
24
    },
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
25
    song: (id,callback=null) => {
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
26 27 28 29
        let option = deepCopy(globalOption);
        let url = origin + '/api/song/detail?ids=%5B' + id + '%5d'
        let method = 'GET'
        Object.assign(option, { url, method })
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
30 31 32 33 34 35
        request(option, (error, response, body)=>{
            if (!error && response.statusCode == 200) {
                let info = JSON.parse(body);
                callback&&callback(JSON.stringify(info, '', 2))
            }
        })
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
36
    },
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
37
    lrc: (id,callback=null, lv = -1) => {
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
38 39 40 41
        let option = deepCopy(globalOption);
        let url = origin + '/api/song/lyric?lv=' + lv + '&id=' + id
        let method = 'GET'
        Object.assign(option, { url, method })
zhuangtongfa's avatar
update  
zhuangtongfa 已提交
42 43 44 45 46 47
        request(option, (error, response, body)=>{
            if (!error && response.statusCode == 200) {
                let info = JSON.parse(body);
                callback&&callback(JSON.stringify(info, '', 2))
            }
        })
zhuangtongfa's avatar
init  
zhuangtongfa 已提交
48 49 50
    }
}
export {api}