97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

uni-app uni.request接口封裝

2020-4-9    seo達(dá)人

uni-app uni.request接口封裝

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

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

第一步、

我們先在index首頁中的組件部分,創(chuàng)建一個(gè)js文件;





第二步、

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

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





第三步、

開始接口封裝:

(以下為js文件代碼)



//先把接口暴露出去

export default{

//我們先定一個(gè)uni-app方法 以便于以下操作使用uni-app調(diào)取接口時(shí)便利

request(options){

///我們使用Promise方法來實(shí)現(xiàn)調(diào)用接口時(shí)后面多個(gè).then()的方法

//只有Promise能實(shí)現(xiàn)如同$axios后面連續(xù)多個(gè).then()的方法

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

uni.request({

...options,

success:res=>{

//判斷我們在使用封裝的自定義時(shí)第三個(gè)參數(shù)是否為native

//當(dāng)native為true時(shí) 我們返回原數(shù)據(jù)

if(options.native){

reslove(res)

}

//當(dāng)native為false時(shí) 我們直接返回data中的數(shù)據(jù)

if(res.statusCode === 200){

reslove(res.data)

}else{

//加入接口參數(shù)錯(cuò)誤或接口地址錯(cuò)誤時(shí) 我們返回原錯(cuò)誤提示

reject(res)

}

}

})

})

},

//在方法中 第二個(gè)參數(shù)和第三個(gè)參數(shù)用ES6新語法來添加默認(rèn)值

//接口調(diào)取get方法

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

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

//this.request()方法時(shí) 傳遞一個(gè)參數(shù)就可以

options.url = url;

options.data = data;

options.method = 'get';

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

return this.request(options)

},

//接口調(diào)取post方法

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

options.url = url;

options.data = data;

options.method = 'post';

return this.request(options)

}

}



這樣我們就已經(jīng)封裝完成啦,接下來就是 在頁面內(nèi)使用!

第四步、

我們可以在頁面中來調(diào)取已經(jīng)封裝好的自定義事件啦



例一:

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



// 已封裝好的接口方法

//本案例調(diào)取接口時(shí) 沒有參數(shù)上傳 直接調(diào)用的

//這樣使用方法時(shí)只傳遞了一個(gè)參數(shù),也就是接口地址

//第二個(gè)參數(shù)沒有寫,默認(rèn)為空;假如有參數(shù)的話 可以直接填寫

//后面的參數(shù)都為接口內(nèi)已經(jīng)定義好的默認(rèn)值:{}空對象

//里面的res為接口返回?cái)?shù)據(jù)中的data里面的內(nèi)容

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

//res打印出來是接口返回?cái)?shù)據(jù)中data里面的數(shù)據(jù)

console.log(res)

//賦給數(shù)據(jù)區(qū)的變量,方便本頁面使用

this.swiperData = res

});



例二、



// 已封裝好的接口方法

//本案例使用時(shí) 傳遞了三個(gè)參數(shù)

//第一個(gè)為:接口地址

//第二個(gè)為:調(diào)取接口傳遞的參數(shù),方法使用時(shí)不用傳參,寫空對象就好

//第三個(gè)為:自定義事件中 native 的屬性 若為true 則返回原數(shù)據(jù)

//若想返回原數(shù)據(jù),必須要填寫第二個(gè)參數(shù),若沒有參數(shù),也要寫空對象

//因?yàn)榉椒ㄕ{(diào)用時(shí) 是按照傳參順序調(diào)用的,若不寫 參數(shù)傳遞就會出錯(cuò)

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

native:true

}).then(res=>{

//res打印出來的數(shù)據(jù)是接口返回來的原數(shù)據(jù)

console.log(res)

//賦給數(shù)據(jù)區(qū)的變量,方便本頁面使用

this.swiperData = res

});




日歷

鏈接

個(gè)人資料

存檔

主站蜘蛛池模板: 中文无码精品A∨在线观看不卡 | 国产一区成人| 国产在线精品99一区不卡| 九色免费视频| 亚洲嫩模喷白浆| 国产精品19p| 强乱中文字幕在线播放不卡| 日韩亚洲综合在线| 国产成人综合日韩精品无码首页| 亚洲黄网视频| 波多野结衣中文字幕一区| 久无码久无码av无码| 国产在线视频自拍| 久久国产亚洲欧美日韩精品| 亚欧成人无码AV在线播放| 国产精品理论片| 无码aaa视频| 日韩精品专区免费无码aⅴ| 国产精品极品美女自在线网站| 日本不卡免费高清视频| 国产精品亚洲va在线观看| 亚洲成人网在线播放| 中文字幕在线观看日本| 免费人成在线观看成人片| 国产免费一级精品视频| 久久精品无码一区二区国产区 | 国产成人精品视频一区视频二区| 久久公开视频| 97人人模人人爽人人喊小说| 久久精品国产一区二区小说| 亚洲妓女综合网995久久| 日韩123欧美字幕| 在线免费不卡视频| 亚洲综合18p| 日韩激情成人| 免费看美女毛片| 18禁高潮出水呻吟娇喘蜜芽| 爱色欧美亚洲综合图区| 直接黄91麻豆网站| 91精品啪在线观看国产91九色| 成人久久18免费网站| 九九九精品成人免费视频7| 喷潮白浆直流在线播放| 亚洲高清无在码在线无弹窗| 在线观看91精品国产剧情免费| 国产精品大尺度尺度视频| 久久综合伊人 六十路| www.youjizz.com久久| 亚洲免费人成影院| 久久黄色免费电影| 国产欧美精品一区aⅴ影院| 国产在线一二三区| 美女高潮全身流白浆福利区| 久久国产精品麻豆系列| 欧美日韩一区二区在线免费观看| 欧美精品高清| 久久精品66| 亚洲一区二区黄色| 久久精品亚洲中文字幕乱码| 最近最新中文字幕在线第一页| 亚洲天堂视频在线观看| 一级毛片免费高清视频| 国产综合无码一区二区色蜜蜜| 国产免费羞羞视频| 亚洲国产系列| 夜精品a一区二区三区| 国产精品乱偷免费视频| 国产精品欧美激情| 无码一区二区三区视频在线播放| 激情爆乳一区二区| 51国产偷自视频区视频手机观看| 国产成人av一区二区三区| 久久综合亚洲鲁鲁九月天| 日韩精品免费一线在线观看| 成·人免费午夜无码视频在线观看 | 免费人成黄页在线观看国产| A级毛片无码久久精品免费| 久久狠狠色噜噜狠狠狠狠97视色 | 国产屁屁影院| 国产成人禁片在线观看| 精品久久久久无码| 色婷婷色丁香|