From cccfb6a08a30bb1f6493901caf6b76eb1bdfc1ef Mon Sep 17 00:00:00 2001 From: lyswhut Date: Mon, 25 Nov 2019 11:41:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=8C=E6=9B=B2=E6=97=A0=E5=B0=81=E9=9D=A2?= =?UTF-8?q?=E6=97=B6=E4=B8=8B=E8=BD=BD=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 15 +-------------- src/main/utils/mp3Meta.js | 12 ++++++++++-- src/renderer/utils/music/kw/pic.js | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index de472a89..0469bb54 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,17 +1,4 @@ -由于新下载库仍然没有完成,但下载功能已经可用,so 移除之前使用的第三方下载库,暂时把新下载库的下载模块直接加入本程序,若出现下载问题欢迎反馈! - -### 新增 - -- 新增下载功能对代理设置的支持,现在若在软件设置了代理服务器,下载功能也将会走代理网络了 - -### 优化 - -- 新下载模块将对恢复下载的任务进行字节校验,用于解决下载进度超过100%后仍然下载的问题 -- 注意:目前仍然无法暂停处于**链接获取**状态中的任务 ### 修复 -- 修复Linux deb版本`.desktop`桌面文件缺少图标的问题,新增中文名称显示、软件分类,感谢@lowy的反馈! -- 修复下载列表歌曲状态分类列表操作Bug -- 修复歌曲封面下载失败时仍然执行嵌入封面操作导致报错的问题 -- 跳过重复添加**相同歌曲名与扩展名的歌曲**,例如你之前下载了A歌曲的128k音质,现在想要下载它的320k音质,但由于两者都是MP3格式,会因为重名导致之前的128k音质被覆盖但列表中仍然显示两种音质的问题(但实际上都是指向后面的320k音质) +- 修复使用酷我源下载歌曲时,当歌曲无封面时下载报错的问题 diff --git a/src/main/utils/mp3Meta.js b/src/main/utils/mp3Meta.js index 14f27388..5bfa0642 100644 --- a/src/main/utils/mp3Meta.js +++ b/src/main/utils/mp3Meta.js @@ -6,6 +6,10 @@ const extReg = /^(\.(?:jpe?g|png)).*$/ module.exports = (filePath, meta) => { if (!meta.APIC) return NodeID3.write(meta, filePath) + if (!/^http/.test(meta.APIC)) { + delete meta.APIC + return NodeID3.write(meta, filePath) + } let picPath = filePath.replace(/\.mp3$/, '') + path.extname(meta.APIC).replace(extReg, '$1') request(meta.APIC) .on('response', respones => { @@ -17,8 +21,12 @@ module.exports = (filePath, meta) => { respones .pipe(fs.createWriteStream(picPath)) .on('finish', () => { - meta.APIC = picPath - NodeID3.write(meta, filePath) + if (respones.complete) { + meta.APIC = picPath + NodeID3.write(meta, filePath) + } else { + delete meta.APIC + } fs.unlink(picPath, err => { if (err) console.log(err.message) }) diff --git a/src/renderer/utils/music/kw/pic.js b/src/renderer/utils/music/kw/pic.js index 233673ff..7263a518 100644 --- a/src/renderer/utils/music/kw/pic.js +++ b/src/renderer/utils/music/kw/pic.js @@ -3,7 +3,7 @@ import { httpFetch } from '../../request' export default { getPic({ songmid }) { const requestObj = httpFetch(`http://artistpicserver.kuwo.cn/pic.web?corp=kuwo&type=rid_pic&pictype=500&size=500&rid=${songmid}`) - requestObj.promise = requestObj.promise.then(({ body }) => body) + requestObj.promise = requestObj.promise.then(({ body }) => /^http/.test(body) ? body : null) return requestObj }, }