diff --git a/src/renderer/utils/music/kw/musicSearch.js b/src/renderer/utils/music/kw/musicSearch.js index 5021834e..d38f487e 100644 --- a/src/renderer/utils/music/kw/musicSearch.js +++ b/src/renderer/utils/music/kw/musicSearch.js @@ -126,8 +126,8 @@ export default { if (limit != null) this.limit = limit // http://newlyric.kuwo.cn/newlyric.lrc?62355680 return this.musicSearch(str, page).then(result => { + // console.log(result) if (!result || (result.TOTAL !== '0' && result.SHOW === '0')) return this.search(str, page, { limit }, ++retryNum) - console.log(result) let list = this.handleResult(result.abslist) if (list == null) return this.search(str, page, { limit }) diff --git a/src/renderer/utils/music/mg/musicSearch.js b/src/renderer/utils/music/mg/musicSearch.js index 24f4d629..98760d9e 100644 --- a/src/renderer/utils/music/mg/musicSearch.js +++ b/src/renderer/utils/music/mg/musicSearch.js @@ -1,7 +1,7 @@ // import '../../polyfill/array.find' // import jshtmlencode from 'js-htmlencode' import { httpFetch } from '../../request' -// import { sizeFormate } from '../../index' +import { sizeFormate } from '../../index' // import { debug } from '../../utils/env' // import { formatSinger } from './util' @@ -13,7 +13,18 @@ export default { allPage: 1, musicSearch(str, page) { if (searchRequest && searchRequest.cancelHttp) searchRequest.cancelHttp() - searchRequest = httpFetch(`http://m.music.migu.cn/migu/remoting/scr_search_tag?rows=${this.limit}&type=2&keyword=${encodeURIComponent(str)}&pgc=${page}`) + searchRequest = httpFetch(`http://jadeite.migu.cn:7090/music_search/v2/search/searchAll?sid=4f87090d01c84984a11976b828e2b02c18946be88a6b4c47bcdc92fbd40762db&isCorrect=1&isCopyright=1&searchSwitch=%7B%22song%22%3A1%2C%22album%22%3A0%2C%22singer%22%3A0%2C%22tagSong%22%3A1%2C%22mvSong%22%3A0%2C%22bestShow%22%3A1%2C%22songlist%22%3A0%2C%22lyricSong%22%3A0%7D&pageSize=${this.limit}&text=${encodeURIComponent(str)}&pageNo=${page}&sort=0`, { + headers: { + sign: 'c3b7ae985e2206e97f1b2de8f88691e2', + timestamp: 1578225871982, + appId: 'yyapp2', + mode: 'android', + ua: 'Android_migu', + version: '6.9.4', + osVersion: 'android 7.0', + 'User-Agent': 'okhttp/3.9.1', + }, + }) // searchRequest = httpFetch(`https://app.c.nf.migu.cn/MIGUM2.0/v1.0/content/search_all.do?isCopyright=1&isCorrect=1&pageNo=${page}&pageSize=${this.limit}&searchSwitch={%22song%22:1,%22album%22:0,%22singer%22:0,%22tagSong%22:0,%22mvSong%22:0,%22songlist%22:0,%22bestShow%22:0}&sort=0&text=${encodeURIComponent(str)}`) return searchRequest.promise.then(({ body }) => body) }, @@ -33,80 +44,54 @@ export default { ids.add(item.id) const types = [] const _types = {} - types.push({ type: '128k' }) - _types['128k'] = {} - if (item.hasHQqq) { - types.push({ type: '320k' }) - _types['320k'] = {} - } - if (item.hasSQqq) { - types.push({ type: 'flac' }) - _types.flac = {} - } - // item.rateFormats && item.rateFormats.forEach(type => { - // let size - // switch (type.formatType) { - // case 'PQ': - // size = sizeFormate(type.size) - // types.push({ type: '128k', size }) - // _types['128k'] = { - // size, - // } - // break - // case 'HQ': - // size = sizeFormate(type.size) - // types.push({ type: '320k', size }) - // _types['320k'] = { - // size, - // } - // break - // case 'SQ': - // size = sizeFormate(type.size) - // types.push({ type: 'flac', size }) - // _types.flac = { - // size, - // } - // break - // } - // }) + item.rateFormats && item.rateFormats.forEach(type => { + let size + switch (type.formatType) { + case 'PQ': + size = sizeFormate(type.size) + types.push({ type: '128k', size }) + _types['128k'] = { + size, + } + break + case 'HQ': + size = sizeFormate(type.size) + types.push({ type: '320k', size }) + _types['320k'] = { + size, + } + break + case 'SQ': + size = sizeFormate(type.size) + types.push({ type: 'flac', size }) + _types.flac = { + size, + } + break + } + }) + + const albumNInfo = item.albums && item.albums.length ? { + id: item.albums[0].id, + name: item.albums[0].name, + } : {} list.push({ - singer: item.singerName.replace(', ', '、'), - name: item.songName, - albumName: item.albumName, - albumId: item.albumId, - songmid: item.copyrightId, + singer: this.getSinger(item.singers), + name: item.name, + albumName: albumNInfo.name, + albumId: albumNInfo.id, + songmid: item.id, copyrightId: item.copyrightId, source: 'mg', interval: null, - img: item.cover, + img: item.imgItems && item.imgItems.length ? item.imgItems[0].img : null, lrc: null, - // lrcUrl: item.lyrics, + lrcUrl: item.lyricUrl, types, _types, typeUrl: {}, }) - // const albumNInfo = item.albums && item.albums.length ? { - // id: item.albums[0].id, - // name: item.albums[0].name, - // } : {} - - // list.push({ - // singer: this.getSinger(item.singers), - // name: item.name, - // albumName: albumNInfo.name, - // albumId: albumNInfo.id, - // songmid: item.id, - // copyrightId: item.copyrightId, - // source: 'mg', - // interval: null, - // img: item.imgItems && item.imgItems.length ? item.imgItems[0].img : null, - // lrc: null, - // lrcUrl: item.lyricUrl, - // types, - // _types, - // typeUrl: {}, - // }) }) return list }, @@ -116,12 +101,12 @@ export default { // http://newlyric.kuwo.cn/newlyric.lrc?62355680 return this.musicSearch(str, page).then(result => { // console.log(result) - if (!result || result.success !== true) return Promise.reject(new Error(result ? result.info : '搜索失败')) - let list = result.musics ? this.handleResult(result.musics) : [] + if (!result || result.code !== '000000') return Promise.reject(new Error(result ? result.info : '搜索失败')) + let list = this.handleResult(result.songResultData.resultList.flat()) if (list == null) return this.search(str, page, { limit }, retryNum) - this.total = parseInt(result.pgt) + this.total = parseInt(result.songResultData.totalCount) this.page = page this.allPage = Math.ceil(this.total / this.limit) @@ -132,22 +117,6 @@ export default { total: this.total, source: 'mg', }) - // if (!result || result.code !== '000000') return Promise.reject(new Error(result ? result.info : '搜索失败')) - // let list = this.handleResult(result.songResultData.resultList.flat()) - - // if (list == null) return this.search(str, page, { limit }) - - // this.total = parseInt(result.songResultData.totalCount) - // this.page = page - // this.allPage = Math.ceil(this.total / this.limit) - - // return Promise.resolve({ - // list, - // allPage: this.allPage, - // limit: this.limit, - // total: this.total, - // source: 'mg', - // }) }) }, }