import { urlFetch, parseLyric} from './Util'; //const host = 'https://node.dengtongyu.com'; const host = 'https://api.dengtongyu.com/music/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 { if(!response) { return Promise.reject("返回数据为空"); } 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 }