修复kg源歌曲信息带有单引号等特殊字符被转义的问题

pull/389/head
lyswhut 2020-11-17 17:14:47 +08:00
parent 4db560fb4b
commit b3e3860b23
8 changed files with 26 additions and 20 deletions

View File

@ -11,3 +11,4 @@
- 修复专辑图片无法嵌入的问题 - 修复专辑图片无法嵌入的问题
- 修复播放状态栏切换“上一首”歌曲按钮提示错误的问题 - 修复播放状态栏切换“上一首”歌曲按钮提示错误的问题
- 修复移动单首歌曲时,如果目标列表存在该歌曲,会导致将源列表与目标列表里的目标歌曲移除 - 修复移动单首歌曲时,如果目标列表存在该歌曲,会导致将源列表与目标列表里的目标歌曲移除
- 修复kg源歌曲信息带有单引号等特殊字符被转义的问题

View File

@ -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) => { const easeInOutQuad = (t, b, c, d) => {
t /= d / 2 t /= d / 2

View File

@ -1,5 +1,5 @@
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { dateFormat2 } from '../../' import { decodeName, dateFormat2 } from '../../'
export default { export default {
_requestObj: null, _requestObj: null,
@ -48,7 +48,7 @@ export default {
return rawList.map(item => { return rawList.map(item => {
let data = { let data = {
id: item.id, id: item.id,
text: item.content.split('\n'), text: decodeName(item.content || '').split('\n'),
time: item.addtime, time: item.addtime,
timeStr: dateFormat2(new Date(item.addtime).getTime()), timeStr: dateFormat2(new Date(item.addtime).getTime()),
userName: item.user_name, userName: item.user_name,
@ -61,7 +61,7 @@ export default {
return item.pcontent ? { return item.pcontent ? {
id: item.id, id: item.id,
text: item.pcontent.split('\n'), text: decodeName(item.pcontent).split('\n'),
time: null, time: null,
userName: item.puser, userName: item.puser,
avatar: null, avatar: null,

View File

@ -1,4 +1,5 @@
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { decodeName } from '../..'
export default { export default {
_requestObj: null, _requestObj: null,
@ -25,7 +26,7 @@ export default {
filterList(rawList) { filterList(rawList) {
const list = [] const list = []
rawList.forEach(item => { rawList.forEach(item => {
item.keywords.map(k => list.push(k.keyword)) item.keywords.map(k => list.push(decodeName(k.keyword)))
}) })
return list return list
}, },

View File

@ -1,5 +1,5 @@
import { httpGet, cancelHttp, httpFetch } from '../../request' 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' }] 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 { return {
singer: item.singername, singer: decodeName(item.singername),
name: item.songname, name: decodeName(item.songname),
albumName: item.album_name, albumName: decodeName(item.album_name),
albumId: item.album_id, albumId: item.album_id,
songmid: item.audio_id, songmid: item.audio_id,
source: 'kg', source: 'kg',

View File

@ -1,5 +1,6 @@
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { decodeLyric } from './util' import { decodeLyric } from './util'
import { decodeName } from '../..'
const parseLyric = str => { const parseLyric = str => {
str = str.replace(/(?:<\d+,\d+,\d+>|\r)/g, '') str = str.replace(/(?:<\d+,\d+,\d+>|\r)/g, '')
@ -30,6 +31,8 @@ const parseLyric = str => {
return str.replace(result[1], time) return str.replace(result[1], time)
}) })
tlyric = tlyric ? tlyric.join('\n') : '' tlyric = tlyric ? tlyric.join('\n') : ''
lyric = decodeName(lyric)
tlyric = decodeName(tlyric)
return { return {
lyric, lyric,
tlyric, tlyric,

View File

@ -1,7 +1,7 @@
// import '../../polyfill/array.find' // import '../../polyfill/array.find'
// import jshtmlencode from 'js-htmlencode' // import jshtmlencode from 'js-htmlencode'
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { formatPlayTime, sizeFormate } from '../../index' import { decodeName, formatPlayTime, sizeFormate } from '../../index'
// import { debug } from '../../utils/env' // import { debug } from '../../utils/env'
// import { formatSinger } from './util' // import { formatSinger } from './util'
@ -50,9 +50,9 @@ export default {
} }
} }
list.push({ list.push({
singer: item.singername, singer: decodeName(item.singername),
name: item.songname, name: decodeName(item.songname),
albumName: item.album_name, albumName: decodeName(item.album_name),
albumId: item.album_id, albumId: item.album_id,
songmid: item.audio_id, songmid: item.audio_id,
source: 'kg', source: 'kg',

View File

@ -1,5 +1,5 @@
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { formatPlayTime, sizeFormate } from '../../index' import { decodeName, formatPlayTime, sizeFormate } from '../../index'
import { toMD5 } from '../utils' import { toMD5 } from '../utils'
export default { export default {
@ -454,9 +454,9 @@ export default {
} }
} }
return { return {
singer: item.singername, singer: decodeName(item.singername),
name: item.songname, name: decodeName(item.songname),
albumName: item.album_name, albumName: decodeName(item.album_name),
albumId: item.album_id, albumId: item.album_id,
songmid: item.audio_id, songmid: item.audio_id,
source: 'kg', source: 'kg',
@ -507,9 +507,9 @@ export default {
} }
} }
list.push({ list.push({
singer: item.author_name, singer: decodeName(item.author_name),
name: item.ori_audio_name, name: decodeName(item.ori_audio_name),
albumName: item.album_info.album_name, albumName: decodeName(item.album_info.album_name),
albumId: item.album_info.album_id, albumId: item.album_info.album_id,
songmid: item.audio_info.audio_id, songmid: item.audio_info.audio_id,
source: 'kg', source: 'kg',