1.创建axios实例
const service = axios.create({
baseURL:"...",
timeout:60000,
headers:'...'
})
2.对请求(request)和响应都进行处理
service.interceptors.request.use(res=>{
const token = sessionStorage.getItem('accessToken')
... //里面的逻辑随便写
if(token){
res.headers.Authorization = token
}
return res
},error=>{
return Promise.reject(error)
})
service.interceptors.response.use(
res => {
if(res.headers.state){
if(res.headers.state === 200){
... //里面的逻辑随便写
}
}
},
err => {
return Promise.reject(err)
}
)
export default service
3.api文件调用
import request from '@/上面文件的地址'
export function a(params){
return request({
url:'...',
method;‘get',
params
})
}
export function b(params){
return request({
url:'...',
method;‘post',
data:params
})
}
当然这是基础的封装 如果有的接口后端接口路径不一样 就不能这么封装 需要换一种方法封装