From c8240448c6cf9fda97e7042160fc9b4f773616d1 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Tue, 17 Sep 2019 21:36:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=85=E7=BD=AE=E7=99=BE=E5=BA=A6=E6=BA=90?= =?UTF-8?q?=E6=AD=8C=E6=9B=B2=E5=9B=BE=E7=89=87=E3=80=81=E6=AD=8C=E8=AF=8D?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/utils/music/bd/api-test.js | 22 ---------------------- src/renderer/utils/music/bd/index.js | 19 +++++++++++++++---- src/renderer/utils/music/bd/musicInfo.js | 11 ++++++++++- 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/renderer/utils/music/bd/api-test.js b/src/renderer/utils/music/bd/api-test.js index ec53f5ae..93a2370b 100644 --- a/src/renderer/utils/music/bd/api-test.js +++ b/src/renderer/utils/music/bd/api-test.js @@ -14,28 +14,6 @@ const api_test = { }) 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 diff --git a/src/renderer/utils/music/bd/index.js b/src/renderer/utils/music/bd/index.js index b3be4315..7a2df1ab 100644 --- a/src/renderer/utils/music/bd/index.js +++ b/src/renderer/utils/music/bd/index.js @@ -2,6 +2,7 @@ import leaderboard from './leaderboard' import api_source from '../api-source' import musicInfo from './musicInfo' import songList from './songList' +import { httpFatch } from '../../request' const bd = { leaderboard, @@ -9,12 +10,22 @@ const bd = { getMusicUrl(songInfo, type) { return api_source('bd').getMusicUrl(songInfo, type) }, - getLyric(songInfo) { - return api_source('bd').getLyric(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) { return musicInfo.getMusicInfo(songInfo.songmid) }, diff --git a/src/renderer/utils/music/bd/musicInfo.js b/src/renderer/utils/music/bd/musicInfo.js index 5f6ebe49..e57ebc07 100644 --- a/src/renderer/utils/music/bd/musicInfo.js +++ b/src/renderer/utils/music/bd/musicInfo.js @@ -1,10 +1,19 @@ import { httpFatch } from '../../request' export default { + cache: {}, 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`) 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 },