// import axios from "axios"; // const service = axios.create({ // // baseURL: 'http://192.168.8.191:8080', // // baseURL: 'http://localhost:8080', // baseURL: '/api', // }); // // http://192.168.8.191:8080 // //Axios的响应拦截器.. // service.interceptors.response.use(resp => { // return resp.data; // }, error => { // return Promise.reject(error); // }); // export default service; import axios from "axios"; import { useTokenStore } from "../stores/token"; const service = axios.create({ // baseURL: 'http://192.168.8.191:8080', // baseURL: 'http://localhost:8080', baseURL: '/api', }); // Axios的请求拦截器,在这里添加token到请求头 axios.interceptors.request.use(config => { const tokenStore = useTokenStore(); if (tokenStore.token) { config.headers.token = tokenStore.token; } return config; }, error => { return Promise.reject(error); }); service.interceptors.request.use(config => { const tokenStore = useTokenStore(); if (tokenStore.token) { // 一般后端会约定一个请求头的字段名来接收token,常见的如 'Authorization',并要求按照一定格式传递,比如 'Bearer ',这里按照此格式添加,你需要根据后端实际要求调整 config.headers.token =tokenStore.token; } return config; }, error => { return Promise.reject(error); }); // // Axios的响应拦截器 // service.interceptors.response.use(resp => { // return resp.data; // }, error => { // return Promise.reject(error); // }); //响应拦截器 service.interceptors.response.use(response => { return response.data; }, error =>{ if(error.code === "500"){ ElMessage.error("服务器错误!"); } const response = error.response; if(error.response && error.response.status === 403){ //提示一下权限不足 ElMessage.warning(response.data.message); } else if(response && response.code === 401){ //提示一下未登录 ElMessage.warning(response.data.message); //跳转登录页面 const curURL = router.currentRoute.value.path; if(curURL.startsWith('/')){ router.push('/login') } else{ router.push('/login'); } console.log(); } return Promise.reject(error); }) export default service;