From 38c7bc0d0d8f215c117b0dc5af3c3e95902983c8 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Fri, 15 May 2026 21:31:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20mg=20=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E3=80=81=E6=AD=8C=E8=AF=8D=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 3 ++- src/renderer/utils/musicSdk/mg/lyric.js | 2 +- src/renderer/utils/musicSdk/mg/pic.js | 26 +++--------------------- src/renderer/utils/musicSdk/mg/songId.js | 2 +- 4 files changed, 7 insertions(+), 26 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index b7ac4082..0938c13b 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -7,4 +7,5 @@ ### 修复 - 修复 kg 搜索结果显示问题(#2782) -- 修复某些情况下开放 API 获取到的音量为0 的问题(#2790) +- 修复某些情况下开放 API 获取到的音量为 0 的问题(#2790) +- 修复 mg 图片、歌词获取 diff --git a/src/renderer/utils/musicSdk/mg/lyric.js b/src/renderer/utils/musicSdk/mg/lyric.js index 55e27a56..feb07933 100644 --- a/src/renderer/utils/musicSdk/mg/lyric.js +++ b/src/renderer/utils/musicSdk/mg/lyric.js @@ -75,7 +75,7 @@ const mrcTools = { }, async getMusicInfo(songInfo) { return songInfo.mrcUrl == null - ? getMusicInfo(songInfo.copyrightId) + ? getMusicInfo(songInfo.songmid) : songInfo }, getLyric(songInfo) { diff --git a/src/renderer/utils/musicSdk/mg/pic.js b/src/renderer/utils/musicSdk/mg/pic.js index cf819ca8..b47217d3 100644 --- a/src/renderer/utils/musicSdk/mg/pic.js +++ b/src/renderer/utils/musicSdk/mg/pic.js @@ -1,28 +1,8 @@ -import { httpFetch } from '../../request' -import getSongId from './songId' +import { getMusicInfo } from './musicInfo' 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) { - const songId = await getSongId(songInfo) - return this.getPicUrl(songId) + const info = await getMusicInfo(songInfo.songmid) + return info.img }, } diff --git a/src/renderer/utils/musicSdk/mg/songId.js b/src/renderer/utils/musicSdk/mg/songId.js index 25197c28..747d5058 100644 --- a/src/renderer/utils/musicSdk/mg/songId.js +++ b/src/renderer/utils/musicSdk/mg/songId.js @@ -3,7 +3,7 @@ import { getMusicInfo } from './musicInfo' const getSongId = async(mInfo) => { if (mInfo.songmid != mInfo.copyrightId) return mInfo.songmid - const musicInfo = await getMusicInfo(mInfo.copyrightId) + const musicInfo = await getMusicInfo(mInfo.songmid) return musicInfo.songmid }