import axios from 'axios'
import router from '../router'
const instance = axios.create({
// 生产环境地址和开发环境地址不一样
baseURL: process.env.VUE_APP_BASEURL
// baseURL: "http://localhost:3000"
/*
npm run server
baseURL: "http://localhost:3000"
npm run build
baseURL: "http://生产环境的接口地址"
*/
})
instance.interceptors.request.use((config) => {
// 拦截成功后执行的代码 一般都只考虑成功的函数
// console.log(config)
// config.params.a = 1
/*
给所有的请求都添加上token
*/
const token = localStorage.getItem('token')
if (token) {
config.headers.authorization = "Bearer " + token
}
return config
}, (error) => {
// 失败时执行代码
return Promise.reject(error);
})
// 响应拦截器
instance.interceptors.response.use((res) => {
return res
}, (error) => {
console.log([error])
if (error.response.status === 401) {
// token出现问题
// 删除本地的token
localStorage.removeItem('token')
localStorage.removeItem('user')
// 页面跳转到 /login
router.push('/login')
}
return Promise.reject(error);
})
export default instance
08-23
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交