From b6f885b250164bbdc02da78942d5afeb5b025ac4 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sun, 28 Nov 2021 01:54:45 +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 | 7 ++----- src/renderer/utils/music/kg/lyric.js | 2 +- src/renderer/utils/music/mg/lyric.js | 4 ++-- src/renderer/utils/music/tx/lyric.js | 2 +- src/renderer/utils/music/wy/lyric.js | 2 +- 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index 1ba78dcc..f58f7d9f 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,6 +1,3 @@ -### 修复 +### 优化 -- 修复设置-控制按钮位置选项与下载歌词编码格式选项命名冲突导致选项显示异常的问题 -- 修复播放下载列表时存在失效的歌曲会导致切歌不准确的问题 -- 修复潜在的音乐加载超时不会切歌的问题 -- 修复因kw源歌词接口停用导致该源歌词获取失败的问题 +- 优化歌词自动换源机制 diff --git a/src/renderer/utils/music/kg/lyric.js b/src/renderer/utils/music/kg/lyric.js index 2467ae3f..751a3896 100644 --- a/src/renderer/utils/music/kg/lyric.js +++ b/src/renderer/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/renderer/utils/music/mg/lyric.js b/src/renderer/utils/music/mg/lyric.js index cd6a49ef..308ceaee 100644 --- a/src/renderer/utils/music/mg/lyric.js +++ b/src/renderer/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/renderer/utils/music/tx/lyric.js b/src/renderer/utils/music/tx/lyric.js index a371a6e7..f0856b31 100644 --- a/src/renderer/utils/music/tx/lyric.js +++ b/src/renderer/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/renderer/utils/music/wy/lyric.js b/src/renderer/utils/music/wy/lyric.js index 301a2bb4..f9b4f572 100644 --- a/src/renderer/utils/music/wy/lyric.js +++ b/src/renderer/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,