方便攔截控制,并進(jìn)行進(jìn)一步的處理。
由上自下的數(shù)據(jù)流
需要用到的配置:
Axios 、 vue@cli
- 首先創(chuàng)建Axios的實(shí)例對(duì)象,并未將來(lái)的值做好入?yún)?zhǔn)備
// @/utils/request.js文件下
import axios from "axios" //引入Axios
export default function(data) {
//在此處實(shí)例化axios,后續(xù)的自定義配置數(shù)據(jù)將以參數(shù)(data)的形式傳遞進(jìn)來(lái)
return axios({
method: data.method || 'GET', //設(shè)置默認(rèn)值
url: data.url, //這個(gè)必須自定義
headers: { //header默認(rèn)值
'Content-Type': data.header || 'application/x-www-form-urlencoded',
}
})
}
- 接口進(jìn)行二次封裝,以方便自定義化和模塊化
// @/api/index.js 文件下
import request from "@/utils/request" //引入封裝好的axios
export function getIndexData() {
return request({ //這里要注意調(diào)用導(dǎo)入進(jìn)來(lái)的request
method: 'post', //在此處定義本接口的協(xié)議type
url: "/api/v1/home/page", //定義本接口的url
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}
})
}
export function aaa() { ... }
export function bbb() { ... }
export function ccc() { ... }
....可以定義多個(gè)
- 使用
// @/src/view/index/index.vue 文件下
<script>
import { getIndexData } from '@/api/index' //注意這里的 {}
export default {
mounted(){
//調(diào)用方法,此處遵循promise寫(xiě)法
getIndexData().then(resolve=>{
}).catch(reject=>{
})
}
}
</script>
攔截部分尚未完善,待我再次編輯