• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    mpvue中使用flyjs全局攔截的實現代碼

    來源:懂視網 責編:小采 時間:2020-11-27 22:07:51
    文檔

    mpvue中使用flyjs全局攔截的實現代碼

    mpvue中使用flyjs全局攔截的實現代碼:我們安裝好flyio之后 npm install flyio 找到src目錄下的main.js文件 首先引入flyjs并實例化 var Fly=require(flyio/dist/npm/wx) var fly=new Fly 比方說我們每次請求我們自己的服務器接口的時候需要帶上appID,用戶登陸后需要帶上openId
    推薦度:
    導讀mpvue中使用flyjs全局攔截的實現代碼:我們安裝好flyio之后 npm install flyio 找到src目錄下的main.js文件 首先引入flyjs并實例化 var Fly=require(flyio/dist/npm/wx) var fly=new Fly 比方說我們每次請求我們自己的服務器接口的時候需要帶上appID,用戶登陸后需要帶上openId

    我們安裝好flyio之后

    npm install flyio

    找到src目錄下的main.js文件

    首先引入flyjs并實例化

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

    比方說我們每次請求我們自己的服務器接口的時候需要帶上appID,用戶登陸后需要帶上openId

    // 請求攔截
    fly.interceptors.request.use((request)=>{
     
     request.body.appId = 'xxx'
     // 用戶的openId在獲取之后添加到全局變量中如果存在,我們將它添加到請求參數里面
     let openId = Vue.prototype.globalData.openId;
     if(openId){
     request.body.openId = openId
     }
    })
    

    當服務器發生錯誤,或者用戶網絡錯誤導致請求失敗的時候,我們可以添加一個響應攔截

    // 響應攔截
    fly.interceptors.response.use(
     (response) => {
     
     
     },
     (err) => {
     //發生網絡錯誤后會走到這里
     //return Promise.resolve("ssss")
     wx.hideLoading();
     wx.showToast({
     title:'網絡不流暢,請稍后再試!',
     icon:'none',
     });
     
     })
    
    

    最后將flyjs掛載到vue的原型上

    // 將fly掛載在Vue的原型上
    Vue.prototype.$flyio = fly
    

    不同頁面直接使用this.$flyio請求(是不是很方便)

    示例:

    fly里面的攔截機制還是很強大的,并且在錯誤返回信息做了優化處理,在fly攔截器中支持執行異步任務,就是說在請求數據的時候如果攔截到token不存在那么我們就可以在攔截器中重新獲取token,再接著執行之前的請求。

    const Fly = require("flyio/dist/npm/wx")
    const fly = new Fly
    Vue.prototype.$http = fly;
     
    fly.interceptors.request.use((request) => {
     //給所有請求添加自定義header
     if (api.Get('token')) {
     request.timeout = 30000,
     request.headers = {
     "content-type": "application/json",
     "cld.stats.page_entry": api.Get('scene'),
     "version": store.state.version,
     "token": api.Get('token')
     }
     wx.showLoading({
     title: "加載中",
     mask: true,
     });
     return request;
     } else {
     fly.lock();//鎖住請求
     return Public.Load().then(res => {
     request.timeout = 30000,
     request.headers = {
     "content-type": "application/json",
     "cld.stats.page_entry": api.Get('scene'),
     "version": store.state.version,
     "token": api.Get('token')
     }
     wx.showLoading({
     title: "加載中",
     mask: true,
     });
     //等待token返回之后在解鎖,
     fly.unlock();
     return request;//繼續之前的請求,
     })
     }
    })
     
    fly.interceptors.response.use(
     (response) => {
     wx.hideLoading();
     return response
     },
     (err) => {
     wx.hideLoading();
     if (err.status == 0) {
     return "網絡連接異常"
     } else if (err.status == 1) {
     return "網絡連接超時"
     } else if (err.status == 401) {
     return "用戶未登錄"
     } else {
     if (err.response.data.message) {
     return err.response.data.message
     } else {
     return '請求數據失敗,請稍后再試'
     }
     };
     // Do something with response error
     }
    )

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    mpvue中使用flyjs全局攔截的實現代碼

    mpvue中使用flyjs全局攔截的實現代碼:我們安裝好flyio之后 npm install flyio 找到src目錄下的main.js文件 首先引入flyjs并實例化 var Fly=require(flyio/dist/npm/wx) var fly=new Fly 比方說我們每次請求我們自己的服務器接口的時候需要帶上appID,用戶登陸后需要帶上openId
    推薦度:
    標簽: 攔截 js fly
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲国产精品无码一线岛国| 国产精品久久久久久吹潮| 一本色道久久综合亚洲精品| 青青青国产精品国产精品久久久久 | 国产精品天天影视久久综合网| 欧美精品一区二区三区免费观看| 亚洲午夜久久久精品影院| 大伊香蕉精品一区视频在线| 亚洲国产精品无码久久久不卡 | 欧美日韩国产精品系列| 99久久精品免费看国产| 四虎永久在线精品884aa下载| 69堂国产成人精品视频不卡| 热re99久久6国产精品免费| 亚洲国产精品狼友中文久久久| 久久精品亚洲福利| 国模和精品嫩模私拍视频| 久久亚洲国产欧洲精品一| 国产精品久久国产精品99盘 | 97久久精品人妻人人搡人人玩 | 亚洲国产成人乱码精品女人久久久不卡| 国模精品一区二区三区| 精品久久久久久国产免费了| 国产精品青草久久久久福利99| 亚洲国产精品自在在线观看| 四虎影永久在线观看精品| 亚洲国产精品嫩草影院| 四虎成人www国产精品| 欧美日韩精品一区二区三区| 日本精品一区二区三区在线观看| 精品久久久久久国产91| 麻豆精品久久精品色综合| 欧美亚洲国产精品第一页| 3级黄性日本午夜精品| 北条麻妃国产九九九精品视频| 国产精品第一区第27页| 国产精品视频全国免费观看| 久久久91人妻无码精品蜜桃HD | 四虎影院国产精品| 亚洲伊人久久精品影院| 日韩精品无码一本二本三本|