1. <sup id="1kcns"></sup>

    2. <rt id="1kcns"><legend id="1kcns"></legend></rt>
      国产AV巨作丝袜秘书,国产精品久久香蕉免费播放,国产草草影院ccyycom,涩涩爱狼人亚洲一区在线,日本阿v片在线播放免费,国产精品一区二区三区蜜臀,精品一区二区三区在线观看l,av深夜免费在线观看

      uni-app uni.request接口封裝

      2020-4-9    seo達人

      uni-app uni.request接口封裝

      今天在做uni-app項目時,發現在uni-app中 調取后臺接口需要大量的重復編輯,就在想能不能封裝一個如同Vue項目中的this.$axios.get(url,data).then();格式,這樣就減少了很多代碼重復!!

      封裝為如同this.$axios.get(url,data).then();格式

      第一步、

      我們先在index首頁中的組件部分,創建一個js文件;





      第二步、

      我們在uni-app的入口文件中引入request.js文件;

      在入口文件中掛載到uni-app實例上;





      第三步、

      開始接口封裝:

      (以下為js文件代碼)



      //先把接口暴露出去

      export default{

      //我們先定一個uni-app方法 以便于以下操作使用uni-app調取接口時便利

      request(options){

      ///我們使用Promise方法來實現調用接口時后面多個.then()的方法

      //只有Promise能實現如同$axios后面連續多個.then()的方法

      return new Promise((reslove,reject)=>{

      uni.request({

      ...options,

      success:res=>{

      //判斷我們在使用封裝的自定義時第三個參數是否為native

      //當native為true時 我們返回原數據

      if(options.native){

      reslove(res)

      }

      //當native為false時 我們直接返回data中的數據

      if(res.statusCode === 200){

      reslove(res.data)

      }else{

      //加入接口參數錯誤或接口地址錯誤時 我們返回原錯誤提示

      reject(res)

      }

      }

      })

      })

      },

      //在方法中 第二個參數和第三個參數用ES6新語法來添加默認值

      //接口調取get方法

      get(url,data={},options={}){

      //我們把傳過來的參數賦給options,這樣我們在使用uni-app

      //this.request()方法時 傳遞一個參數就可以

      options.url = url;

      options.data = data;

      options.method = 'get';

      //調用上面自己定義的this.request()方法傳遞參數

      return this.request(options)

      },

      //接口調取post方法

      post(url,data={},options={}){

      options.url = url;

      options.data = data;

      options.method = 'post';

      return this.request(options)

      }

      }



      這樣我們就已經封裝完成啦,接下來就是 在頁面內使用!

      第四步、

      我們可以在頁面中來調取已經封裝好的自定義事件啦



      例一:

      個人建議使用ES6新語法 箭頭函數 不然使用this還要重新在外面聲明定義,太麻煩了,使用箭頭函數就會方便很多



      // 已封裝好的接口方法

      //本案例調取接口時 沒有參數上傳 直接調用的

      //這樣使用方法時只傳遞了一個參數,也就是接口地址

      //第二個參數沒有寫,默認為空;假如有參數的話 可以直接填寫

      //后面的參數都為接口內已經定義好的默認值:{}空對象

      //里面的res為接口返回數據中的data里面的內容

      this.$H.get('/api/getIndexCarousel.jsp').then(res=>{

      //res打印出來是接口返回數據中data里面的數據

      console.log(res)

      //賦給數據區的變量,方便本頁面使用

      this.swiperData = res

      });



      例二、



      // 已封裝好的接口方法

      //本案例使用時 傳遞了三個參數

      //第一個為:接口地址

      //第二個為:調取接口傳遞的參數,方法使用時不用傳參,寫空對象就好

      //第三個為:自定義事件中 native 的屬性 若為true 則返回原數據

      //若想返回原數據,必須要填寫第二個參數,若沒有參數,也要寫空對象

      //因為方法調用時 是按照傳參順序調用的,若不寫 參數傳遞就會出錯

      this.$H.get('/api/getIndexCarousel.jsp',{},{

      native:true

      }).then(res=>{

      //res打印出來的數據是接口返回來的原數據

      console.log(res)

      //賦給數據區的變量,方便本頁面使用

      this.swiperData = res

      });




      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://www.payeee.cn

      存檔

      主站蜘蛛池模板: 色老头亚洲成人免费影院| 亚洲国产精品免费在线观看| 国产综合色一区二区三区| 伊人久久AV| 一本色道无码DVD色诱| 亚洲中文字幕97久久精品少妇| 黑人大战欲求不满人妻| 国产一区二区三区麻豆视频 | 日本高清免费AAAAA大片视频| 国产精品论一区二区三区| 蜜桃?一区二区视频在线观看| 老司机精品影院一区二区三区| 妺妺窝人体色www在线直播| 激情伊人五月天久久综合| 在线综合亚洲欧洲综合网站| 久久久亚洲精品成人| 亚洲精品视频在线观看视频| 日韩欧美视频一区二区三区| 亚欧在线视频| 嫩草999| 国产精品国产AV片国产| 久热这里只精品99国产6-99RE视…| 国产免费av网站| 国产成人一区二区三区免费| 热热av| 国产精品自在拍在线播放| 精品不卡久久久久久无码人妻| 国产综合成色在线视频| 日韩人妻丰满无码区A片| 天天摸夜夜摸夜夜狠狠添| 亚洲成a人无码| 无码av波多野结衣久久| 国精品无码一区二区三区在线看| 野外做受三级视频| 色偷偷偷综合中文字幕| 岛国AV网站| 韩国精品福利视频一区二区| 国产精品区视频中文字幕| 天天躁夜夜躁狠狠躁躁88| 久久成人 久久鬼色| 日韩成人无码影院|