| | |
| | | import axios from "axios"; |
| | | import { useRoute } from "vue-router"; |
| | | |
| | | const route = useRoute(); |
| | | import { ElMessage } from 'element-plus' |
| | | |
| | | axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8"; |
| | | |
| | | |
| | | const service = axios.create({ |
| | | baseURL: import.meta.env.VITE_BASE_API_URL, |
| | |
| | | break; |
| | | case 401: |
| | | console.log("服务器认证失败"); |
| | | route.replace('/login'); |
| | | location.href = '/login'; |
| | | |
| | | break; |
| | | case 403: |
| | | console.log("服务器拒绝访问"); |
| | | route.replace('/login'); |
| | | break; |
| | | case 404: |
| | | console.log("地址错误"); |
| | |
| | | console.log("服务器无响应"); |
| | | break; |
| | | default: |
| | | console.log(info); |
| | | console.log("其他错误"); |
| | | break; |
| | | } |
| | | ElMessage.error({ |
| | | message: info.message || '系统错误,请稍后重试', |
| | | grouping: true, |
| | | }); |
| | | }; |
| | | |
| | | |
| | |
| | | |
| | | // response拦截器 |
| | | service.interceptors.response.use( |
| | | (res) => { |
| | | if (response.status === 200 && response.data.code === 200) return Promise.resolve(response.data); |
| | | else return Promise.reject(response.data); |
| | | (response) => { |
| | | if (response.status === 200 && response.data.code === 1){ |
| | | return Promise.resolve(response.data); |
| | | } else { |
| | | errorHandle(response.data.code, response.data); |
| | | return Promise.reject(response.data); |
| | | } |
| | | }, |
| | | (error) => { |
| | | const { response } = error; |
| | | errorHandle(response.status, response.info); |
| | | return Promise.reject(error); |
| | | errorHandle(response.status, response); |
| | | }, |
| | | ); |
| | | |