添加请求接口
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import axios from 'axios';
|
||||
import store from '../store';
|
||||
import router from '../router';
|
||||
|
||||
// 配置请求
|
||||
const request = axios.create({
|
||||
// baseURL: process.env.REACT_APP_API_BASE_URL,
|
||||
baseURL: "/api",
|
||||
timeout: 10000,
|
||||
});
|
||||
|
||||
// 请求拦截器:每次请求都带上token
|
||||
request.interceptors.request.use(
|
||||
(config) => {
|
||||
// 在请求头中添加token
|
||||
const token = store.state.token;
|
||||
if (token) {
|
||||
config.headers['Authorization'] = `Bearer ${token}`;
|
||||
}
|
||||
return config;
|
||||
},
|
||||
(error) => {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
request.interceptors.response.use(
|
||||
(response) => {
|
||||
return response.data;
|
||||
},
|
||||
(error) => {
|
||||
if (error.response && error.response.status === 401) {
|
||||
// 如果返回401,说明token过期或无效,清除token并跳转到登录页
|
||||
store.commit('SET_TOKEN', '');
|
||||
store.commit('SET_USERNAME', '');
|
||||
router.push('/login');
|
||||
}
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
export default request;
|
||||
Reference in New Issue
Block a user