最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用jsonp抓取qq音樂數(shù)據(jù)的方法

 更新時間:2018年06月21日 14:26:05   作者:control_T  
這篇文章主要介紹了vue使用jsonp抓取qq音樂數(shù)據(jù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

1、安裝jsonp

npm install jsonp

2、創(chuàng)建jsonp.js文件,內(nèi)容如下:

import originJSONP from 'jsonp'
/** * 封裝jsonp
 * @param {*} url 原始的jsonp第一個參數(shù)是url,第二個參數(shù)是option,這里為了比較好寫參數(shù)做了下封裝
 * @param {obj} data 參數(shù)
 * @param {*} option jsonp的option
 */
export default function jsonp (url, data, option) {
 // 如果url沒有?就加一個?拼接
 url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
 return new Promise((resolve, reject) => {
  // 原始jsonp的三個參數(shù),url、option、回調(diào)函數(shù)
  originJSONP(url, option, (err, data) => {
   // 類似node的設(shè)計,如果err是null,表示成功,data是后端返回的數(shù)據(jù)
   if (!err) {
    resolve(data)
   } else {
    reject(err)
   }
  })
 })
}
export function param (data) {
 let url = ''
 for (var k in data) {
  let value = data[k] !== undefined ? data[k] : ''
  url += '&' + k + '=' + encodeURIComponent(value)
 }
 return url ? url.substring(1) : ''
}

3、創(chuàng)建confiig.js文件,內(nèi)容如下:

// 用于存放公共數(shù)據(jù)
export const commonParams = {
 g_tk: 5381,
 format: 'json',
 inCharset: 'utf - 8',
 outCharset: 'utf - 8',
 notice: 0
}
export const options = {
 param: 'jsonpCallback'
}
export const ERR_OK = 0

3、創(chuàng)建recommend.js文件,內(nèi)容如下:

import jsonp from './jsonp'
import { commonParams, options } from './config'
export function getRecommend () {
 const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg'
 const data = Object.assign({}, commonParams, {
  platform: 'h5', uin: 0, needNewCode: 1
 })
 // 這里返回一個promise對象
 return jsonp(url, data, options)
}

4、在組件中使用,如musicHall.vue中

<script>
import {getRecommend} from '../api/recommend.js'
import {ERR_OK} from '../api/config.js'
export default {
 mounted () {
  //在created中也可
  this._getRecommend()
 },
 methods: {
  _getRecommend () {
   getRecommend().then((res) => {
    if (res.code === ERR_OK) {
     console.log(res.data.slider)
    }
   })
  }
 }
}
</script>

5、總結(jié)

  • Object.assign方法用于對象的合并,將源對象(source)的所有可枚舉屬性,復(fù)制到目標(biāo)對象(target)
  • Object.assign(target, source1, source2)
  • encodeURIComponent(URIstring)函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。 URIstring 必需。一個字符串,含有 URI 組件或其他要編碼的文本。
  • substring()方法用于提取字符串中介于兩個指定下標(biāo)之間的字符。
  • stringObject.substring(start,stop)包括 start 處的字符,但不包括 stop 處的字符。不接受負(fù)的參數(shù)。

總結(jié)

以上所述是小編給大家介紹的vue使用jsonp抓取qq音樂數(shù)據(jù)的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 從0到1構(gòu)建vueSSR項目之node以及vue-cli3的配置

    從0到1構(gòu)建vueSSR項目之node以及vue-cli3的配置

    這篇文章主要介紹了從0到1構(gòu)建vueSSR項目之node以及vue-cli3的配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Vue.js 單頁面多路由區(qū)域操作的實例詳解

    Vue.js 單頁面多路由區(qū)域操作的實例詳解

    這篇文章主要介紹了 Vue.js 單頁面多路由區(qū)域操作的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • elementUI?checkBox報錯Cannot read property 'length' of undefined解決

    elementUI?checkBox報錯Cannot read property &ap

    這篇文章主要為大家介紹了elementUI?checkBox報錯Cannot read property 'length' of undefined的解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • VSCode使用之Vue工程配置eslint

    VSCode使用之Vue工程配置eslint

    這篇文章主要介紹了VSCode使用之Vue工程配置eslint,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • 在vue3中使用import.meta.env

    在vue3中使用import.meta.env

    這篇文章主要介紹了在vue3中使用import.meta.env方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Vue使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù)

    Vue使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-02-02
  • vue3自定義指令自動獲取節(jié)點的width和height代碼示例

    vue3自定義指令自動獲取節(jié)點的width和height代碼示例

    這篇文章主要介紹了如何使用ResizeObserver監(jiān)聽組件的寬度和高度,并將其封裝成一個指令以便全局或局部使用,ResizeObserver可以監(jiān)聽元素的多個尺寸屬性,如top、bottom、left等,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • vue?data中的return使用方法示例

    vue?data中的return使用方法示例

    當(dāng)一個組件被定義,data必須聲明為返回一個初始數(shù)據(jù)對象的函數(shù),因為組件可能被用來創(chuàng)建多個實例,下面這篇文章主要給大家介紹了關(guān)于vue?data中return使用,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 在Vuex中Mutations修改狀態(tài)操作

    在Vuex中Mutations修改狀態(tài)操作

    這篇文章主要介紹了在Vuex中Mutations修改狀態(tài)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue?v-for中key的原理詳析

    vue?v-for中key的原理詳析

    key屬性可以用來提升v-for渲染的效率,vue中使用v-for渲染數(shù)據(jù)的時候,并不會去改變原有的元素和數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于vue?v-for中key原理的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評論

会理县| 大名县| 治多县| 博爱县| 巩留县| 建始县| 新宁县| 镇坪县| 巨野县| 漯河市| 文山县| 内江市| 巫山县| 乌鲁木齐市| 襄樊市| 武威市| 阜康市| 望奎县| 砀山县| 开江县| 周至县| 阿拉善盟| 万州区| 克什克腾旗| 兴文县| 扬中市| 桃江县| 五指山市| 青神县| 汝阳县| 湘阴县| 通道| 化德县| 青龙| 镇原县| 吉隆县| 大英县| 芷江| 包头市| 两当县| 兴安盟|