vue2.x 通过后端接口代理,获取qq音乐api的数据示例


Posted in Javascript onOctober 30, 2019

前言: 部分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的数据示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
基于Javascript实现倒计时功能
Feb 22 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
Javascript的this用法
Jan 16 Javascript
jQuery图片轮播功能实例代码
Jan 29 Javascript
bootstrap table 数据表格行内修改的实现代码
Feb 13 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
vue获取DOM元素并设置属性的两种实现方法
Sep 30 Javascript
vue中mint-ui的使用方法
Apr 04 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
Nov 09 Javascript
基于vue和websocket的多人在线聊天室
Feb 01 Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 #Javascript
基于JavaScript实现单例模式
Oct 30 #Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 #Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 #Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 #Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 #Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 #Javascript
You might like
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
javascript倒计时功能实现代码
2012/06/07 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
Python入门篇之字符串
2014/10/17 Python
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python re.match()用法相关示例
2021/01/27 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
女大学生自我鉴定
2013/12/09 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers