From 4b9a0d9504ed95653b7870693fa29de8f41dfcb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E7=8B=B8=E8=8A=B1=E5=96=B5?= <94218819+helloplhm-qwq@users.noreply.github.com> Date: Sun, 5 Mar 2023 15:21:09 +0800 Subject: [PATCH] =?UTF-8?q?kg=E6=BA=90=E8=AF=84=E8=AE=BA=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=8C=E7=83=AD=E9=97=A8=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/utils/musicSdk/kg/musicSearch.js | 64 +++++++++++-------- 1 file changed, 37 insertions(+), 27 deletions(-) diff --git a/src/renderer/utils/musicSdk/kg/musicSearch.js b/src/renderer/utils/musicSdk/kg/musicSearch.js index 60944dd4..4152d3a4 100644 --- a/src/renderer/utils/musicSdk/kg/musicSearch.js +++ b/src/renderer/utils/musicSdk/kg/musicSearch.js @@ -11,65 +11,74 @@ export default { page: 0, allPage: 1, musicSearch(str, page, limit) { - const searchRequest = httpFetch(`http://ioscdn.kugou.com/api/v3/search/song?keyword=${encodeURIComponent(str)}&page=${page}&pagesize=${limit}&showtype=10&plat=2&version=7910&tag=1&correct=1&privilege=1&sver=5`) + const searchRequest = httpFetch(`https://songsearch.kugou.com/song_search_v2?keyword=${encodeURIComponent(str)}&page=${page}&pagesize=${limit}&userid=0&clientver=&platform=WebFilter&filter=2&iscorrection=1&privilege_filter=0`) return searchRequest.promise.then(({ body }) => body) }, filterData(rawData) { + console.log(rawData) const types = [] const _types = {} - if (rawData.filesize !== 0) { - let size = sizeFormate(rawData.filesize) - types.push({ type: '128k', size, hash: rawData.hash }) + if (rawData.FileSize !== 0) { + let size = sizeFormate(rawData.FileSize) + types.push({ type: '128k', size, hash: rawData.FileHash }) _types['128k'] = { size, - hash: rawData.hash, + hash: rawData.FileHash, } } - if (rawData['320filesize'] !== 0) { - let size = sizeFormate(rawData['320filesize']) - types.push({ type: '320k', size, hash: rawData['320hash'] }) + if (rawData.HQFileSize !== 0) { + let size = sizeFormate(rawData.HQFileSize) + types.push({ type: '320k', size, hash: rawData.HQFileHash }) _types['320k'] = { size, - hash: rawData['320hash'], + hash: rawData.HQFileHash, } } - if (rawData.sqfilesize !== 0) { - let size = sizeFormate(rawData.sqfilesize) - types.push({ type: 'flac', size, hash: rawData.sqhash }) + if (rawData.SQFileSize !== 0) { + let size = sizeFormate(rawData.SQFileSize) + types.push({ type: 'flac', size, hash: rawData.SQFileHash }) _types.flac = { size, - hash: rawData.sqhash, + hash: rawData.SQFileHash, + } + } + if (rawData.ResFileSize !== 0) { + let size = sizeFormate(rawData.ResFileSize) + types.push({ type: 'flac24bit', size, hash: rawData.ResFileHash }) + _types.flac24bit = { + size, + hash: rawData.ResFileHash, } } return { - singer: decodeName(rawData.singername), - name: decodeName(rawData.songname), - albumName: decodeName(rawData.album_name), - albumId: rawData.album_id, - songmid: rawData.audio_id, + singer: decodeName(rawData.SingerName), + name: decodeName(rawData.SongName), + albumName: decodeName(rawData.AlbumName), + albumId: rawData.Albumid, + songmid: rawData.Audioid, source: 'kg', - interval: formatPlayTime(rawData.duration), - _interval: rawData.duration, + interval: formatPlayTime(rawData.Duration), + _interval: rawData.Duration, img: null, lrc: null, otherSource: null, - hash: rawData.hash, + hash: rawData.FileHash, types, _types, typeUrl: {}, } }, handleResult(rawData) { - // console.log(rawData) + console.log(rawData) let ids = new Set() const list = [] rawData.forEach(item => { - const key = item.audio_id + item.hash + const key = item.Audioid + item.FileHash if (ids.has(key)) return ids.add(key) list.push(this.filterData(item)) - for (const childItem of item.group) { - const key = item.audio_id + item.hash + for (const childItem of item.Grp) { + const key = item.Audioid + item.FileHash if (ids.has(key)) continue ids.add(key) list.push(this.filterData(childItem)) @@ -82,8 +91,9 @@ export default { if (limit == null) limit = this.limit // http://newlyric.kuwo.cn/newlyric.lrc?62355680 return this.musicSearch(str, page, limit).then(result => { - if (!result || result.errcode !== 0) return this.search(str, page, limit, retryNum) - let list = this.handleResult(result.data.info) + console.log(result) + if (!result || result.error_code !== 0) return this.search(str, page, limit, retryNum) + let list = this.handleResult(result.data.lists) if (list == null) return this.search(str, page, limit, retryNum)