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

在小程序/mpvue中使用flyio發(fā)起網(wǎng)絡(luò)請求的方法

 更新時間:2018年09月13日 10:50:11   作者:lazydu  
這篇文章主要介紹了在小程序/mpvue中使用flyio發(fā)起網(wǎng)絡(luò)請求的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Fly.js 一個基于Promise的、強大的、支持多種JavaScript運行時的http請求庫. 有了它,您可以使用一份http請求代碼在瀏覽器、微信小程序、Weex、Node、React Native、快應(yīng)用中都能正常運行。同時可以方便配合主流前端框架 ,最大可能的實現(xiàn) Write Once Run Everywhere。

Flyio Github: https://github.com/wendux/fly

問題

隨著 Weex 、mpvue 的發(fā)布,他們都是支持Vue.js語法。目前vue已經(jīng)你能夠運行在瀏覽器、小程序和Native了。盡管各個平臺仍有差異,但已經(jīng)基本能實現(xiàn) Write Once Run Everywhere 。這使得我們可以在多個端上實現(xiàn)盡可能大限度在代碼復(fù)用。但是無論是 vue 還是Weex 、mpvue,它們本質(zhì)上都只是一個View層,也就說最好的情況,也只能實現(xiàn)UI復(fù)用。但對于一個應(yīng)用程序來說,除了UI,最重要的就是數(shù)據(jù)了,而數(shù)據(jù)來源一般都是來自網(wǎng)絡(luò)請求(大多數(shù)都是http)。在使用這些框架時,您的網(wǎng)絡(luò)請求,都需要使用平臺特定的API!這很糟糕,意味著您網(wǎng)絡(luò)請求的代碼不能復(fù)用,所以盡管UI可以復(fù)用,但我們還需要去適配網(wǎng)絡(luò)請求部分的代碼。

Flyio簡介

要上述問題,就需要一個能支持多個平臺網(wǎng)絡(luò)庫,用戶層提供統(tǒng)一的API,將平臺差異在底層屏蔽。而 Fly.js就是這醬紫的一個網(wǎng)絡(luò)庫,為了方便axios使用者遷移,fly.js API設(shè)計風(fēng)格和axios相似(但不完全相同)!

Fly.js 通過在不同 JavaScript 運行時通過在底層切換不同的 Http Engine來實現(xiàn)多環(huán)境支持,但同時對用戶層提供統(tǒng)一、標(biāo)準(zhǔn)的Promise API。不僅如此,F(xiàn)ly.js還支持請求/響應(yīng)攔截器、自動轉(zhuǎn)化JSON、請求轉(zhuǎn)發(fā)等功能,詳情請參考:https://github.com/wendux/fly 。下面我們看看在微信小程序、mpvue中和中如何使用fly.

支持快應(yīng)用

快應(yīng)用是九大手機廠商基于硬件平臺共同推出的新型應(yīng)用生態(tài)。用戶無需下載安裝,即點即用,享受原生應(yīng)用的性能體驗??鞈?yīng)用采用web開發(fā)技術(shù)棧,使用JavaScript語言開發(fā),flyio官方在第一時間支持了快應(yīng)用。具體使用參照下面文檔。

標(biāo)準(zhǔn)的API

Fly在上層提供了一套標(biāo)準(zhǔn)的API,這樣,您就可以在各個JavaScript環(huán)境中,以相同的方式發(fā)起網(wǎng)絡(luò)請求,不同平臺對應(yīng)一個平臺相關(guān)的adapter,將平臺差異在底層屏蔽,使用時不同平臺只需要引入flyio npm包中相應(yīng)平臺的入口文件即可,也正是因為如此,fly在各個平臺下都可以保證輕量(沒有冗余代碼)。

同時,為了方便axios使用者遷移,fly.js API設(shè)計風(fēng)格和axios相似(但不完全相同)!

Fly.js 通過在不同 JavaScript 運行時通過在底層切換不同的 Http Engine來實現(xiàn)多環(huán)境支持,但同時對用戶層提供統(tǒng)一、標(biāo)準(zhǔn)的Promise API。不僅如此,F(xiàn)ly.js還支持請求/響應(yīng)攔截器、自動轉(zhuǎn)化JSON、請求轉(zhuǎn)發(fā)等功能,詳情請參考:

github.com/wendux/fly

已支持的平臺

目前Fly.js支持的平臺包括:Node.js 、微信小程序 、Weex、React Native 、Quick App 和瀏覽器,這些平臺的 JavaScript 運行時都是不同的。更多的平臺正在持續(xù)添加中,請保持關(guān)注。

微信小程序

微信小程序采用web開發(fā)技術(shù)棧,使用JavaScript語言開發(fā),但是JavaScript運行時和瀏覽器又有所不同,導(dǎo)致axios、jQuery等庫無法在微信小程序中使用,而flyio可以。下面給出具體使用方法

引入fly

Flyio在各個平臺下的標(biāo)準(zhǔn)API是一致的,只是入口文件不同,在微信小程序中引入:

Npm安裝:npm install flyio --save.

var Fly=require("flyio/dist/npm/wx") 
var fly=new Fly

如果您的微信小程序項目沒有使用npm來管理依賴,您可以直接下載源碼到您的小程序工程,下載鏈接wx.js wx.umd.min.js 下載任意一個,保存到本地工程目錄,假設(shè)在“l(fā)ib”目錄,接下來引入:

var Fly=require("../lib/wx") //wx.js為您下載的源碼文件
var fly=new Fly; //創(chuàng)建fly實例

引入之后,您就可以對fly實例進行全局配置、添加攔截器、發(fā)起網(wǎng)絡(luò)請求了。

使用

Fly 基于Promise提供了Restful API,你可以方便的使用它們,具體請參考fly 文檔 。下面給出一個簡單的示例

//添加攔截器
fly.interceptors.request.use((config,promise)=>{
  //給所有請求添加自定義header
  config.headers["X-Tag"]="flyio";
  return config;
})
//配置請求基地址
fly.config.baseURL='http://www.dtworkroom.com/doris/1/2.0.0/'
...

Page({
 //事件處理函數(shù)
 bindViewTap: function() {
  //發(fā)起get請求
  fly.get("/test",{xx:6}).then((d)=>{
   //輸出請求數(shù)據(jù)
   console.log(d.data)
   //輸出響應(yīng)頭
   console.log(d.header)
  }).catch(err=>{
   console.log(err.status,err.message)
  })
  ...
 })
})

在mpvue中使用
mpvue  中您也可以將fly實例掛在vue原型上,這樣就可以在任何組件中通過this方便的調(diào)用:

var Fly=require("flyio/dist/npm/wx") 
var fly=new Fly
... //添加全局配置、攔截器等
Vue.prototype.$http=fly //將fly實例掛在vue原型上

在組件中您可以方便的使用:

this.$http.get("/test",{xx:6}).then((d)=>{
   //輸出請求數(shù)據(jù)
   console.log(d.data)
   //輸出響應(yīng)頭
   console.log(d.header)
  }).catch(err=>{
   console.log(err.status,err.message)
  })

反饋

如果您有問題歡迎在 在github 提issue . fly.js github: github.com/fly

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue如何處理base64格式文件pdf及圖片預(yù)覽功能

    vue如何處理base64格式文件pdf及圖片預(yù)覽功能

    這篇文章主要給大家介紹了關(guān)于vue如何處理base64格式文件pdf及圖片預(yù)覽功能的相關(guān)資料,圖片的base64編碼就是可以將一副圖片數(shù)據(jù)編碼成一串字符串,使用該字符串代替圖像地址,需要的朋友可以參考下
    2024-05-05
  • VUE實現(xiàn)自動滾動簡單示例

    VUE實現(xiàn)自動滾動簡單示例

    這篇文章主要給大家介紹了關(guān)于VUE實現(xiàn)自動滾動的相關(guān)資料,現(xiàn)在很多數(shù)據(jù)展示大屏都會有很多的自動滾動的列表,文中通過代碼實例介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • 在Vue中實現(xiàn)Excel導(dǎo)出功能(數(shù)據(jù)導(dǎo)出)

    在Vue中實現(xiàn)Excel導(dǎo)出功能(數(shù)據(jù)導(dǎo)出)

    本文分享了如何在前端導(dǎo)出Excel文件,強調(diào)了前端導(dǎo)出的即時性、便捷性、靈活性和定制化優(yōu)勢,以及減輕后端服務(wù)器負(fù)擔(dān)的特點,詳細介紹了ExcelJS和FileSaver.js兩個工具庫的使用方法和主要功能,最后通過Vue實現(xiàn)了Excel的導(dǎo)出功能
    2024-10-10
  • vue調(diào)用swiper插件步驟教程(最易理解且詳細)

    vue調(diào)用swiper插件步驟教程(最易理解且詳細)

    有時候我們需要在vue中使用輪播組件,如果是在vue組件中引入第三方組件的話,最好通過npm安裝,從而進行統(tǒng)一安裝包管理,下面這篇文章主要給大家介紹了關(guān)于vue調(diào)用swiper插件的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 如何給vant的Calendar日歷組件添加備注

    如何給vant的Calendar日歷組件添加備注

    這篇文章主要介紹了如何給vant的Calendar日歷組件添加備注,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue中的reactive函數(shù)操作代碼

    Vue中的reactive函數(shù)操作代碼

    這篇文章主要介紹了Vue中的reactive函數(shù),本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Vue.js動態(tài)添加、刪除選題的實例代碼

    Vue.js動態(tài)添加、刪除選題的實例代碼

    這篇文章主要介紹了Vue.js動態(tài)添加、刪除選題的實例代碼,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • vue緩存之keep-alive的理解和應(yīng)用詳解

    vue緩存之keep-alive的理解和應(yīng)用詳解

    這篇文章主要介紹了vue緩存之keep-alive的理解和應(yīng)用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vue實現(xiàn)豎屏滾動公告效果

    vue實現(xiàn)豎屏滾動公告效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)豎屏滾動公告效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue項目中CSS?Modules和Scoped?CSS的介紹與區(qū)別

    Vue項目中CSS?Modules和Scoped?CSS的介紹與區(qū)別

    在vue中我們有兩種方式可以定義css作用域,一種是scoped,另一種就是css modules,下面這篇文章主要給大家介紹了關(guān)于Vue項目中CSS?Modules和Scoped?CSS的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評論

新安县| 桃园市| 娄底市| 莲花县| 嘉定区| 巴东县| 金昌市| 三门县| 新田县| 普洱| 乌拉特中旗| 长治县| 青阳县| 夹江县| 永宁县| 乌什县| 平顺县| 通州区| 体育| 淮北市| 桐乡市| 偃师市| 玉环县| 苍南县| 长治县| 肥乡县| 麦盖提县| 黎城县| 台东市| 定日县| 常德市| 政和县| 读书| 秦安县| 潜江市| 尤溪县| 阳原县| 五家渠市| 成都市| 长岭县| 乐山市|