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

您的位置:首頁技術文章
文章詳情頁

Vue封裝Axios請求和攔截器的步驟

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

PS:本文代碼在vue-cli3構建的基礎vue項目之上進行編寫:vue create my-project

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

axios很好用,其中之一就是它的攔截器十分強大,我們可以為請求和響應設置攔截器,比如請求攔截器可以在每個請求里加上token,做了統一處理后維護起來也方便,響應攔截器可以在接收到響應后先做一層操作,如根據狀態碼判斷登錄狀態、授權。

之前初學的時候,經常將axios數據請求寫在各組件方法內,但實踐證明,如果項目接口變動要修改url地址等參數會比較為麻煩,不易維護,于是需要對axios進行封裝并將接口統一管理。

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

一、新建函數文件

在 src目錄 下新建一個 axios目錄,然后在里面創建 axios-request.js 和 axios-api.js 兩個文件,其中 aixos-request.js 用于對axios進行封裝,axios-api.js 用于接口的統一管理。

二、對axios進行封裝

axios-request.js代碼如下:

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

三、對接口進行統一管理

axios-api.js代碼如下:

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

這里要注意下,post參數放在data內,get參數放在params內!

四、在組件內使用寫好的接口

在組件中使用:

下面是模擬的一個登錄接口,代碼不太嚴謹,僅演示大致用法:

<script>import {userLogin} from '@/axios/axios-api'; // 引入登錄接口函數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('賬號或密碼不能為空'); } else { if (username.length < 51 && password.length < 51) { let res = await userLogin(params); console.log(res); } else { alert('賬號或密碼輸入字符不能超過50位'); } } } }};</script>

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

五、總結

當然也可以不將接口統一管理,而只用axios封裝,然后在組件內寫異步請求函數。以上是個人在之前學習的時候,所用的封裝方式,如有錯誤之處歡迎留言指正。

以上就是Vue封裝Axios請求和攔截器的步驟的詳細內容,更多關于Vue封裝的資料請關注好吧啦網其它相關文章!

標簽: IOS
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品极品| 国产精品一区亚洲| 久久国产精品美女| 国产日韩一区二区三免费高清 | 亚洲伊人av| 日韩一区欧美| 国产在线不卡| 国产99久久| 亚洲精品97| 亚洲一二av| 国产精品夜夜夜| 日韩大片在线| 国产精品日本| 国产日韩欧美中文在线| 国产成人精品福利| 99久久精品网站| 在线看片日韩| 久久不卡国产精品一区二区| 人在线成免费视频| 久久亚洲风情| 美女高潮久久久| 91精品国产调教在线观看| 五月综合激情| 欧美日韩午夜电影网| 精品久久99| 亚洲深夜福利| 欧美黑人巨大videos精品| 欧美freesex黑人又粗又大| 午夜久久久久| 国产乱码精品一区二区三区亚洲人| 久久不见久久见国语| 91精品一区二区三区综合| 中文字幕日韩亚洲| 韩国一区二区三区视频| 激情91久久| 久久99蜜桃| 99视频一区| 国产欧美自拍| 久久免费大视频| 久久精品99国产精品日本| 久久男人天堂| 日韩精品欧美精品| 久久久久国产精品一区二区| 亚洲另类av| 国产美女高潮在线| 色综合视频一区二区三区日韩 | 日韩国产欧美在线播放| 国产aa精品| 日韩有吗在线观看| 久久精品国产亚洲aⅴ | 欧美日韩水蜜桃| 国产欧美日韩免费观看| 久久精品av| 国产精品极品在线观看| 国产农村妇女精品一二区| 欧美国产不卡| 日韩欧美在线精品| 国产高清久久| 精品一区二区三区视频在线播放| 亚洲欧美日韩一区在线观看| а√在线中文在线新版| 国产精品日本一区二区不卡视频| 99久久夜色精品国产亚洲1000部| 日韩精品乱码av一区二区| 黄色不卡一区| 精品国产一区二| 日韩精彩视频在线观看| 91精品高清| 日韩在线精品| 麻豆一区二区在线| 日本成人一区二区| 久久不射中文字幕| 久久九九国产| 青青青免费在线视频| 久久久久黄色| 国产精品最新| 国产日韩中文在线中文字幕| 视频一区视频二区在线观看| 国产在线日韩| 99久久精品国产亚洲精品| 成人免费一区| 久久在线91| 大香伊人久久精品一区二区| 欧美激情日韩| 久久久91麻豆精品国产一区| 国产欧美日韩在线观看视频| 久久激情av| 日本国产欧美| 日本高清久久| 日韩av影院| 日韩av中文在线观看| 日韩激情一二三区| 影音先锋久久精品| 日韩中文字幕1| 午夜久久黄色| 午夜在线精品偷拍| 在线综合亚洲| 美女尤物久久精品| 日韩中文字幕1| 日本久久二区| 久久精品99久久久| 免费在线日韩av| 国产成人久久精品麻豆二区| 精品国产18久久久久久二百| 高清日韩中文字幕| 色一区二区三区| 亚洲v在线看| 欧美亚洲国产激情| 精品91久久久久| 亚洲欧洲国产精品一区| 日韩精品成人在线观看| 91精品日本| 美女精品视频在线| 日韩国产一区二区| 欧美日韩在线二区| 国产精品社区| 国产情侣一区| 综合日韩av| 日韩视频一区| 日本va欧美va欧美va精品| 国产日韩亚洲| 日韩在线二区| 亚洲免费激情| 日韩欧美久久| 国内精品伊人| 亚洲天堂黄色| 亚洲精选久久| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 久久精品国产久精国产| 日本精品影院| 亚洲一二av| 久久精品国产网站| 尤物在线精品| 91精品国产自产在线丝袜啪| 精品丝袜久久| 亚洲一区二区三区四区五区午夜 | 日韩精品乱码av一区二区| 欧美极品一区二区三区| 99久久久久国产精品| 日本成人精品| 日韩一区自拍| 日韩欧美中文字幕一区二区三区| 欧美精品成人| 欧美va天堂| 国产亚洲一区二区三区啪| 日韩欧美自拍| 日本伊人久久| 欧美精品高清| 亚洲毛片网站| 国产高清不卡| 综合一区二区三区| 伊人久久av| 日韩高清在线观看一区二区| 电影亚洲精品噜噜在线观看| 日韩一区二区三免费高清在线观看 | 亚洲福利久久| 日韩高清在线一区| 日韩伦理在线一区| 日韩不卡手机在线v区| 欧美一区三区| 国产欧美一区二区精品久久久| 999国产精品视频| 国产精品色在线网站| 国产免费成人| av综合电影网站| 久久99性xxx老妇胖精品| 久色成人在线| 日韩精品水蜜桃| 欧美激情麻豆| 日韩av网站在线免费观看| 成人av动漫在线观看| 激情不卡一区二区三区视频在线| 尤物在线精品| 免费观看亚洲| 精品国产黄a∨片高清在线| 日本国产欧美| 亚洲一区不卡| 亚洲福利精品| 日韩精品永久网址| 国产极品一区| 日韩高清三区| 久久av在线| 婷婷精品进入| 久久人人97超碰国产公开结果| 国产精品调教视频| 日韩国产欧美三级| 亚洲综合小说| 999精品色在线播放| 国产不卡一区| 免费日韩成人| 国产精品久久久久久久久久妞妞| 综合国产视频| 日本 国产 欧美色综合| 黄色亚洲精品| 亚洲黄页一区| 国产精品日本欧美一区二区三区| 久久国产精品成人免费观看的软件| av资源亚洲| 日韩精品免费一区二区在线观看| www.九色在线|