内置百度源歌曲图片、歌词获取

pull/96/head
lyswhut 2019-09-17 21:36:46 +08:00
parent d19569131c
commit c8240448c6
3 changed files with 25 additions and 27 deletions

View File

@ -14,28 +14,6 @@ const api_test = {
}) })
return requestObj return requestObj
}, },
getPic(songInfo, size = '500') {
const requestObj = httpFatch(`http://ts.tempmusic.tk/pic/bd/${songInfo.songmid}/${size}`, {
method: 'get',
timeout,
headers,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
return body.code === 0 ? Promise.resolve(body.data) : Promise.reject(new Error(requestMsg.fail))
})
return requestObj
},
getLyric(songInfo) {
const requestObj = httpFatch(`http://ts.tempmusic.tk/lrc/bd/${songInfo.songmid}`, {
method: 'get',
timeout,
headers,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
return body.code === 0 ? Promise.resolve(body.data) : Promise.reject(new Error(requestMsg.fail))
})
return requestObj
},
} }
export default api_test export default api_test

View File

@ -2,6 +2,7 @@ import leaderboard from './leaderboard'
import api_source from '../api-source' import api_source from '../api-source'
import musicInfo from './musicInfo' import musicInfo from './musicInfo'
import songList from './songList' import songList from './songList'
import { httpFatch } from '../../request'
const bd = { const bd = {
leaderboard, leaderboard,
@ -9,12 +10,22 @@ const bd = {
getMusicUrl(songInfo, type) { getMusicUrl(songInfo, type) {
return api_source('bd').getMusicUrl(songInfo, type) return api_source('bd').getMusicUrl(songInfo, type)
}, },
getLyric(songInfo) {
return api_source('bd').getLyric(songInfo)
},
getPic(songInfo) { getPic(songInfo) {
return api_source('bd').getPic(songInfo) const requestObj = this.getMusicInfo(songInfo)
requestObj.promise = requestObj.promise.then(info => info.pic_premium)
return requestObj
}, },
getLyric(songInfo) {
const requestObj = this.getMusicInfo(songInfo)
requestObj.promise = requestObj.promise.then(info => httpFatch(info.lrclink).promise.then(resp => resp.body))
return requestObj
},
// getLyric(songInfo) {
// return api_source('bd').getLyric(songInfo)
// },
// getPic(songInfo) {
// return api_source('bd').getPic(songInfo)
// },
getMusicInfo(songInfo) { getMusicInfo(songInfo) {
return musicInfo.getMusicInfo(songInfo.songmid) return musicInfo.getMusicInfo(songInfo.songmid)
}, },

View File

@ -1,10 +1,19 @@
import { httpFatch } from '../../request' import { httpFatch } from '../../request'
export default { export default {
cache: {},
getMusicInfo(songmid) { getMusicInfo(songmid) {
if (this.cache[songmid]) {
return { promise: Promise.resolve(this.cache[songmid]) }
}
const requestObj = httpFatch(`https://musicapi.qianqian.com/v1/restserver/ting?method=baidu.ting.song.getSongLink&format=json&from=bmpc&version=1.0.0&version_d=11.1.6.0&songid=${songmid}&type=1&res=1&s_protocol=1&aac=2&project=tpass`) const requestObj = httpFatch(`https://musicapi.qianqian.com/v1/restserver/ting?method=baidu.ting.song.getSongLink&format=json&from=bmpc&version=1.0.0&version_d=11.1.6.0&songid=${songmid}&type=1&res=1&s_protocol=1&aac=2&project=tpass`)
requestObj.promise = requestObj.promise.then(({ body }) => { requestObj.promise = requestObj.promise.then(({ body }) => {
return body.error_code == 22000 ? body.reqult.songinfo : Promise.reject(new Error('获取音乐信息失败')) // console.log(body)
if (body.error_code == 22000) {
this.cache[songmid] = body.result.songinfo
return body.result.songinfo
}
return Promise.reject(new Error('获取音乐信息失败'))
}) })
return requestObj return requestObj
}, },