1、创建http.js
import axios from 'axios'
const http = axios.create({
// baseURL:process.env.VUE_APP_API_URL || '/admin/api',
baseURL:"http://localhost:3000/admin/api"
})
//请求拦截器
http.interceptors.request.use(function(config){
return config;
},function(error){
return Promise.reject(error)
})
//响应拦截器
http.interceptors.response.use(res=>{
return res
},err=>{
//给全局设置错误消息提示
if(err.response.data.message){
Vue.prototype.$message({
type:'error',
message:err.response.data.message
})
}
//如果没有权限访问就回到登录界面
if(err.response.status=== 401){
router.push('/login')
}
return Promise.reject(err)
})
export default http
2、在main.js中使用
import Vue from 'vue'
import http from './http'
挂载在全局
Vue.prototype.$http = http;
前端使用时只需
this.$http.get()
this.$http.post()