diff --git a/src/lang/en-us.json b/src/lang/en-us.json index 46caf100..f89a7b68 100644 --- a/src/lang/en-us.json +++ b/src/lang/en-us.json @@ -189,6 +189,9 @@ "pagination__next": "Next page", "pagination__page": "Page {num}", "pagination__prev": "Previous page", + "play_count_million": "{num} Million", + "play_count_billion": "{num} Billion", + "play_count_none": "{num}", "play_timeout": "Timed pause", "play_timeout_close": "Close", "play_timeout_confirm": "Confirm", diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json index 6b685302..76287dc5 100644 --- a/src/lang/zh-cn.json +++ b/src/lang/zh-cn.json @@ -189,6 +189,9 @@ "pagination__next": "下一页", "pagination__page": "第 {num} 页", "pagination__prev": "上一页", + "play_count_million": "{num} 万", + "play_count_billion": "{num} 亿", + "play_count_none": "{num}", "play_timeout": "定时暂停", "play_timeout_close": "关闭", "play_timeout_confirm": "确认", diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json index 23e76744..0829ce85 100644 --- a/src/lang/zh-tw.json +++ b/src/lang/zh-tw.json @@ -189,6 +189,9 @@ "pagination__next": "下一頁", "pagination__page": "第 {num} 頁", "pagination__prev": "上一頁", + "play_count_million": "{num} 萬", + "play_count_billion": "{num} 億", + "play_count_none": "{num}", "play_timeout": "定時暫停", "play_timeout_close": "關閉", "play_timeout_confirm": "確認", diff --git a/src/renderer/utils/index.ts b/src/renderer/utils/index.ts index efdfa182..17f2877f 100644 --- a/src/renderer/utils/index.ts +++ b/src/renderer/utils/index.ts @@ -5,6 +5,18 @@ export * from '@common/utils/nodejs' export * from '@common/utils/common' export * from '@common/utils/tools' + +/** + * 格式化播放数量 + * @param {*} num 数字 + */ +export const formatPlayCount = (num: number): { count: number, language: string } => { + if (num > 100000000) return {count: parseInt((num / 10000000).toString()) / 10,language: 'play_count_billion'} + if (num > 10000) return {count: parseInt((num / 1000).toString()) / 10,language: 'play_count_million'} + return { count: num, language: 'play_count_none' } +} + + /** * 时间格式化 */ diff --git a/src/renderer/utils/musicSdk/kg/songList.js b/src/renderer/utils/musicSdk/kg/songList.js index 34ff92cd..31125efc 100644 --- a/src/renderer/utils/musicSdk/kg/songList.js +++ b/src/renderer/utils/musicSdk/kg/songList.js @@ -1,6 +1,6 @@ import { httpFetch } from '../../request' import { formatSingerName } from '../utils' -import { decodeName, formatPlayTime, sizeFormate, dateFormat } from '../../index' +import { decodeName, formatPlayTime, sizeFormate, dateFormat, formatPlayCount } from '../../index' import { signatureParams, createHttpFetch } from './util' import { getMusicInfosByList } from './musicInfo' import album from './album' @@ -122,7 +122,7 @@ export default { img: pic, desc, // author: body.result.info.userinfo.username, - // play_count: this.formatPlayCount(body.result.listen_num), + // playCountInfo: formatPlayCount(body.result.listen_num), }, } }, @@ -171,15 +171,6 @@ export default { return `http://www2.kugou.kugou.com/yueku/v9/special/single/${id}-5-9999.html` }, - /** - * 格式化播放数量 - * @param {*} num - */ - formatPlayCount(num) { - if (num > 100000000) return parseInt(num / 10000000) / 10 + '亿' - if (num > 10000) return parseInt(num / 1000) / 10 + '万' - return num - }, filterInfoHotTag(rawData) { const result = [] if (rawData.status !== 1) return result @@ -212,7 +203,7 @@ export default { }, filterSongList(rawData) { return rawData.map(item => ({ - play_count: item.total_play_count || this.formatPlayCount(item.play_count), + playCountInfo: item.total_playCountInfo || formatPlayCount(item.playCountInfo), id: 'id_' + item.specialid, author: item.nickname, name: item.specialname, @@ -327,7 +318,7 @@ export default { // img: listInfo.image, // desc: listInfo.desc, // // author: listInfo.userName, - // // play_count: this.formatPlayCount(listInfo.playCount), + // // playCountInfo: formatPlayCount(listInfo.playCount), // }, // } // }) @@ -360,7 +351,7 @@ export default { img: listInfo.imageUrl && listInfo.imageUrl.replace('{size}', 240), desc: listInfo.desc, author: listInfo.userName, - play_count: this.formatPlayCount(listInfo.playCount), + playCountInfo: formatPlayCount(listInfo.playCount), }, } }) @@ -483,7 +474,7 @@ export default { img: (codeInfo.img_size && codeInfo.img_size.replace('{size}', 240)) || codeInfo.img, // desc: body.result.info.list_desc, author: codeInfo.username, - // play_count: this.formatPlayCount(info.count), + // playCountInfo: formatPlayCount(info.count), }, } } @@ -512,7 +503,7 @@ export default { img: songInfo.info.img, // desc: body.result.info.list_desc, author: songInfo.info.username, - // play_count: this.formatPlayCount(info.count), + // playCountInfo: formatPlayCount(info.count), }, } }, @@ -547,7 +538,7 @@ export default { img: listInfo.pic && listInfo.pic.replace('{size}', 240), // desc: body.result.info.list_desc, author: listInfo.list_create_username, - // play_count: this.formatPlayCount(listInfo.count), + // playCountInfo: formatPlayCount(listInfo.count), }, } }, @@ -598,7 +589,7 @@ export default { img: info.imgurl && info.imgurl.replace('{size}', 240), desc: info.intro, author: info.nickname, - play_count: this.formatPlayCount(info.playcount), + playCountInfo: formatPlayCount(info.playcount), }, } }, @@ -650,7 +641,7 @@ export default { img: listInfo.imgurl && listInfo.imgurl.replace('{size}', 240), // desc: body.result.info.list_desc, author: listInfo.nickname, - // play_count: this.formatPlayCount(info.count), + // playCountInfo: formatPlayCount(info.count), }, } }, @@ -671,7 +662,7 @@ export default { img: listInfo.imgurl && listInfo.imgurl.replace('{size}', 240), // desc: body.result.info.list_desc, author: listInfo.nickname, - // play_count: this.formatPlayCount(info.count), + // playCountInfo: formatPlayCount(info.count), }, } }, @@ -786,7 +777,7 @@ export default { return { list: body.lists.map(item => { return { - play_count: this.formatPlayCount(item.total_play_count), + playCountInfo: formatPlayCount(item.total_playCountInfo), id: item.gid ? `gid_${item.gid}` : `id_${item.specialid}`, author: item.nickname, name: item.specialname, diff --git a/src/renderer/utils/musicSdk/kw/songList.js b/src/renderer/utils/musicSdk/kw/songList.js index 0b1e164e..bbc99fc3 100644 --- a/src/renderer/utils/musicSdk/kw/songList.js +++ b/src/renderer/utils/musicSdk/kw/songList.js @@ -1,5 +1,5 @@ import { httpFetch } from '../../request' -import { formatPlayTime, decodeName } from '../../index' +import { formatPlayTime, decodeName, formatPlayCount } from '../../index' import { formatSinger, objStr2JSON } from './util' import album from './album' @@ -120,19 +120,9 @@ export default { }) }, - - /** - * 格式化播放数量 - * @param {*} num - */ - formatPlayCount(num) { - if (num > 100000000) return parseInt(num / 10000000) / 10 + '亿' - if (num > 10000) return parseInt(num / 1000) / 10 + '万' - return num - }, filterList(rawData) { return rawData.map(item => ({ - play_count: this.formatPlayCount(item.listencnt), + playCountInfo: formatPlayCount(item.listencnt), id: `digest-${item.digest}__${item.id}`, author: item.uname, name: item.name, @@ -150,7 +140,7 @@ export default { rawData.forEach(item => { if (!item.label) return list.push(...item.list.map(item => ({ - play_count: item.play_count && this.formatPlayCount(item.listencnt), + playCountInfo: item.playCountInfo && formatPlayCount(item.listencnt), id: `digest-${item.digest}__${item.id}`, author: item.uname, name: item.name, @@ -182,7 +172,7 @@ export default { img: body.pic, desc: body.info, author: body.uname, - play_count: this.formatPlayCount(body.playnum), + playCountInfo: formatPlayCount(body.playnum), }, } }) @@ -213,7 +203,7 @@ export default { img: body.pic, desc: body.info, author: body.uname, - play_count: this.formatPlayCount(body.playnum), + playCountInfo: formatPlayCount(body.playnum), }, } }) @@ -298,7 +288,7 @@ export default { img: infoData.data.pic, desc: infoData.data.description, author: infoData.data.creatorName, - play_count: infoData.data.playNum, + playCountInfo: infoData.data.playNum, } }, async getListDetailMusicListByBDUserPub(id) { @@ -317,7 +307,7 @@ export default { img: infoData.data.userInfo.headImg, desc: '', author: infoData.data.userInfo.nickname, - play_count: '', + playCountInfo: '', } }, async getListDetailMusicListByBDList(id, source, page, tryNum = 0) { @@ -362,7 +352,7 @@ export default { img: '', desc: '', author: '', - play_count: '', + playCountInfo: '', } // console.log(listData) return listData @@ -466,7 +456,7 @@ export default { return { list: body.abslist.map(item => { return { - play_count: this.formatPlayCount(item.playcnt), + playCountInfo: formatPlayCount(item.playcnt), id: item.playlistid, author: decodeName(item.nickname), name: decodeName(item.name), diff --git a/src/renderer/utils/musicSdk/mg/songList.js b/src/renderer/utils/musicSdk/mg/songList.js index 50a4e8de..ee05750f 100644 --- a/src/renderer/utils/musicSdk/mg/songList.js +++ b/src/renderer/utils/musicSdk/mg/songList.js @@ -1,5 +1,5 @@ import { httpFetch } from '../../request' -import { dateFormat } from '../../index' +import { dateFormat, formatPlayCount } from '../../index' import { filterMusicInfoList } from './musicInfo' // const tagData = { code: '000000', info: 'SUCCESS', columnInfo: { columnTitle: '分类', columnId: '15244430', columnPid: '15031270', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 6, columnStatus: 1, columnCreateTime: '2016-11-10 10:53:05.077', columntype: 2011, contents: [{ contentId: '18464615', relationType: 2011, objectInfo: { columnTitle: '热门', columnId: '18464615', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 8, columnStatus: 1, columnCreateTime: '2017-02-20 16:09:13.400', columntype: 2011, contents: [{ contentId: '1000001672', relationType: 4034, objectInfo: { tagId: '1000001672', tagName: '流行', resourceType: '2034' }, relationSort: 9 }, { contentId: '1003449727', relationType: 4034, objectInfo: { tagId: '1003449727', tagName: '厂牌', resourceType: '2034' }, relationSort: 8 }, { contentId: '1000001795', relationType: 4034, objectInfo: { tagId: '1000001795', tagName: '伤感', resourceType: '2034' }, relationSort: 7 }, { contentId: '1001076080', relationType: 4034, objectInfo: { tagId: '1001076080', tagName: '电影', resourceType: '2034' }, relationSort: 6 }, { contentId: '1000001675', relationType: 4034, objectInfo: { tagId: '1000001675', tagName: '中国风', resourceType: '2034' }, relationSort: 5 }, { contentId: '1000001635', relationType: 4034, objectInfo: { tagId: '1000001635', tagName: '经典老歌', resourceType: '2034' }, relationSort: 4 }, { contentId: '1000001831', relationType: 4034, objectInfo: { tagId: '1000001831', tagName: '翻唱', resourceType: '2034' }, relationSort: 3 }, { contentId: '1000001762', relationType: 4034, objectInfo: { tagId: '1000001762', tagName: '国语', resourceType: '2034' }, relationSort: 1 }], dataVersion: '1620410266029', customizedPicUrls: [] }, relationSort: 6 }, { contentId: '15244503', relationType: 2011, objectInfo: { columnTitle: '主题', columnId: '15244503', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 23, columnStatus: 1, columnCreateTime: '2016-11-10 10:54:10.261', columntype: 2011, contents: [{ contentId: '1003449727', relationType: 4034, objectInfo: { tagId: '1003449727', tagName: '厂牌', resourceType: '2034' }, relationSort: 29 }, { contentId: '1001076080', relationType: 4034, objectInfo: { tagId: '1001076080', tagName: '电影', resourceType: '2034' }, relationSort: 28 }, { contentId: '1001076078', relationType: 4034, objectInfo: { tagId: '1001076078', tagName: '电视剧', resourceType: '2034' }, relationSort: 27 }, { contentId: '1001076083', relationType: 4034, objectInfo: { tagId: '1001076083', tagName: '综艺', resourceType: '2034' }, relationSort: 26 }, { contentId: '1000001827', relationType: 4034, objectInfo: { tagId: '1000001827', tagName: 'KTV', resourceType: '2034' }, relationSort: 23 }, { contentId: '1000001698', relationType: 4034, objectInfo: { tagId: '1000001698', tagName: '爱情', resourceType: '2034' }, relationSort: 22 }, { contentId: '1000001635', relationType: 4034, objectInfo: { tagId: '1000001635', tagName: '经典老歌', resourceType: '2034' }, relationSort: 21 }, { contentId: '1001076096', relationType: 4034, objectInfo: { tagId: '1001076096', tagName: '网络热歌', resourceType: '2034' }, relationSort: 20 }, { contentId: '1000001780', relationType: 4034, objectInfo: { tagId: '1000001780', tagName: '儿童歌曲', resourceType: '2034' }, relationSort: 19 }, { contentId: '1000587702', relationType: 4034, objectInfo: { tagId: '1000587702', tagName: '广场舞', resourceType: '2034' }, relationSort: 18 }, { contentId: '1000587717', relationType: 4034, objectInfo: { tagId: '1000587717', tagName: '70后', resourceType: '2034' }, relationSort: 17 }, { contentId: '1000587718', relationType: 4034, objectInfo: { tagId: '1000587718', tagName: '80后', resourceType: '2034' }, relationSort: 16 }, { contentId: '1000587726', relationType: 4034, objectInfo: { tagId: '1000587726', tagName: '90后', resourceType: '2034' }, relationSort: 15 }, { contentId: '1000001670', relationType: 4034, objectInfo: { tagId: '1000001670', tagName: '红歌', resourceType: '2034' }, relationSort: 14 }, { contentId: '1000587698', relationType: 4034, objectInfo: { tagId: '1000587698', tagName: '游戏', resourceType: '2034' }, relationSort: 13 }, { contentId: '1000587706', relationType: 4034, objectInfo: { tagId: '1000587706', tagName: '动漫', resourceType: '2034' }, relationSort: 12 }, { contentId: '1000001675', relationType: 4034, objectInfo: { tagId: '1000001675', tagName: '中国风', resourceType: '2034' }, relationSort: 11 }, { contentId: '1000587712', relationType: 4034, objectInfo: { tagId: '1000587712', tagName: '青春校园', resourceType: '2034' }, relationSort: 10 }, { contentId: '1000587673', relationType: 4034, objectInfo: { tagId: '1000587673', tagName: '小清新', resourceType: '2034' }, relationSort: 9 }, { contentId: '1000093902', relationType: 4034, objectInfo: { tagId: '1000093902', tagName: 'DJ舞曲', resourceType: '2034' }, relationSort: 7 }, { contentId: '1000093963', relationType: 4034, objectInfo: { tagId: '1000093963', tagName: '广告', resourceType: '2034' }, relationSort: 6 }, { contentId: '1000001831', relationType: 4034, objectInfo: { tagId: '1000001831', tagName: '翻唱', resourceType: '2034' }, relationSort: 2 }, { contentId: '1003449726', relationType: 4034, objectInfo: { tagId: '1003449726', tagName: '读书', resourceType: '2034' }, relationSort: 1 }], dataVersion: '1620410266055', customizedPicUrls: [] }, relationSort: 5 }, { contentId: '15244509', relationType: 2011, objectInfo: { columnTitle: '风格', columnId: '15244509', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 12, columnStatus: 1, columnCreateTime: '2016-11-10 10:54:57.257', columntype: 2011, contents: [{ contentId: '1000001672', relationType: 4034, objectInfo: { tagId: '1000001672', tagName: '流行', resourceType: '2034' }, relationSort: 14 }, { contentId: '1000001808', relationType: 4034, objectInfo: { tagId: '1000001808', tagName: 'R&B', resourceType: '2034' }, relationSort: 13 }, { contentId: '1000001809', relationType: 4034, objectInfo: { tagId: '1000001809', tagName: '嘻哈', resourceType: '2034' }, relationSort: 12 }, { contentId: '1000001674', relationType: 4034, objectInfo: { tagId: '1000001674', tagName: '摇滚', resourceType: '2034' }, relationSort: 11 }, { contentId: '1000001682', relationType: 4034, objectInfo: { tagId: '1000001682', tagName: '电子', resourceType: '2034' }, relationSort: 10 }, { contentId: '1000001852', relationType: 4034, objectInfo: { tagId: '1000001852', tagName: '电子舞曲', resourceType: '2034' }, relationSort: 9 }, { contentId: '1000001681', relationType: 4034, objectInfo: { tagId: '1000001681', tagName: '爵士', resourceType: '2034' }, relationSort: 6 }, { contentId: '1000001683', relationType: 4034, objectInfo: { tagId: '1000001683', tagName: '乡村', resourceType: '2034' }, relationSort: 5 }, { contentId: '1000001851', relationType: 4034, objectInfo: { tagId: '1000001851', tagName: '蓝调', resourceType: '2034' }, relationSort: 4 }, { contentId: '1000001775', relationType: 4034, objectInfo: { tagId: '1000001775', tagName: '民谣', resourceType: '2034' }, relationSort: 3 }, { contentId: '1000001807', relationType: 4034, objectInfo: { tagId: '1000001807', tagName: '纯音乐', resourceType: '2034' }, relationSort: 2 }, { contentId: '1000001783', relationType: 4034, objectInfo: { tagId: '1000001783', tagName: '古典', resourceType: '2034' }, relationSort: 1 }], dataVersion: '1620410266033', customizedPicUrls: [] }, relationSort: 4 }, { contentId: '18464665', relationType: 2011, objectInfo: { columnTitle: '语种', columnId: '18464665', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 6, columnStatus: 1, columnCreateTime: '2017-02-20 16:07:16.566', columntype: 2011, contents: [{ contentId: '1000001762', relationType: 4034, objectInfo: { tagId: '1000001762', tagName: '国语', resourceType: '2034' }, relationSort: 6 }, { contentId: '1000001763', relationType: 4034, objectInfo: { tagId: '1000001763', tagName: '粤语', resourceType: '2034' }, relationSort: 5 }, { contentId: '1000001766', relationType: 4034, objectInfo: { tagId: '1000001766', tagName: '英语', resourceType: '2034' }, relationSort: 4 }, { contentId: '1000001599', relationType: 4034, objectInfo: { tagId: '1000001599', tagName: '韩语', resourceType: '2034' }, relationSort: 3 }, { contentId: '1000001767', relationType: 4034, objectInfo: { tagId: '1000001767', tagName: '日语', resourceType: '2034' }, relationSort: 2 }, { contentId: '1003449724', relationType: 4034, objectInfo: { tagId: '1003449724', tagName: '小语种', resourceType: '2034' }, relationSort: 1 }], dataVersion: '1620410266036', customizedPicUrls: [] }, relationSort: 3 }, { contentId: '18464583', relationType: 2011, objectInfo: { columnTitle: '心情', columnId: '18464583', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 13, columnStatus: 1, columnCreateTime: '2017-02-20 15:59:03.412', columntype: 2011, contents: [{ contentId: '1000587677', relationType: 4034, objectInfo: { tagId: '1000587677', tagName: '幸福', resourceType: '2034' }, relationSort: 15 }, { contentId: '1000587710', relationType: 4034, objectInfo: { tagId: '1000587710', tagName: '治愈', resourceType: '2034' }, relationSort: 14 }, { contentId: '1000001703', relationType: 4034, objectInfo: { tagId: '1000001703', tagName: '思念', resourceType: '2034' }, relationSort: 13 }, { contentId: '1000587667', relationType: 4034, objectInfo: { tagId: '1000587667', tagName: '期待', resourceType: '2034' }, relationSort: 12 }, { contentId: '1000001700', relationType: 4034, objectInfo: { tagId: '1000001700', tagName: '励志', resourceType: '2034' }, relationSort: 11 }, { contentId: '1000001694', relationType: 4034, objectInfo: { tagId: '1000001694', tagName: '欢快', resourceType: '2034' }, relationSort: 10 }, { contentId: '1002600588', relationType: 4034, objectInfo: { tagId: '1002600588', tagName: '叛逆', resourceType: '2034' }, relationSort: 9 }, { contentId: '1002600585', relationType: 4034, objectInfo: { tagId: '1002600585', tagName: '宣泄', resourceType: '2034' }, relationSort: 8 }, { contentId: '1000001696', relationType: 4034, objectInfo: { tagId: '1000001696', tagName: '怀旧', resourceType: '2034' }, relationSort: 7 }, { contentId: '1000587679', relationType: 4034, objectInfo: { tagId: '1000587679', tagName: '减压', resourceType: '2034' }, relationSort: 6 }, { contentId: '1000001699', relationType: 4034, objectInfo: { tagId: '1000001699', tagName: '寂寞', resourceType: '2034' }, relationSort: 5 }, { contentId: '1002600579', relationType: 4034, objectInfo: { tagId: '1002600579', tagName: '忧郁', resourceType: '2034' }, relationSort: 4 }, { contentId: '1000001795', relationType: 4034, objectInfo: { tagId: '1000001795', tagName: '伤感', resourceType: '2034' }, relationSort: 3 }], dataVersion: '1620410266187', customizedPicUrls: [] }, relationSort: 2 }, { contentId: '18464638', relationType: 2011, objectInfo: { columnTitle: '场景', columnId: '18464638', columnPid: '15244430', opNumItem: { playNum: 0, playNumDesc: '0', keepNum: 0, keepNumDesc: '0', commentNum: 0, commentNumDesc: '0', shareNum: 0, shareNumDesc: '0', orderNumByWeek: 0, orderNumByWeekDesc: '0', orderNumByTotal: 0, orderNumByTotalDesc: '0', thumbNum: 0, thumbNumDesc: '0', followNum: 0, followNumDesc: '0', subscribeNum: 0, subscribeNumDesc: '0', livePlayNum: 0, livePlayNumDesc: '0', popularNum: 0, popularNumDesc: '0', bookingNum: 0, bookingNumDesc: '0' }, contentsCount: 13, columnStatus: 1, columnCreateTime: '2017-02-20 16:02:59.711', columntype: 2011, contents: [{ contentId: '1000587689', relationType: 4034, objectInfo: { tagId: '1000587689', tagName: '清晨', resourceType: '2034' }, relationSort: 21 }, { contentId: '1000587690', relationType: 4034, objectInfo: { tagId: '1000587690', tagName: '夜晚', resourceType: '2034' }, relationSort: 20 }, { contentId: '1000587688', relationType: 4034, objectInfo: { tagId: '1000587688', tagName: '睡前安眠', resourceType: '2034' }, relationSort: 19 }, { contentId: '1003449726', relationType: 4034, objectInfo: { tagId: '1003449726', tagName: '读书', resourceType: '2034' }, relationSort: 18 }, { contentId: '1003449723', relationType: 4034, objectInfo: { tagId: '1003449723', tagName: '下午·茶', resourceType: '2034' }, relationSort: 16 }, { contentId: '1000093923', relationType: 4034, objectInfo: { tagId: '1000093923', tagName: '驾车', resourceType: '2034' }, relationSort: 15 }, { contentId: '1003449615', relationType: 4034, objectInfo: { tagId: '1003449615', tagName: '运动', resourceType: '2034' }, relationSort: 13 }, { contentId: '1000587694', relationType: 4034, objectInfo: { tagId: '1000587694', tagName: '散步', resourceType: '2034' }, relationSort: 12 }, { contentId: '1000001749', relationType: 4034, objectInfo: { tagId: '1000001749', tagName: '旅行', resourceType: '2034' }, relationSort: 11 }, { contentId: '1000587686', relationType: 4034, objectInfo: { tagId: '1000587686', tagName: '夜店', resourceType: '2034' }, relationSort: 10 }, { contentId: '1002600606', relationType: 4034, objectInfo: { tagId: '1002600606', tagName: '派对', resourceType: '2034' }, relationSort: 9 }, { contentId: '1000001634', relationType: 4034, objectInfo: { tagId: '1000001634', tagName: '咖啡馆', resourceType: '2034' }, relationSort: 3 }, { contentId: '1000587692', relationType: 4034, objectInfo: { tagId: '1000587692', tagName: '瑜伽', resourceType: '2034' }, relationSort: 1 }], dataVersion: '1620846028994', customizedPicUrls: [] }, relationSort: 1 }], dataVersion: '1620846028941', customizedPicUrls: [] } } @@ -61,16 +61,6 @@ export default { // version: '6.8.5', }, - /** - * 格式化播放数量 - * @param {*} num - */ - formatPlayCount(num) { - if (num > 100000000) return parseInt(num / 10000000) / 10 + '亿' - if (num > 10000) return parseInt(num / 1000) / 10 + '万' - return num - }, - getListDetailList(id, page, tryNum = 0) { if (tryNum > 2) return Promise.reject(new Error('try max num')) // https://h5.nf.migu.cn/app/v4/p/share/playlist/index.html?id=184187437&channel=0146921 @@ -110,7 +100,7 @@ export default { img: body.data.imgItem.img, desc: body.data.summary, author: body.data.ownerName, - play_count: this.formatPlayCount(body.data.opNumItem.playNum), + playCountInfo: formatPlayCount(body.data.opNumItem.playNum), } return cachedDetailInfo }) @@ -180,7 +170,7 @@ export default { // return list.map(item => { // let info = item.match(this.regExps.listInfo) // return { - // play_count: info[4], + // playCountInfo: info[4], // id: info[2], // author: '', // name: info[3], @@ -219,7 +209,7 @@ export default { filterList(rawData) { // console.log(rawData) return rawData.map(item => ({ - play_count: this.formatPlayCount(item.playCount), + playCountInfo: formatPlayCount(item.playCount), id: item.playListId, author: item.createName, name: item.playListName, @@ -310,7 +300,7 @@ export default { return { list: body.songListResultData.result.map(item => { return { - play_count: this.formatPlayCount(item.playcount), + playCountInfo: formatPlayCount(item.playcount), id: item.id, // author: item.createName, name: item.name, diff --git a/src/renderer/utils/musicSdk/tx/songList.js b/src/renderer/utils/musicSdk/tx/songList.js index 0f539514..475b905b 100644 --- a/src/renderer/utils/musicSdk/tx/songList.js +++ b/src/renderer/utils/musicSdk/tx/songList.js @@ -1,5 +1,5 @@ import { httpFetch } from '../../request' -import { decodeName, formatPlayTime, sizeFormate, dateFormat } from '../../index' +import { decodeName, formatPlayTime, sizeFormate, dateFormat, formatPlayCount } from '../../index' import { formatSingerName } from '../utils' export default { @@ -126,20 +126,10 @@ export default { }) }, - - /** - * 格式化播放数量 - * @param {*} num - */ - formatPlayCount(num) { - if (num > 100000000) return parseInt(num / 10000000) / 10 + '亿' - if (num > 10000) return parseInt(num / 1000) / 10 + '万' - return num - }, filterList(data, page) { return { list: data.v_playlist.map(item => ({ - play_count: this.formatPlayCount(item.access_num), + playCountInfo: formatPlayCount(item.access_num), id: item.tid, author: item.creator_info.nick, name: item.title, @@ -160,7 +150,7 @@ export default { // console.log(content.v_item) return { list: content.v_item.map(({ basic }) => ({ - play_count: this.formatPlayCount(basic.play_cnt), + playCountInfo: formatPlayCount(basic.play_cnt), id: basic.tid, author: basic.creator.nick, name: basic.title, @@ -229,7 +219,7 @@ export default { img: cdlist.logo, desc: decodeName(cdlist.desc).replace(/
/g, '\n'), author: cdlist.nickname, - play_count: this.formatPlayCount(cdlist.visitnum), + playCountInfo: formatPlayCount(cdlist.visitnum), }, } }, @@ -313,7 +303,7 @@ export default { return { list: body.data.list.map(item => { return { - play_count: this.formatPlayCount(item.listennum), + playCountInfo: formatPlayCount(item.listennum), id: item.dissid, author: item.creator.name, name: item.dissname, diff --git a/src/renderer/utils/musicSdk/wy/songList.js b/src/renderer/utils/musicSdk/wy/songList.js index 141f32a0..141f0b7f 100644 --- a/src/renderer/utils/musicSdk/wy/songList.js +++ b/src/renderer/utils/musicSdk/wy/songList.js @@ -5,7 +5,7 @@ import { weapi, linuxapi } from './utils/crypto' import { httpFetch } from '../../request' -import { formatPlayTime, sizeFormate, dateFormat } from '../../index' +import { formatPlayTime, sizeFormate, dateFormat, formatPlayCount } from '../../index' import musicDetailApi from './musicDetail' import { eapiRequest } from './utils/index' import { formatSingerName } from '../utils' @@ -32,15 +32,6 @@ export default { listDetailLink: /^.+(?:\?|&)id=(\d+)(?:&.*$|#.*$|$)/, listDetailLink2: /^.+\/playlist\/(\d+)\/\d+\/.+$/, }, - /** - * 格式化播放数量 - * @param {*} num - */ - formatPlayCount(num) { - if (num > 100000000) return parseInt(num / 10000000) / 10 + '亿' - if (num > 10000) return parseInt(num / 1000) / 10 + '万' - return num - }, async handleParseId(link, retryNum = 0) { if (retryNum > 2) throw new Error('link try max num') @@ -124,7 +115,7 @@ export default { total: body.playlist.trackIds.length, source: 'wy', info: { - play_count: this.formatPlayCount(body.playlist.playCount), + playCountInfo: formatPlayCount(body.playlist.playCount), name: body.playlist.name, img: body.playlist.coverImgUrl, desc: body.playlist.description, @@ -240,7 +231,7 @@ export default { filterList(rawData) { // console.log(rawData) return rawData.map(item => ({ - play_count: this.formatPlayCount(item.playCount), + playCountInfo: formatPlayCount(item.playCount), id: item.id, author: item.creator.nickname, name: item.name, diff --git a/src/renderer/views/songList/List/components/SongList.vue b/src/renderer/views/songList/List/components/SongList.vue index b2b826aa..265e8ca3 100644 --- a/src/renderer/views/songList/List/components/SongList.vue +++ b/src/renderer/views/songList/List/components/SongList.vue @@ -13,7 +13,7 @@

{{ item.time }}

{{ item.total }} - {{ item.play_count }} + {{ $t(item.playCountInfo.language, { num: item.playCountInfo.count }) }} {{ item.source }}