This commit is contained in:
Folltoshe 2023-04-03 23:23:17 +08:00
parent e3e4cf8026
commit 7452051293

View File

@ -1,5 +1,4 @@
// import '../../polyfill/array.find' // import '../../polyfill/array.find'
import { httpFetch } from '../../request' import { httpFetch } from '../../request'
import { sizeFormate, formatPlayTime } from '../../index' import { sizeFormate, formatPlayTime } from '../../index'
import { encode } from './util' import { encode } from './util'
@ -14,7 +13,7 @@ export default {
musicSearch(str, page, limit) { musicSearch(str, page, limit) {
const timestamp = Date.now() const timestamp = Date.now()
const encodeData = encode(str, timestamp) const encodeData = encode(str, timestamp)
const searchRequest = httpFetch(`https://jadeite.migu.cn/music_search/v3/search/searchAll?pageNo=${page}&pageSize=${limit}&sort=0&text=${str}&searchSwitch={"song":1,"album":0,"singer":0,"tagSong":0,"mvSong":0,"bestShow":0,"songlist":0,"lyricSong":0}&isCopyright=1&isCorrect=1`, { const searchRequest = httpFetch(`https://jadeite.migu.cn/music_search/v3/search/searchAll?pageNo=${page}&pageSize=${limit}&sort=0&text=${encodeURI(str)}&searchSwitch={"song":1}&isCopyright=1&isCorrect=1`, {
headers: { headers: {
// sign: 'c3b7ae985e2206e97f1b2de8f88691e2', // sign: 'c3b7ae985e2206e97f1b2de8f88691e2',
// timestamp: 1578225871982, // timestamp: 1578225871982,
@ -48,64 +47,65 @@ export default {
let ids = new Set() let ids = new Set()
const list = [] const list = []
rawData.forEach(item => { rawData.forEach(item => {
let data = item[0] item.forEach(data => {
if (ids.has(data.id)) return if (ids.has(data.id)) return
ids.add(data.id) ids.add(data.id)
const types = [] const types = []
const _types = {} const _types = {}
data.audioFormats && data.audioFormats.forEach(type => { data.audioFormats && data.audioFormats.forEach(type => {
let size let size
switch (type.formatType) { switch (type.formatType) {
case 'PQ': case 'PQ':
size = sizeFormate(type.asize ?? type.isize) size = sizeFormate(type.asize ?? type.isize)
types.push({ type: '128k', size }) types.push({ type: '128k', size })
_types['128k'] = { _types['128k'] = {
size, size,
} }
break break
case 'HQ': case 'HQ':
size = sizeFormate(type.asize ?? type.isize) size = sizeFormate(type.asize ?? type.isize)
types.push({ type: '320k', size }) types.push({ type: '320k', size })
_types['320k'] = { _types['320k'] = {
size, size,
} }
break break
case 'SQ': case 'SQ':
size = sizeFormate(type.asize ?? type.isize) size = sizeFormate(type.asize ?? type.isize)
types.push({ type: 'flac', size }) types.push({ type: 'flac', size })
_types.flac = { _types.flac = {
size, size,
} }
break break
case 'ZQ': case 'ZQ':
size = sizeFormate(type.asize ?? type.isize) size = sizeFormate(type.asize ?? type.isize)
types.push({ type: 'flac24bit', size }) types.push({ type: 'flac24bit', size })
_types.flac24bit = { _types.flac24bit = {
size, size,
} }
break break
} }
}) })
list.push({ list.push({
singer: this.getSinger(data.singerList), singer: this.getSinger(data.singerList),
name: data.name, name: data.name,
albumName: data.album, albumName: data.album,
albumId: data.albumId, albumId: data.albumId,
songmid: data.copyrightId, songmid: data.copyrightId,
songId: data.songId, songId: data.songId,
copyrightId: data.copyrightId, copyrightId: data.copyrightId,
source: 'mg', source: 'mg',
interval: formatPlayTime(data.duration), interval: formatPlayTime(data.duration),
img: data.img3, img: data.img3,
lrc: null, lrc: null,
lrcUrl: data.lyricUrl, lrcUrl: data.lrcUrl,
mrcUrl: data.mrcurl, mrcUrl: data.mrcurl,
trcUrl: data.trcUrl, trcUrl: data.trcUrl,
otherSource: null, otherSource: null,
types, types,
_types, _types,
typeUrl: {}, typeUrl: {},
})
}) })
}) })
return list return list