From 83c8ff99e12c840187ded50bb4a7e5d72bb3d8bd Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sun, 28 Nov 2021 01:54:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=AD=8C=E8=AF=8D=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8D=A2=E6=BA=90=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 1 + src/utils/music/kg/lyric.js | 2 +- src/utils/music/mg/lyric.js | 4 ++-- src/utils/music/tx/lyric.js | 2 +- src/utils/music/wy/lyric.js | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index 15816b4..7be6a68 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,6 +1,7 @@ ### 优化 - 添加应用初始化出错时的错误捕获输出 +- 优化歌词自动换源机制 ### 修复 diff --git a/src/utils/music/kg/lyric.js b/src/utils/music/kg/lyric.js index 2467ae3..751a389 100644 --- a/src/utils/music/kg/lyric.js +++ b/src/utils/music/kg/lyric.js @@ -125,7 +125,7 @@ export default { let requestObj = this.searchLyric(songInfo.name, songInfo.hash, songInfo._interval || this.getIntv(songInfo.interval)) requestObj.promise = requestObj.promise.then(result => { - if (!result) return { lyric: null, tlyric: null, lxlyric: null } + if (!result) return Promise.reject(new Error('Get lyric failed')) let requestObj2 = this.getLyricDownload(result.id, result.accessKey) diff --git a/src/utils/music/mg/lyric.js b/src/utils/music/mg/lyric.js index cd6a49e..308ceae 100644 --- a/src/utils/music/mg/lyric.js +++ b/src/utils/music/mg/lyric.js @@ -25,8 +25,8 @@ export default { }, }) requestObj.promise = requestObj.promise.then(({ body }) => { - if (body.returnCode !== '000000') { - if (tryNum > 5) return Promise.reject('歌词获取失败') + if (body.returnCode !== '000000' || !body.lyric) { + if (tryNum > 5) return Promise.reject(new Error('Get lyric failed')) let tryRequestObj = this.getLyric(songInfo, ++tryNum) requestObj.cancelHttp = tryRequestObj.cancelHttp.bind(tryRequestObj) return tryRequestObj.promise diff --git a/src/utils/music/tx/lyric.js b/src/utils/music/tx/lyric.js index a371a6e..f0856b3 100644 --- a/src/utils/music/tx/lyric.js +++ b/src/utils/music/tx/lyric.js @@ -12,7 +12,7 @@ export default { }, }) requestObj.promise = requestObj.promise.then(({ body }) => { - if (body.code != 0) return Promise.reject(new Error('获取歌词失败')) + if (body.code != 0 || !body.lyric) return Promise.reject(new Error('Get lyric failed')) return { lyric: decodeName(b64DecodeUnicode(body.lyric)), tlyric: decodeName(b64DecodeUnicode(body.trans)), diff --git a/src/utils/music/wy/lyric.js b/src/utils/music/wy/lyric.js index 301a2bb..f9b4f57 100644 --- a/src/utils/music/wy/lyric.js +++ b/src/utils/music/wy/lyric.js @@ -50,7 +50,7 @@ export default songmid => { }), }) requestObj.promise = requestObj.promise.then(({ body }) => { - if (body.code !== 200) return Promise.reject('获取歌词失败') + if (body.code !== 200 || !body?.lrc?.lyric) return Promise.reject(new Error('Get lyric failed')) return { lyric: body.lrc.lyric, tlyric: body.tlyric.lyric,