From b3e3860b238b5d03f577b5734709ca8bc6f2319a Mon Sep 17 00:00:00 2001 From: lyswhut Date: Tue, 17 Nov 2020 17:14:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dkg=E6=BA=90=E6=AD=8C=E6=9B=B2?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=B8=A6=E6=9C=89=E5=8D=95=E5=BC=95=E5=8F=B7?= =?UTF-8?q?=E7=AD=89=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6=E8=A2=AB=E8=BD=AC?= =?UTF-8?q?=E4=B9=89=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- publish/changeLog.md | 1 + src/renderer/utils/index.js | 3 ++- src/renderer/utils/music/kg/comment.js | 6 +++--- src/renderer/utils/music/kg/hotSearch.js | 3 ++- src/renderer/utils/music/kg/leaderboard.js | 8 ++++---- src/renderer/utils/music/kg/lyric.js | 3 +++ src/renderer/utils/music/kg/musicSearch.js | 8 ++++---- src/renderer/utils/music/kg/songList.js | 14 +++++++------- 8 files changed, 26 insertions(+), 20 deletions(-) diff --git a/publish/changeLog.md b/publish/changeLog.md index 479fe237..e44e90ec 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -11,3 +11,4 @@ - 修复专辑图片无法嵌入的问题 - 修复播放状态栏切换“上一首”歌曲按钮提示错误的问题 - 修复移动单首歌曲时,如果目标列表存在该歌曲,会导致将源列表与目标列表里的目标歌曲移除 +- 修复kg源歌曲信息带有单引号等特殊字符被转义的问题 diff --git a/src/renderer/utils/index.js b/src/renderer/utils/index.js index 09324774..6c8b6adb 100644 --- a/src/renderer/utils/index.js +++ b/src/renderer/utils/index.js @@ -78,8 +78,9 @@ const encodeNames = { '>': '>', '"': '"', ''': "'", + ''': "'", } -export const decodeName = str => str.replace(/(?:&|<|>|"|')/g, s => encodeNames[s]) +export const decodeName = str => str.replace(/(?:&|<|>|"|'|')/gm, s => encodeNames[s]) const easeInOutQuad = (t, b, c, d) => { t /= d / 2 diff --git a/src/renderer/utils/music/kg/comment.js b/src/renderer/utils/music/kg/comment.js index 71515fc1..6cb6fd52 100644 --- a/src/renderer/utils/music/kg/comment.js +++ b/src/renderer/utils/music/kg/comment.js @@ -1,5 +1,5 @@ import { httpFetch } from '../../request' -import { dateFormat2 } from '../../' +import { decodeName, dateFormat2 } from '../../' export default { _requestObj: null, @@ -48,7 +48,7 @@ export default { return rawList.map(item => { let data = { id: item.id, - text: item.content.split('\n'), + text: decodeName(item.content || '').split('\n'), time: item.addtime, timeStr: dateFormat2(new Date(item.addtime).getTime()), userName: item.user_name, @@ -61,7 +61,7 @@ export default { return item.pcontent ? { id: item.id, - text: item.pcontent.split('\n'), + text: decodeName(item.pcontent).split('\n'), time: null, userName: item.puser, avatar: null, diff --git a/src/renderer/utils/music/kg/hotSearch.js b/src/renderer/utils/music/kg/hotSearch.js index 2cafe5b1..4e0e2443 100644 --- a/src/renderer/utils/music/kg/hotSearch.js +++ b/src/renderer/utils/music/kg/hotSearch.js @@ -1,4 +1,5 @@ import { httpFetch } from '../../request' +import { decodeName } from '../..' export default { _requestObj: null, @@ -25,7 +26,7 @@ export default { filterList(rawList) { const list = [] rawList.forEach(item => { - item.keywords.map(k => list.push(k.keyword)) + item.keywords.map(k => list.push(decodeName(k.keyword))) }) return list }, diff --git a/src/renderer/utils/music/kg/leaderboard.js b/src/renderer/utils/music/kg/leaderboard.js index da250ef9..c5c34741 100644 --- a/src/renderer/utils/music/kg/leaderboard.js +++ b/src/renderer/utils/music/kg/leaderboard.js @@ -1,5 +1,5 @@ import { httpGet, cancelHttp, httpFetch } from '../../request' -import { formatPlayTime, sizeFormate } from '../../index' +import { decodeName, formatPlayTime, sizeFormate } from '../../index' let boardList = [{ id: 'kg__8888', name: '酷狗TOP500', bangid: '8888' }, { id: 'kg__6666', name: '酷狗飙升榜', bangid: '6666' }, { id: 'kg__37361', name: '酷狗雷达榜', bangid: '37361' }, { id: 'kg__23784', name: '网络红歌榜', bangid: '23784' }, { id: 'kg__24971', name: 'DJ热歌榜', bangid: '24971' }, { id: 'kg__35811', name: '会员专享热歌榜', bangid: '35811' }, { id: 'kg__31308', name: '华语新歌榜', bangid: '31308' }, { id: 'kg__31310', name: '欧美新歌榜', bangid: '31310' }, { id: 'kg__31311', name: '韩国新歌榜', bangid: '31311' }, { id: 'kg__31312', name: '日本新歌榜', bangid: '31312' }, { id: 'kg__31313', name: '粤语新歌榜', bangid: '31313' }, { id: 'kg__33162', name: 'ACG新歌榜', bangid: '33162' }, { id: 'kg__21101', name: '酷狗分享榜', bangid: '21101' }, { id: 'kg__30972', name: '腾讯音乐人原创榜', bangid: '30972' }, { id: 'kg__22603', name: '5sing音乐榜', bangid: '22603' }, { id: 'kg__33160', name: '电音热歌榜', bangid: '33160' }, { id: 'kg__21335', name: '繁星音乐榜', bangid: '21335' }, { id: 'kg__33161', name: '古风新歌榜', bangid: '33161' }, { id: 'kg__33163', name: '影视金曲榜', bangid: '33163' }, { id: 'kg__33166', name: '欧美金曲榜', bangid: '33166' }, { id: 'kg__33165', name: '粤语金曲榜', bangid: '33165' }, { id: 'kg__36107', name: '小语种热歌榜', bangid: '36107' }, { id: 'kg__4681', name: '美国BillBoard榜', bangid: '4681' }, { id: 'kg__4680', name: '英国单曲榜', bangid: '4680' }, { id: 'kg__4673', name: '日本公信榜', bangid: '4673' }, { id: 'kg__38623', name: '韩国Melon音乐榜', bangid: '38623' }, { id: 'kg__42807', name: 'joox本地热歌榜', bangid: '42807' }, { id: 'kg__42808', name: '台湾KKBOX风云榜', bangid: '42808' }] @@ -134,9 +134,9 @@ export default { } } return { - singer: item.singername, - name: item.songname, - albumName: item.album_name, + singer: decodeName(item.singername), + name: decodeName(item.songname), + albumName: decodeName(item.album_name), albumId: item.album_id, songmid: item.audio_id, source: 'kg', diff --git a/src/renderer/utils/music/kg/lyric.js b/src/renderer/utils/music/kg/lyric.js index d0f4f903..1e6bc9c3 100644 --- a/src/renderer/utils/music/kg/lyric.js +++ b/src/renderer/utils/music/kg/lyric.js @@ -1,5 +1,6 @@ import { httpFetch } from '../../request' import { decodeLyric } from './util' +import { decodeName } from '../..' const parseLyric = str => { str = str.replace(/(?:<\d+,\d+,\d+>|\r)/g, '') @@ -30,6 +31,8 @@ const parseLyric = str => { return str.replace(result[1], time) }) tlyric = tlyric ? tlyric.join('\n') : '' + lyric = decodeName(lyric) + tlyric = decodeName(tlyric) return { lyric, tlyric, diff --git a/src/renderer/utils/music/kg/musicSearch.js b/src/renderer/utils/music/kg/musicSearch.js index 62f8b61a..98aeeddb 100644 --- a/src/renderer/utils/music/kg/musicSearch.js +++ b/src/renderer/utils/music/kg/musicSearch.js @@ -1,7 +1,7 @@ // import '../../polyfill/array.find' // import jshtmlencode from 'js-htmlencode' import { httpFetch } from '../../request' -import { formatPlayTime, sizeFormate } from '../../index' +import { decodeName, formatPlayTime, sizeFormate } from '../../index' // import { debug } from '../../utils/env' // import { formatSinger } from './util' @@ -50,9 +50,9 @@ export default { } } list.push({ - singer: item.singername, - name: item.songname, - albumName: item.album_name, + singer: decodeName(item.singername), + name: decodeName(item.songname), + albumName: decodeName(item.album_name), albumId: item.album_id, songmid: item.audio_id, source: 'kg', diff --git a/src/renderer/utils/music/kg/songList.js b/src/renderer/utils/music/kg/songList.js index 3c17f9e6..f1fc7afe 100644 --- a/src/renderer/utils/music/kg/songList.js +++ b/src/renderer/utils/music/kg/songList.js @@ -1,5 +1,5 @@ import { httpFetch } from '../../request' -import { formatPlayTime, sizeFormate } from '../../index' +import { decodeName, formatPlayTime, sizeFormate } from '../../index' import { toMD5 } from '../utils' export default { @@ -454,9 +454,9 @@ export default { } } return { - singer: item.singername, - name: item.songname, - albumName: item.album_name, + singer: decodeName(item.singername), + name: decodeName(item.songname), + albumName: decodeName(item.album_name), albumId: item.album_id, songmid: item.audio_id, source: 'kg', @@ -507,9 +507,9 @@ export default { } } list.push({ - singer: item.author_name, - name: item.ori_audio_name, - albumName: item.album_info.album_name, + singer: decodeName(item.author_name), + name: decodeName(item.ori_audio_name), + albumName: decodeName(item.album_info.album_name), albumId: item.album_info.album_id, songmid: item.audio_info.audio_id, source: 'kg',