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,