uni-app的uni.request()請(qǐng)求封裝

第一種:常見的直接發(fā)起uni.request()請(qǐng)求

        onLoad() {//頁(yè)面加載時(shí)調(diào)用
            this.getSwipers()
        },
        methods: {
            //獲取輪播圖數(shù)據(jù)
            getSwipers(){
                uni.request({
                    url:"https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata",
                    method:"GET",
                    success: (res) => {
                        console.log(res)
                        if(res.data.meta.status !== 200){//如果請(qǐng)求失敗,不等于200狀態(tài)碼
                            return uni.showToast({
                                title:"請(qǐng)求失敗!"
                            })
                        }
                        //數(shù)據(jù)請(qǐng)求成功
                        this.swipers = res.data.message
                    }
                })
            }
        }

第二種:async修飾函數(shù)和await的使用,這個(gè)好像是es7的

        onLoad() {//頁(yè)面加載時(shí)調(diào)用
            this.getSwipers()
        },
        methods: {
            //獲取輪播圖數(shù)據(jù)
            async getSwipers(){
                const res = await uni.request({
                    url:"https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata",
                    method:"GET" //默認(rèn)是GET,可省
                })
                console.log(res)
            }
        }

第三種:es6異步promise封裝這種發(fā)起請(qǐng)求接口,跟axios封裝差不多

一個(gè)項(xiàng)目有N多個(gè)接口,但前面的一段url基本是一致不變的(專業(yè)點(diǎn)說(shuō)也就是前面那一段是域名褒翰,域名是不變的+后面一段是變化的,是接口地址)。



這時(shí)候我們就可以抽離封裝了api了优训。



api.js
//功能:暴露接口

const BASE_URL = 'https://api-hmugo-web.itheima.net' //域名或選取所有接口不變的那一部分
export const myRequest = (options) => { //暴露一個(gè)function:myRequest朵你,使用options接收頁(yè)面?zhèn)鬟^(guò)來(lái)的參數(shù)
        return new Promise((resolve, reject) => { //異步封裝接口,使用Promise處理異步請(qǐng)求
            uni.request({ //發(fā)送請(qǐng)求
                url: BASE_URL + options.url, //接收請(qǐng)求的API
                method: options.method || 'GET', //接收請(qǐng)求的方式,如果不傳默認(rèn)為GET
                data: options.data || {}, //接收請(qǐng)求的data,不傳默認(rèn)為空
                success: (res) => { //數(shù)據(jù)獲取成功
                    if (res.data.meta.status !== 200) { //因?yàn)?00是返回成功的狀態(tài)碼揣非,如果不等于200,則代表獲取失敗,
                        return uni.showToast({
                            title: "數(shù)據(jù)獲取失斅找健!"
                        })
                    }
                    resolve(res) //成功,將數(shù)據(jù)返回
                },
                fail: (err) => { //失敗操作
                    uni.showToast({
                        title: "請(qǐng)求接口失斪倍摇魂拦!"
                    })
                    reject(err)
                }
            })
        })
    }

/*下面代碼不作用途:僅參照演示,模仿頁(yè)面調(diào)用函數(shù)搁嗓,將實(shí)參傳進(jìn)myRequest,也就是上面myRequest使用(options)接收箱靴。
myRequest({
    url: '/getInfo',
    method: 'POST',
})
*/

在uni-app的main.js中將api.js掛載到全局腺逛,讓所有頁(yè)面都能接收

import { myRequest } from './utils/api.js'

//掛載到全局,讓所有頁(yè)面都能接收
Vue.prototype.$myRequest = myRequest //掛載到Vue的原型上

頁(yè)面調(diào)用(index.vue想使用):

        data() {
            return {
                swipers: []
            }
        },
        onLoad() { //頁(yè)面加載時(shí)調(diào)用
            this.getSwipers()
        },
        methods: {
            //獲取輪播圖數(shù)據(jù)
            async getSwipers() {
                const res = await this.$myRequest({//調(diào)用封裝好的API請(qǐng)求函數(shù)
                    url:'/api/public/v1/home/swiperdata',//把接口傳過(guò)去
                    method:'GET',
                })
                console.log(res)
                this.swipers = res.data.message //保存值
            }
        }

效果:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衡怀,一起剝皮案震驚了整個(gè)濱河市棍矛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抛杨,老刑警劉巖够委,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異怖现,居然都是意外死亡茁帽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門屈嗤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)潘拨,“玉大人,你說(shuō)我怎么就攤上這事饶号√罚” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵茫船,是天一觀的道長(zhǎng)琅束。 經(jīng)常有香客問(wèn)我,道長(zhǎng)算谈,這世上最難降的妖魔是什么涩禀? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮濒生,結(jié)果婚禮上埋泵,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好丽声,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布礁蔗。 她就那樣靜靜地躺著,像睡著了一般雁社。 火紅的嫁衣襯著肌膚如雪浴井。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天霉撵,我揣著相機(jī)與錄音磺浙,去河邊找鬼。 笑死徒坡,一個(gè)胖子當(dāng)著我的面吹牛撕氧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喇完,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼伦泥,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了锦溪?” 一聲冷哼從身側(cè)響起不脯,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刻诊,沒(méi)想到半個(gè)月后防楷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡则涯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年复局,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是整。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肖揣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浮入,到底是詐尸還是另有隱情龙优,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布事秀,位于F島的核電站彤断,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏易迹。R本人自食惡果不足惜宰衙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睹欲。 院中可真熱鬧供炼,春花似錦一屋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至涛贯,卻和暖如春诽嘉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弟翘。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工虫腋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稀余。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓悦冀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親睛琳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雏门,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在上一篇文章里面,寫到使用uni.request請(qǐng)求的方法http://www.reibang.com/p/bc...
    祈澈菇?jīng)?/span>閱讀 18,020評(píng)論 5 18
  • 把每個(gè)不同的功能分了不同的文件夾掸掏,相當(dāng)于不同的層(每個(gè)文件夾里可以根據(jù)業(yè)務(wù)在進(jìn)行細(xì)分),請(qǐng)求工具我用的uni-ap...
    MiSiTeWang閱讀 4,109評(píng)論 0 3
  • 黑馬商城實(shí)戰(zhàn)項(xiàng)目 項(xiàng)目搭建 利用HBuilder X創(chuàng)建基本項(xiàng)目結(jié)構(gòu) 運(yùn)行項(xiàng)目 整理基本項(xiàng)目結(jié)構(gòu),并修改窗口外觀"...
    Neo_duan閱讀 2,811評(píng)論 0 0
  • 自 2017-1-9微信小程序誕生以來(lái)宙帝,歷經(jīng)2年多的迭代升級(jí)丧凤,已有數(shù)百萬(wàn)小程序上線,成為繼Web步脓、iOS愿待、Andr...
    CodeMT閱讀 1,406評(píng)論 2 20
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友靴患。感恩相遇仍侥!感恩不離不棄。 中午開了第一次的黨會(huì)鸳君,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,551評(píng)論 0 11