2019.11最新歌手详情页开发

编程入门 行业动态 更新时间:2024-10-25 18:23:03

2019.11最新歌手<a href=https://www.elefans.com/category/jswz/34/1763378.html style=详情页开发"/>

2019.11最新歌手详情页开发

  qq音乐现在获取歌手详情页数据,变得麻烦了许多,之前主需要jsonp就可以获取到数据,但是现在不仅要用后端代理,而且获取每个歌手都对应了一个单独的singer_mid,这意味着点击不同的歌手需要传入对应的singer_mid,从而获取到不同歌手对应的歌单。

歌手详情数据抓取


  在webpack.dev.conf.js文件中进行后端代理,node后端服务器去请求qq服务器的数据,把数据获取到本地之后,前台在进行axios请求,最终得到数据。

webpack.dev.conf.js:

      // 歌手详情//这里的路径是给前端发送请求的urlapp.get('/api/getSingerDetail', function (req, res) {let url = '.fcg'// axios发送get请求,可以自己配置configaxios.get(url, {headers: {Referer: '/',host: 'u.y.qq'},//  params是即将与请求一起发送的url参数,无格式对象/URLSearchParams对象params: req.query,}).then((response) => {res.json(response.data)//返回数据}).catch((error) => {console.log(error)})})

在singer.js中:


// 歌手详情
export function getSingerDetail (singerMid) {const url = '/api/getSingerDetail'const data = Object.assign({}, commonParams, {g_tk: 499021157,loginUin: 0,hostUin: 0,format: 'json',platform: 'yqq.json',needNewCode: 0,data: {'comm': {'ct': 24, 'cv': 0}, 'singerSongList': {'method': 'GetSingerSongList', 'param': {'order': 1, 'singerMid': `${singerMid}`, 'begin': 0, 'num': 10}, 'module': 'musichall.song_list_server'}}})return axios.get(url, {params: data}).then((res) => {return Promise.resolve(res.data)}).catch((error) => {console.log(error)})
}

其中这里至关重要,要使用模板字符串动态引入

每个歌手对应不同的singerMid ,这是从qq返回的json数据中知道的

完成

这样点击不同的歌手,就得到了相应的歌单

更多推荐

2019.11最新歌手详情页开发

本文发布于:2024-02-26 11:47:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702360.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:详情页   歌手   最新

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!