前言: 部分qq音乐的api接口不能直接通过jsonp访问,需要通过官方的代理才能获取,如:歌词,推荐歌单等
1. webpack.dev.conf.js中创建接口:
// 开头调用: var express = require('express') var axios = require('axios') var app = express() var apiRoutes = express.Router() app.use('/api', apiRoutes) // devServer的最后添加: before(app) { app.get('/api/getDiscList', function (req, res) { var url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg' // 原api axios.get(url, { headers: { referer: 'https://c.y.qq.com/', host: 'c.y.qq.com' }, params: req.query }).then((response) => { res.json(response.data) }).catch((e) => { console.log(e) }) }) }
2. api的js文件中,将url换成步骤1中自定义的接口,通过axios获取返回数据
import jsonp from 'common/js/jsonp' import {commonParams, options} from './config' import axios from 'axios' export function getDiscList() { const url = '/api/getDiscList' const data = Object.assign({}, commonParams, { platform: 'yqq', // 加引号 hostUin: 0, sin: 0, ein: 29, sortId: 5, needNewCode: 0, categoryId: 10000000, rnd: Math.random(), format: 'json' }) return axios.get(url, { params: data }).then((res) => { return Promise.resolve(res.data) }) }
3. 组件中通过api的js文件中的方法获取数据
import {getDiscList} from 'api/recommend' _getDiscList() { getDiscList().then((res) => { if (res.code === ERR_OK) { console.log('推荐:', res) this.discList = res.data.list } else { console.log('没,没有推荐') } }) }
以上这篇vue2.x 通过后端接口代理,获取qq音乐api的数据示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
压力最大的一集,面了一个半小时,写了四道题,以为挂了,过了一会看状态直接复试了 说说你对于链表这种数据结构的理解 react fiber中是怎么实现的 链表和数组的区别,优势是什么 深浅拷贝、堆栈,js数据类型,如何实现深浅拷贝 手写深拷贝 字符串为什么能调用某些方法,原理是什么(这里扯到了字符对象和原型链) 一道输出题(考查作用域) 手写事件冒泡和事件捕获阶段的一个点击事件弹窗 事件捕获和事件冒
本文向大家介绍vue使用jsonp抓取qq音乐数据的方法,包括了vue使用jsonp抓取qq音乐数据的方法的使用技巧和注意事项,需要的朋友参考一下 1、安装jsonp npm install jsonp 2、创建jsonp.js文件,内容如下: 3、创建confiig.js文件,内容如下: 3、创建recommend.js文件,内容如下: 4、在组件中使用,如musicHall.vue中 5、总结
本文向大家介绍vue + webpack如何绕过QQ音乐接口对host的验证详解,包括了vue + webpack如何绕过QQ音乐接口对host的验证详解的使用技巧和注意事项,需要的朋友参考一下 前言 最近在使用vue2.5+webpack3.6撸一个移动端音乐项目, 获取全部歌单json数据时遇到了接口对host和referer的限制 ,故不能直接在前端使用jsonp对接口数据的读取。 一、
本文向大家介绍Vue2.X 通过AJAX动态更新数据,包括了Vue2.X 通过AJAX动态更新数据的使用技巧和注意事项,需要的朋友参考一下 最近在做一个跟美团同样一套预约系统,由于一个商家会有很多主题,而每个主题下面会有很多场次。 那怎么在一个页面把这些数据很好的动态展示出来呢?我首先想到了VUE的动态绑定数据。 由于第一次使用VUE,很多东西不懂,只能靠百度。服务器端返回的数据直接是JSON数据
拷打项目 图片懒加载实现 ES6了解吗 promise(作用,API) ESm和cjs区别(ESM导出的变量是常量,cjs是变量) webpack和vite(只会用vite) https和http区别(TSL握手流程?) 浏览器弹出安全警告原因?(网站使用了HTTP而不是HTTPS,或者证书过期) 跨域是什么,怎么解决 XSS和CSRF攻击和防御 算法:快排#软件开发笔面经#