修复 mg 图片、歌词获取
This commit is contained in:
@@ -7,4 +7,5 @@
|
|||||||
### 修复
|
### 修复
|
||||||
|
|
||||||
- 修复 kg 搜索结果显示问题(#2782)
|
- 修复 kg 搜索结果显示问题(#2782)
|
||||||
- 修复某些情况下开放 API 获取到的音量为0 的问题(#2790)
|
- 修复某些情况下开放 API 获取到的音量为 0 的问题(#2790)
|
||||||
|
- 修复 mg 图片、歌词获取
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ const mrcTools = {
|
|||||||
},
|
},
|
||||||
async getMusicInfo(songInfo) {
|
async getMusicInfo(songInfo) {
|
||||||
return songInfo.mrcUrl == null
|
return songInfo.mrcUrl == null
|
||||||
? getMusicInfo(songInfo.copyrightId)
|
? getMusicInfo(songInfo.songmid)
|
||||||
: songInfo
|
: songInfo
|
||||||
},
|
},
|
||||||
getLyric(songInfo) {
|
getLyric(songInfo) {
|
||||||
|
|||||||
@@ -1,28 +1,8 @@
|
|||||||
import { httpFetch } from '../../request'
|
import { getMusicInfo } from './musicInfo'
|
||||||
import getSongId from './songId'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
async getPicUrl(songId, tryNum = 0) {
|
|
||||||
let requestObj = httpFetch(`http://music.migu.cn/v3/api/music/audioPlayer/getSongPic?songId=${songId}`, {
|
|
||||||
headers: {
|
|
||||||
Referer: 'http://music.migu.cn/v3/music/player/audio?from=migu',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
requestObj.promise.then(({ body }) => {
|
|
||||||
if (body.returnCode !== '000000') {
|
|
||||||
if (tryNum > 5) return Promise.reject(new Error('图片获取失败'))
|
|
||||||
let tryRequestObj = this.getPic(songId, ++tryNum)
|
|
||||||
requestObj.cancelHttp = tryRequestObj.cancelHttp.bind(tryRequestObj)
|
|
||||||
return tryRequestObj.promise
|
|
||||||
}
|
|
||||||
let url = body.largePic || body.mediumPic || body.smallPic
|
|
||||||
if (!/https?:/.test(url)) url = 'http:' + url
|
|
||||||
return url
|
|
||||||
})
|
|
||||||
return requestObj
|
|
||||||
},
|
|
||||||
async getPic(songInfo) {
|
async getPic(songInfo) {
|
||||||
const songId = await getSongId(songInfo)
|
const info = await getMusicInfo(songInfo.songmid)
|
||||||
return this.getPicUrl(songId)
|
return info.img
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { getMusicInfo } from './musicInfo'
|
|||||||
|
|
||||||
const getSongId = async(mInfo) => {
|
const getSongId = async(mInfo) => {
|
||||||
if (mInfo.songmid != mInfo.copyrightId) return mInfo.songmid
|
if (mInfo.songmid != mInfo.copyrightId) return mInfo.songmid
|
||||||
const musicInfo = await getMusicInfo(mInfo.copyrightId)
|
const musicInfo = await getMusicInfo(mInfo.songmid)
|
||||||
return musicInfo.songmid
|
return musicInfo.songmid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user