批量获取歌曲

该文章描述了一个处理歌曲数据的过程,通过发送GET请求获取song.map中的midurl,然后应用vkey加密策略进行数据过滤,筛选出包含vkey的播放链接。这个逻辑被用于singer-detail组件中,以获取和处理歌手的歌曲详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果有数据 发送get请求
song.map((song))映射拿到mid
url会变化
vkey加密策略 增加过滤(筛选播放

import { get } from "./base"

export function processSongs(songs) {
    if (!songs.length) {
        return Promise.resolve(songs)
    }

    return get('/api/getSongsUrl', {
        mid: songs.map((song) => {
            return song.mid
        })
    }).then((result) => {
        const map = result.map
        return songs.map((song) => {
            song.url = map[song.mid]
            return song
        }).filter((song) => {
            return song.url.indexOf('vkey') > -1
        })
    })
}

singer-detail增加逻辑

import { getSingerDetail } from '@/service/singer'
    import { processSongs } from '@/service/song';
  
    export default {
      name: 'singer-detail',
      props: {
        singer: Object
      },
      async created() {
        const result = await getSingerDetail(this.singer)
        const songs = await processSongs(result.songs)
      }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值