欧美videos另类精品-欧美videos另类极品-欧美vide-欧美va在线视频-欧美va在线观看-欧美va在线播放免费观看

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.73404.com.cn

存檔

主站蜘蛛池模板: 成年男人永久免费看片 | 日本精品一卡二卡≡卡四卡 | 国产欧美日韩精品高清二区综合区 | 全黄h全肉细节修仙玄幻文 全彩调教侵犯h本子全彩妖气he | 动漫女性扒开尿口羞羞漫画 | av中文字幕网免费观看 | 外国老少性配 | 欧美日韩精品在线视频 | 女人爽到喷水的视频免费看 | 单身男女韩剧在线看 | 韩日视频在线观看 | 精品久久久久久久久免费影院 | 大胆人gogo888体艺术在线 | 国产大片线上免费观看 | 美女张开腿让我了一夜 | 亚洲精品乱码久久久久久蜜桃图片 | 欧美a级在线 | 超兴奋朋友的中文字幕下 | 欧美特黄特色aaa大片免费看 | 无码AV熟妇素人内射V在线 | 久久久精品成人免费看 | 成人免费播放器 | 国产精品福利久久2020 | 小鸟酱在线看 | 亚洲精品在线看 | 99热成人精品热久久669 | 人人精品久久 | 美国女孩毛片 | 亚洲国产三级在线观看 | 国产在线成人a | 欧美特黄特色aaa大片免费看 | 国产精品suv一区二区 | 成年看片免费高清观看 | 暖暖 免费 高清 日本 在线1 | porno日本大学生高清 | 吉川爱美与黑人解禁 | 精品人伦一区二区三区潘金莲 | 欧美va在线播放免费观看 | 日本无遮挡拍拍拍凤凰 | 国产视频久久久 | 日韩影院在线观看 |