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 相关文章推荐
关于图片验证码设计的思考
Jan 29 Javascript
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
Mar 12 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
node.js中的console.error方法使用说明
Dec 10 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
May 17 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
Oct 26 Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 Javascript
微信小程序wxs实现吸顶效果
Jan 08 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 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扩展图文教程
2008/12/12 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
js中的数组对象排序分析
2018/12/11 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
利用python求相邻数的方法示例
2017/08/18 Python
Python中常用的内置方法
2019/01/28 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
pytorch 常用线性函数详解
2020/01/15 Python
哪些是python中web开发框架
2020/06/17 Python
python绘制趋势图的示例
2020/09/17 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
网管求职信
2014/03/03 职场文书
高三家长寄语
2014/04/03 职场文书
暑期实践个人总结
2015/03/06 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
导游词之千岛湖
2019/09/23 职场文书
python tkinter实现定时关机
2021/04/21 Python
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers