<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:07:51
        文檔

        mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼

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

        我們安裝好flyio之后

        npm install flyio

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

        首先引入flyjs并實(shí)例化

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

        比方說(shuō)我們每次請(qǐng)求我們自己的服務(wù)器接口的時(shí)候需要帶上appID,用戶登陸后需要帶上openId

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

        當(dāng)服務(wù)器發(fā)生錯(cuò)誤,或者用戶網(wǎng)絡(luò)錯(cuò)誤導(dǎo)致請(qǐng)求失敗的時(shí)候,我們可以添加一個(gè)響應(yīng)攔截

        // 響應(yīng)攔截
        fly.interceptors.response.use(
         (response) => {
         
         
         },
         (err) => {
         //發(fā)生網(wǎng)絡(luò)錯(cuò)誤后會(huì)走到這里
         //return Promise.resolve("ssss")
         wx.hideLoading();
         wx.showToast({
         title:'網(wǎng)絡(luò)不流暢,請(qǐng)稍后再試!',
         icon:'none',
         });
         
         })
        
        

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

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

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

        示例:

        fly里面的攔截機(jī)制還是很強(qiáng)大的,并且在錯(cuò)誤返回信息做了優(yōu)化處理,在fly攔截器中支持執(zhí)行異步任務(wù),就是說(shuō)在請(qǐng)求數(shù)據(jù)的時(shí)候如果攔截到token不存在那么我們就可以在攔截器中重新獲取token,再接著執(zhí)行之前的請(qǐng)求。

        const Fly = require("flyio/dist/npm/wx")
        const fly = new Fly
        Vue.prototype.$http = fly;
         
        fly.interceptors.request.use((request) => {
         //給所有請(qǐng)求添加自定義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();//鎖住請(qǐng)求
         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;//繼續(xù)之前的請(qǐng)求,
         })
         }
        })
         
        fly.interceptors.response.use(
         (response) => {
         wx.hideLoading();
         return response
         },
         (err) => {
         wx.hideLoading();
         if (err.status == 0) {
         return "網(wǎng)絡(luò)連接異常"
         } else if (err.status == 1) {
         return "網(wǎng)絡(luò)連接超時(shí)"
         } else if (err.status == 401) {
         return "用戶未登錄"
         } else {
         if (err.response.data.message) {
         return err.response.data.message
         } else {
         return '請(qǐng)求數(shù)據(jù)失敗,請(qǐng)稍后再試'
         }
         };
         // Do something with response error
         }
        )

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 韩国18福利视频免费观看| av大片在线无码免费| 亚洲精品亚洲人成在线观看下载| 亚洲欧美第一成人网站7777| 一二三四在线观看免费高清中文在线观看 | 久久国产成人亚洲精品影院 | 精品成在人线AV无码免费看| 久久精品亚洲中文字幕无码网站| 日本视频在线观看永久免费| 久久久久亚洲AV片无码| 午夜免费1000部| 亚洲日本国产综合高清| 日本一道本高清免费| sss在线观看免费高清| 亚洲香蕉成人AV网站在线观看| a毛片免费观看完整| 精品亚洲aⅴ在线观看| 波多野结衣免费在线| 日本亚洲欧美色视频在线播放| 免费人成视网站在线观看不卡| 一级毛片**免费看试看20分钟 | 国产一精品一AV一免费| 911精品国产亚洲日本美国韩国| 成人奭片免费观看| 黄页网站在线免费观看| 亚洲高清国产AV拍精品青青草原| 182tv免费观看在线视频| 亚洲日韩av无码中文| 国产亚洲精品看片在线观看| 91精品国产免费网站| 亚洲AV色欲色欲WWW| 亚洲成AV人片在线观看| 免费观看的毛片手机视频| 两个人的视频www免费| 亚洲国产成人va在线观看网址| 国产成人免费手机在线观看视频| 中文字幕永久免费| 国产亚洲精品bv在线观看| 亚洲日韩小电影在线观看| 成人免费在线视频| 老司机69精品成免费视频|