在vue項目中,每次和后臺交互的時候,經(jīng)常用到的就是axios請求數(shù)據(jù),它是基于promise的http庫,可運行在瀏覽器端和node.js中。當(dāng)項目越來越大的時候,接口的請求也會越來越多,怎么去管理這些接口?多人合作怎么處理?只有合理的規(guī)劃,才能方便往后的維護以及修改,

安裝
安裝axios依賴包
cnpm install axios --save
引入
一般會我會在項目src中新建一個untils目錄,其中base用于管理接口域名,http處理請求攔截和響應(yīng)攔截,user.js負責(zé)接口文件(接口文件可以自己新建一個文件夾,然后放對應(yīng)的接口文件)
1.在http.js文件中,用于處理axios中對請求攔截和響應(yīng)攔截做處理,token處理,并引入element-ui加載動畫。
import axios from 'axios'
import { Loading, Message } from 'element-ui'
import router from '../router/index.js'
let loading
function startLoading() {
loading = Loading.service({
lock: true,
text: '加載中....',
background: 'rgba(0, 0, 0, 0.7)'
})
}
function endLoading() {
loading.close()
}
// 請求攔截
axios.interceptors.request.use(
(confing) => {
startLoading()
//設(shè)置請求頭
if (localStorage.eToken) {
confing.headers.Authorization = localStorage.eToken
}
return confing
},
(error) => {
return Promise.reject(error)
}
)
//響應(yīng)攔截
axios.interceptors.response.use(
(response) => {
endLoading()
return response
},
(error) => {
Message.error(error.response.data)
endLoading()
// 獲取狀態(tài)碼
const { status } = error.response
if (status === 401) {
Message.error('請重新登錄')
//清楚token
localStorage.removeItem('eToken')
//跳轉(zhuǎn)到登錄頁面
router.push('/login')
}
return Promise.reject(error)
}
)
export default axios
分享題目:vueaxios封裝及API統(tǒng)一管理的方法-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://chinadenli.net/article38/eggpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站策劃、服務(wù)器托管、小程序開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容