歌曲无封面时下载报错的问题

pull/96/head
lyswhut 2019-11-25 11:41:51 +08:00
parent fa6dead83d
commit cccfb6a08a
3 changed files with 12 additions and 17 deletions

View File

@ -1,17 +1,4 @@
由于新下载库仍然没有完成但下载功能已经可用so 移除之前使用的第三方下载库,暂时把新下载库的下载模块直接加入本程序,若出现下载问题欢迎反馈!
### 新增
- 新增下载功能对代理设置的支持,现在若在软件设置了代理服务器,下载功能也将会走代理网络了
### 优化
- 新下载模块将对恢复下载的任务进行字节校验用于解决下载进度超过100%后仍然下载的问题
- 注意:目前仍然无法暂停处于**链接获取**状态中的任务
### 修复
- 修复Linux deb版本`.desktop`桌面文件缺少图标的问题,新增中文名称显示、软件分类,感谢@lowy的反馈
- 修复下载列表歌曲状态分类列表操作Bug
- 修复歌曲封面下载失败时仍然执行嵌入封面操作导致报错的问题
- 跳过重复添加**相同歌曲名与扩展名的歌曲**例如你之前下载了A歌曲的128k音质现在想要下载它的320k音质但由于两者都是MP3格式会因为重名导致之前的128k音质被覆盖但列表中仍然显示两种音质的问题但实际上都是指向后面的320k音质
- 修复使用酷我源下载歌曲时,当歌曲无封面时下载报错的问题

View File

@ -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)
})

View File

@ -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
},
}