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 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
Prototype Number对象 学习
Jul 19 Javascript
也说JavaScript中String类的replace函数
Sep 22 Javascript
jQuery实现首页图片淡入淡出效果的方法
Jun 10 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
Aug 28 Javascript
self.attachevent is not a function的解决方法
Apr 04 Javascript
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
JavaScript判断输入是否为数字类型的方法总结
Sep 28 Javascript
微信小程序实现导航栏选项卡效果
Jun 19 Javascript
在iFrame子页面里实现模态框的方法
Aug 17 Javascript
koa-passport实现本地验证的方法示例
Feb 20 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
Aug 03 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解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
jquery写出PC端轮播图实例
2018/01/26 jQuery
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
Python编程中对文件和存储器的读写示例
2016/01/25 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
详解Python 正则表达式模块
2018/11/05 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
公司门卫岗位职责范本
2014/07/08 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
教师个人年度总结
2015/02/11 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
涨价通知怎么写
2015/04/23 职场文书
天鹅湖观后感
2015/06/09 职场文书
三八妇女节致辞
2015/07/31 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Python基本知识点总结
2022/04/07 Python
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL