日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue封裝Axios請(qǐng)求和攔截器的步驟

瀏覽:24日期:2022-11-22 11:10:17

PS:本文代碼在vue-cli3構(gòu)建的基礎(chǔ)vue項(xiàng)目之上進(jìn)行編寫:vue create my-project

axios 是一個(gè)基于 promise 的 http 庫(kù),可以用在瀏覽器和 node.js 中, 也是vue官方推薦使用的http庫(kù)。

axios很好用,其中之一就是它的攔截器十分強(qiáng)大,我們可以為請(qǐng)求和響應(yīng)設(shè)置攔截器,比如請(qǐng)求攔截器可以在每個(gè)請(qǐng)求里加上token,做了統(tǒng)一處理后維護(hù)起來也方便,響應(yīng)攔截器可以在接收到響應(yīng)后先做一層操作,如根據(jù)狀態(tài)碼判斷登錄狀態(tài)、授權(quán)。

之前初學(xué)的時(shí)候,經(jīng)常將axios數(shù)據(jù)請(qǐng)求寫在各組件方法內(nèi),但實(shí)踐證明,如果項(xiàng)目接口變動(dòng)要修改url地址等參數(shù)會(huì)比較為麻煩,不易維護(hù),于是需要對(duì)axios進(jìn)行封裝并將接口統(tǒng)一管理。

當(dāng)然在最之前,我們需要安裝axios,使用命令 npm install axios --save 即可。

一、新建函數(shù)文件

在 src目錄 下新建一個(gè) axios目錄,然后在里面創(chuàng)建 axios-request.js 和 axios-api.js 兩個(gè)文件,其中 aixos-request.js 用于對(duì)axios進(jìn)行封裝,axios-api.js 用于接口的統(tǒng)一管理。

二、對(duì)axios進(jìn)行封裝

axios-request.js代碼如下:

import axios from 'axios';import { Message } from 'element-ui';// 創(chuàng)建一個(gè)axios實(shí)例const axiosService = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url timeout: 5000 // 設(shè)置超時(shí)時(shí)間為5s});// request攔截器 ==> 對(duì)請(qǐng)求參數(shù)進(jìn)行處理axiosService.interceptors.request.use( config => { // 可以在發(fā)送請(qǐng)求之前做些事情 // 比如請(qǐng)求參數(shù)的處理、在headers中攜帶token等等 return config; }, error => { // 處理請(qǐng)求錯(cuò)誤 console.log(error); // for debug Promise.reject(error); });// respone攔截器 ==> 對(duì)響應(yīng)做處理axiosService.interceptors.response.use( response => { const res = response.data; // 如果自定義的返回碼不等于200, 就返回一個(gè)錯(cuò)誤 if (res.code !== 200) { return Promise.reject(new Error(res.message || 'Error')) } else { return res; } }, error => { // 判斷error的status代碼,并將對(duì)應(yīng)的信息告知用戶 let text = ''; let err = JSON.parse(JSON.stringify(error)); if (err.response.status) { switch (error.response.status) { case 400: text = '請(qǐng)求錯(cuò)誤(400),請(qǐng)重新申請(qǐng)'; break; case 401: text = '登錄錯(cuò)誤(401),請(qǐng)重新登錄'; return this.$router.replace('/login'); case 403: text = '拒絕訪問(403)'; break; case 404: text = '請(qǐng)求出錯(cuò)(404)'; break; case 408: text = '請(qǐng)求超時(shí)(408)'; break; case 500: text = '服務(wù)器錯(cuò)誤(500),請(qǐng)重啟軟件或切換功能頁(yè)!'; break; case 501: text = '服務(wù)未實(shí)現(xiàn)(501)'; break; case 502: text = '網(wǎng)絡(luò)錯(cuò)誤(502)'; break; case 503: text = '服務(wù)不可用(503)'; break; case 504: text = '網(wǎng)絡(luò)超時(shí)(504)'; break; case 505: text = 'HTTP版本不受支持(505)'; break; default: text = '網(wǎng)絡(luò)連接出錯(cuò)'; } } else { text = '連接服務(wù)器失敗,請(qǐng)退出重試!'; } Message({ showClose: true, message: text, type: 'error' }); return Promise.reject(error); });// 將寫好的axios實(shí)例暴露出去export default axiosService;

三、對(duì)接口進(jìn)行統(tǒng)一管理

axios-api.js代碼如下:

import axiosService from './axios-request'; // 從axios-request.js內(nèi)引入axiosService// 下面是POST形式export const userLogin = data => { return axiosService({ url: '/xxxx/user/xxxx', // 根據(jù)實(shí)際接口地址來寫 method: 'post', data });};// 下面是GET形式export const userInfo = params => { return axiosService({ url: '/xxxx/user/xxxx', // 根據(jù)實(shí)際接口地址來寫 method: 'get', params });};

這里要注意下,post參數(shù)放在data內(nèi),get參數(shù)放在params內(nèi)!

四、在組件內(nèi)使用寫好的接口

在組件中使用:

下面是模擬的一個(gè)登錄接口,代碼不太嚴(yán)謹(jǐn),僅演示大致用法:

<script>import {userLogin} from '@/axios/axios-api'; // 引入登錄接口函數(shù)export default { name: 'login', components: {}, methods: { async login() { let username = this.username; let password = this.password; let params = { username: username, password: password }; if (!username || !password) { alert('賬號(hào)或密碼不能為空'); } else { if (username.length < 51 && password.length < 51) { let res = await userLogin(params); console.log(res); } else { alert('賬號(hào)或密碼輸入字符不能超過50位'); } } } }};</script>

上面的代碼中我們用了 async await,是ES7新出的特性,具體用法可以Google或者到MDN上查看。

五、總結(jié)

當(dāng)然也可以不將接口統(tǒng)一管理,而只用axios封裝,然后在組件內(nèi)寫異步請(qǐng)求函數(shù)。以上是個(gè)人在之前學(xué)習(xí)的時(shí)候,所用的封裝方式,如有錯(cuò)誤之處歡迎留言指正。

以上就是Vue封裝Axios請(qǐng)求和攔截器的步驟的詳細(xì)內(nèi)容,更多關(guān)于Vue封裝的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: IOS
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产成人精品三级高清久久91| 欧美.日韩.国产.一区.二区| 久久av一区| 欧美成人午夜| 99国产精品| 一区福利视频| 91久久中文| 99pao成人国产永久免费视频| 国产亚洲精品v| 老牛国产精品一区的观看方式| 性欧美长视频| 亚洲黄色影院| 亚洲影院天堂中文av色| 亚洲欧美日本视频在线观看| 亚洲人亚洲人色久| 911精品国产| 丁香婷婷久久| 99久久久久国产精品| 日本欧美在线看| 国产三级精品三级在线观看国产| 国产高清精品二区| 欧美日韩视频网站| 亚洲综合精品| 国产日韩高清一区二区三区在线 | 综合激情一区| 国产精品一在线观看| 日本欧美国产| 图片区亚洲欧美小说区| 亚洲尤物av| 国产精品最新| 九色porny丨国产首页在线| 欧美~级网站不卡| 亚洲一区二区av| 久久成人av| 久久久久国产精品一区二区| 蜜桃一区二区三区在线| 清纯唯美亚洲综合一区| 久久国产精品色av免费看| 国产一区二区三区日韩精品| 女同性一区二区三区人了人一| 蜜臀av一区二区三区| 久久不见久久见中文字幕免费| 日本久久成人网| 午夜精品福利影院| 国产99在线| 亚洲精选成人| 91看片一区| 日韩精品乱码av一区二区| 91综合视频| 亚洲精品无吗| 日韩精品首页| 少妇高潮一区二区三区99| 精品精品久久| 亚洲一区二区毛片| 国产福利资源一区| 在线一区视频| 国产一区二区三区不卡av| 丝袜亚洲另类欧美| 精品一区二区三区亚洲| 亚洲一区欧美激情| 成人午夜亚洲| 日韩一区二区三免费高清在线观看 | 欧美日韩黄网站| 99精品视频在线| 国产亚洲久久| 国产精品88久久久久久| 久久不见久久见免费视频7| 宅男噜噜噜66国产日韩在线观看| 欧美黄页在线免费观看| 美女精品在线观看| 日本在线高清| 国产精品视频一区二区三区综合 | 日韩一区中文| 欧美日韩一二三四| 国产精品xxx| 综合欧美精品| re久久精品视频| 麻豆mv在线观看| 国产视频一区二| 另类av一区二区| 国产高潮在线| 国产精品亚洲一区二区在线观看| 亚洲作爱视频| 日韩在线中文| 久久精品二区亚洲w码 | 天堂俺去俺来也www久久婷婷| 久久天堂精品| 国产一区二区视频在线看| 日韩精品一区二区三区免费视频| 91成人网在线观看| 免费污视频在线一区| 国产成人免费| 麻豆成人在线观看| 91成人精品在线| 亚洲开心激情| 国产婷婷精品| 欧美高清不卡| 久久婷婷av| 国产一区二区三区久久| 国产精品nxnn| 欧美日韩18| 婷婷五月色综合香五月| 噜噜噜久久亚洲精品国产品小说| 在线日韩中文| 久久国产主播| 久久久久国产精品一区三寸| 国产精品久久久久久久免费观看| 欧美a级一区二区| 国产激情一区| 免费视频一区二区三区在线观看| 日韩av在线免费观看不卡| 蜜臀av一区二区三区| 久久国产精品亚洲77777| 蜜臀av免费一区二区三区| 激情久久五月| 黄色亚洲在线| 黄色国产精品| 9久re热视频在线精品| 欧美日韩国产在线一区| 欧洲激情综合| 亚洲激精日韩激精欧美精品| 婷婷六月综合| 在线成人直播| 亚洲一区国产| 亚洲精品国产日韩| 视频精品一区| 欧美在线黄色| 国产精品宾馆| 久久一区欧美| 精品视频国产| 裤袜国产欧美精品一区| 日韩精品电影| 亚洲精品网址| 蜜臀久久99精品久久久久宅男| 亚洲欧美日韩在线观看a三区 | 日韩欧美久久| 91精品一区| 国产精品综合色区在线观看| 国产精品分类| 国产精选在线| 日韩国产在线| japanese国产精品| 蜜臀精品一区二区三区在线观看| 亚洲精品成人一区| 国产精品美女在线观看直播 | 久久一区欧美| 性感美女一区二区在线观看| 亚洲国产一区二区在线观看 | 国产精品久久久免费| 久久影视三级福利片| 色爱综合网欧美| 亚洲精品成人| 婷婷精品久久久久久久久久不卡| 欧美一区成人| 国产成人久久精品一区二区三区| 久久精品青草| 免费精品视频最新在线| 人人爱人人干婷婷丁香亚洲| 国产精品115| 99tv成人| 日本伊人久久| 中文字幕在线看片| 亚洲一区二区成人| 国产精品主播| 在线观看精品| 亚洲一区av| 精品美女视频 | 中文字幕一区二区三区在线视频| 国产日韩1区| 久久久久国产| 亚洲精品护士| 国产中文字幕一区二区三区| 久久麻豆精品| 日韩高清电影一区| 日本在线高清| 亚洲精品福利| 黄色在线网站噜噜噜| 丝袜亚洲另类欧美| 精品资源在线| 亚洲欧美日韩专区| 欧美成人精品一级| 亚洲高清影视| 欧美激情福利| 国产视频一区在线观看一区免费| 国产日韩欧美一区在线| 欧美日韩一二三四| 国产无遮挡裸体免费久久| 欧美日韩精品免费观看视欧美高清免费大片| 另类亚洲自拍| av资源亚洲| 日韩av在线播放中文字幕| 亚洲成a人片| 欧美日韩调教| 国产一区二区中文| 国产美女亚洲精品7777| 五月婷婷六月综合| 久久精品免费看| 中文一区一区三区免费在线观| 成人国产精品一区二区网站| 亚洲精品麻豆|