Closed AndaBrown closed 1 year ago
这个目前无法解决,因为qq音乐不对境外提供服务,你可以将该 api 部署到 国内服务器 上,就可以了
这个 api 目前境外解析qq音乐歌单用的是 jsonp 方式,并且采用了修改后的 MetingJs,但是由于目前 MetingJs 不支持 Vue,所以暂时无法实现
当然可以解决 src/components/Player/index.vue
// 初始化播放器
onMounted(() => {
nextTick(() => {
getPlayerList(props.songServer, props.songType, props.songId)
.then((res) => new Promise(resolve => {
if (res[0].url.startsWith('@')) {
const [handle, jsonpCallback, jsonpCallbackFunction, url] = res[0].url.split('@').slice(1)
fetchJsonp(url)
.then(result => result.json())
.then(result => {
const domain =
result.req_0.data.sip.find(i => !i.startsWith('http://ws')) ||
result.req_0.data.sip[0]
let _map = {}
res.map(item => _map[item.songmid] = item)
result.req_0.data.midurlinfo.map(info => {
let purl = info.purl
_map[info.songmid].url = (domain + purl).replace('http://', 'https://')
})
res = res.map(item => _map[item.songmid])
resolve(res)
})
} else resolve(res)
})).then(res => {
// 生成歌单信息
playIndex.value = Math.floor(Math.random() * res.length);
...
另外您 https://api-meting.imsyy.top/api 这个api似乎是fork我的main分支,好像不支持album,search之类的吧(因为还没实现...
当然可以解决 src/components/Player/index.vue
// 初始化播放器 onMounted(() => { nextTick(() => { getPlayerList(props.songServer, props.songType, props.songId) .then((res) => new Promise(resolve => { if (res[0].url.startsWith('@')) { const [handle, jsonpCallback, jsonpCallbackFunction, url] = res[0].url.split('@').slice(1) fetchJsonp(url) .then(result => result.json()) .then(result => { const domain = result.req_0.data.sip.find(i => !i.startsWith('http://ws')) || result.req_0.data.sip[0] let _map = {} res.map(item => _map[item.songmid] = item) result.req_0.data.midurlinfo.map(info => { let purl = info.purl _map[info.songmid].url = (domain + purl).replace('http://', 'https://') }) res = res.map(item => _map[item.songmid]) resolve(res) }) } else resolve(res) })).then(res => { // 生成歌单信息 playIndex.value = Math.floor(Math.random() * res.length); ...
另外您 https://api-meting.imsyy.top/api 这个api似乎是fork我的main分支,好像不支持album,search之类的吧(因为还没实现...
感谢大佬,我去试试 😁
如题。 图一:音乐列表成功加载。 图二:音乐无法播放,报错信息截图。 根据api文档,访问 {api网址}/test 进行检验,QQ音乐歌单可以正常播放,应该不是api的问题。 希望能够尽快修复,谢谢!