diff --git a/publish/changeLog.md b/publish/changeLog.md index 69dae357..3a849765 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,23 +1,3 @@ -### 新增 - -- 新增“便携”功能,在Windows平台下,若程序目录下存在 portable 目录,则自动使用此目录作为数据存储目录 -- 新增 Scheme URL 支持,同时发布lx-music-script项目配合使用(一个油猴脚本,可以在浏览器中的官方平台网页直接调用LX Music),Scheme URL的调用说明看Readme.md文档的Scheme URL支持部分 -- 新增启动参数`-proxy-server`与`-proxy-bypass-list`,详细介绍看Readme.md文档的启动参数部分 -- 新增桌面歌词是否延迟滚动设置,默认开启,若你不想要桌面歌词延迟滚动可以去设置-桌面歌词设置关掉 - ### 优化 -- 为可视化音频的频谱整体添加频谱均值加成,使频谱显示更有节奏感 -- 优化程序初始化逻辑,修复无网络的情况下的初始化问题 -- 我的列表-列表名的右击菜单更新已收藏的在线列表时,将始终重新加载,不再使用缓存,解决在原平台更新歌单后,在LX点击更新可能看到的还是在原平台更新前的歌单的问题 - -### 修复 - -- 修复代理不生效的问题 -- 修复`openDevTools`选项无效的问题 -- 修复播放状态的提示问题 -- 修复tx源无搜索结果的问题 - -### 其他 - -- 更新 Electron 到 v13.6.7 +- 优化kw源英文与翻译歌词的匹配 diff --git a/src/renderer/utils/music/kw/lyric.js b/src/renderer/utils/music/kw/lyric.js index 5b7bfa5d..a6ce8346 100644 --- a/src/renderer/utils/music/kw/lyric.js +++ b/src/renderer/utils/music/kw/lyric.js @@ -14,22 +14,20 @@ export default { for (const item of arr) { if (lrcSet.has(item.time)) { + const tItem = lrc.pop() + tItem.time = lrc[lrc.length - 1].time + lrcT.push(tItem) lrc.push(item) } else { - lrcT.push(item) + lrc.push(item) lrcSet.add(item.time) } } - if (lrc.length) { - if ((lrcT.length - lrc.length) > (lrcT.length * 0.1)) { // 翻译比正文多则证明翻译可能有问题,直接将其丢弃 - lrc = lrcT - lrcT = [] - } else { - lrc.unshift(lrcT.shift()) - } - } else { - lrc = lrcT - lrcT = [] + + if (lrcT.length && lrc.length > lrcT.length) { + const tItem = lrc.pop() + tItem.time = lrc[lrc.length - 1].time + lrcT.push(tItem) } return { @@ -45,16 +43,21 @@ export default { requestObj.promise = requestObj.promise.then(({ body }) => { // console.log(body) if (!body.data?.lrclist?.length) return Promise.reject(new Error('Get lyric failed')) - const { lrc, lrcT } = this.sortLrcArr(body.data.lrclist) + let lrcInfo + try { + lrcInfo = this.sortLrcArr(body.data.lrclist) + } catch { + return Promise.reject(new Error('Get lyric failed')) + } // console.log(body.data.lrclist) - // console.log(lrc, lrcT) + // console.log(lrcInfo.lrc, lrcInfo.lrcT) // console.log({ // lyric: decodeName(this.transformLrc(body.data.songinfo, lrc)), // tlyric: decodeName(this.transformLrc(body.data.songinfo, lrcT)), // }) return { - lyric: decodeName(this.transformLrc(body.data.songinfo, lrc)), - tlyric: lrcT.length ? decodeName(this.transformLrc(body.data.songinfo, lrcT)) : '', + lyric: decodeName(this.transformLrc(body.data.songinfo, lrcInfo.lrc)), + tlyric: lrcInfo.lrcT.length ? decodeName(this.transformLrc(body.data.songinfo, lrcInfo.lrcT)) : '', } }) return requestObj