增加网易云音乐API
This commit is contained in:
1 parent
7757265959
commit
eda8523a09
17 files changed
+1038
-214
No files matched your search
@@ -0,0 +1,97 @@
|
||||
import { urlFetch, parseLyric} from './Util';
|
||||
|
||||
//const host = 'https://node.dengtongyu.com';
|
||||
const host = '/kugou';
|
||||
|
||||
const searchUrl = host + '/songSearch';
|
||||
|
||||
const newSongUrl = host + '/newSong';
|
||||
|
||||
const songMassgeUrl = host + '/songMsg';
|
||||
|
||||
let getKugouSearchSongList = async function(keyWord,page,size) {
|
||||
if(!keyWord) keyWord = '';
|
||||
if(!page) page = 1;
|
||||
if(!size) size = 10;
|
||||
let url = searchUrl + '?keyword=' + keyWord + '&page=' + page + '&pagesize=' + size;
|
||||
let response = await urlFetch(url);
|
||||
|
||||
try {
|
||||
let data = await response.json();
|
||||
//console.log(data)
|
||||
let songs = {};
|
||||
songs.list = [];
|
||||
songs.aggregation = [];
|
||||
songs.page = 1;
|
||||
|
||||
if(data.result) {
|
||||
let list = data.data.lists;
|
||||
for (let index = 0; index < list.length; index++) {
|
||||
let songMsg = {};
|
||||
songMsg.Hash = list[index].FileHash;
|
||||
songMsg.SongName = list[index].SongName;
|
||||
songMsg.SingerName = list[index].SingerName;
|
||||
songMsg.Duration = list[index].Duration;
|
||||
|
||||
songs.list.push(songMsg);
|
||||
|
||||
}
|
||||
songs.aggregation = data.data.aggregation;
|
||||
songs.page = data.data.page;
|
||||
}
|
||||
return songs;
|
||||
} catch (err) {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
let getKugouNewSongList = async function() {
|
||||
let url = newSongUrl + '?json=true';
|
||||
let response = await urlFetch(url);
|
||||
try {
|
||||
let data = await response.json();
|
||||
|
||||
let songs = [];
|
||||
if(data.result) {
|
||||
let list = data.data;
|
||||
for (let index = 0; index < list.length; index++) {
|
||||
let songMsg = {};
|
||||
songMsg.Hash = list[index].hash;
|
||||
songMsg.SongName = list[index].filename.split(' - ')[1];
|
||||
songMsg.SingerName = list[index].filename.split(' - ')[0];
|
||||
songMsg.Duration = list[index].duration;
|
||||
|
||||
songs.push(songMsg);
|
||||
}
|
||||
}
|
||||
return songs;
|
||||
} catch (err) {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
let getKugouSongMassge = async function(hash) {
|
||||
let url = songMassgeUrl + '?hash=' + hash;
|
||||
let response = await urlFetch(url);
|
||||
try {
|
||||
let json = await response.json();
|
||||
|
||||
let songMassge = {};
|
||||
|
||||
if(json.result) {
|
||||
songMassge.PlayUrl = json.data.play_url;
|
||||
songMassge.SongName = json.data.song_name;
|
||||
songMassge.SingerName = json.data.author_name;
|
||||
songMassge.Img = json.data.img;
|
||||
songMassge.Lyrics = json.data.lyrics ? parseLyric(json.data.lyrics) : [];
|
||||
songMassge.AlbumName = json.data.album_name;
|
||||
songMassge.Duration = Math.floor(json.data.timelength / 1000);
|
||||
songMassge.Hash = json.data.hash;
|
||||
}
|
||||
return songMassge;
|
||||
} catch(err) {
|
||||
return Promise.reject(err);
|
||||
}
|
||||
}
|
||||
|
||||
export { getKugouNewSongList, getKugouSearchSongList, getKugouSongMassge }
|
||||
Reference in new issue
Block a user