From 10ee6bcc7f169cfdd4c36590266f941e187e0915 Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sun, 10 May 2020 18:55:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=B7=E6=88=91=E6=AD=8C?= =?UTF-8?q?=E5=8D=95=E6=98=BE=E7=A4=BA=E6=AD=8C=E6=9B=B2=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/utils/music/kw/songList.js | 52 ++++++++++++++++--------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/src/renderer/utils/music/kw/songList.js b/src/renderer/utils/music/kw/songList.js index 65c87f36..f507bc03 100644 --- a/src/renderer/utils/music/kw/songList.js +++ b/src/renderer/utils/music/kw/songList.js @@ -21,6 +21,7 @@ export default { }, ], regExps: { + mInfo: /bitrate:(\d+),format:(\w+),size:([\w.]+)/, // http://www.kuwo.cn/playlist_detail/2886046289 // https://m.kuwo.cn/h5app/playlist/2736267853?t=qqfriend listDetailLink: /^.+\/playlist(?:_detail)?\/(\d+)(?:\?.*|&.*$|#.*$|$)/, @@ -189,29 +190,42 @@ export default { }) }, filterListDetail(rawData) { - // console.log(rawList) - return rawData.map((item, inedx) => { - let formats = item.formats.split('|') + // console.log(rawData) + return rawData.map(item => { + let infoArr = item.MINFO.split(';') let types = [] let _types = {} - if (formats.includes('MP3128')) { - types.push({ type: '128k', size: null }) - _types['128k'] = { - size: null, - } - } - if (formats.includes('MP3H')) { - types.push({ type: '320k', size: null }) - _types['320k'] = { - size: null, - } - } - if (formats.includes('ALFLAC')) { - types.push({ type: 'flac', size: null }) - _types.flac = { - size: null, + for (let info of infoArr) { + info = info.match(this.regExps.mInfo) + if (info) { + switch (info[2]) { + case 'flac': + types.push({ type: 'flac', size: info[3] }) + _types.flac = { + size: info[3].toLocaleUpperCase(), + } + break + case 'mp3': + switch (info[1]) { + case '320': + types.push({ type: '320k', size: info[3] }) + _types['320k'] = { + size: info[3].toLocaleUpperCase(), + } + break + case '192': + case '128': + types.push({ type: '128k', size: info[3] }) + _types['128k'] = { + size: info[3].toLocaleUpperCase(), + } + break + } + break + } } } + types.reverse() return { singer: formatSinger(decodeName(item.artist)),