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取值中form.all和不加all的区别介绍
Jan 20 Javascript
手机号码,密码正则验证
Sep 04 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
js中substring和substr两者区别和使用方法
Nov 09 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
Aug 29 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
Jul 22 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 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 fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
javascript中的self和this用法小结
2014/02/08 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
对python中UDP,socket的使用详解
2019/08/22 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
韩语专业本科生求职信
2013/10/01 职场文书
人力资源部培训专员岗位职责
2014/01/02 职场文书
安全生产检讨书
2014/01/21 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
《比的意义》教学反思
2016/02/18 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
CSS中calc(100%-100px)不加空格不生效
2023/05/07 HTML / CSS