123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import axios from "axios";
- import { ElMessage } from 'element-plus'
- // 1. 创建axios实例
- const instance = axios.create({
- // 接口
- baseURL: "/api",
- // 超时时间
- timeout: 50000,
- });
- // 2.请求拦截
- instance.interceptors.request.use(
- config => {
- let token = sessionStorage.getItem('token')
- if (token) {
- config.headers['token'] = token
- }
- return config;
- },
- error => {
- // 请求发生错误,抛出异常
- Promise.reject(error);
- }
- );
- // 3.响应拦截
- instance.interceptors.response.use(
- res => {
- return res;
- },
- error => {
- if (error && error.response) {
- const status = error.response.status
- switch (status) {
- case 400:
- ElMessage.error("请求错误");
- break;
- case 401:
- ElMessage.error("未授权,请重新登录");
- break;
- case 403:
- ElMessage.error("拒绝访问");
- break;
- case 404:
- ElMessage.error("请求错误,未找到相应的资源");
- break;
- case 408:
- ElMessage.error("请求超时");
- break;
- case 500:
- ElMessage.error("服务器内部错误");
- break;
- case 501:
- ElMessage.error("网络未实现");
- break;
- case 502:
- ElMessage.error("网络错误");
- break;
- case 503:
- ElMessage.error("服务不可用");
- break;
- case 504:
- ElMessage.error("网络超时");
- break;
- case 505:
- ElMessage.error("HTTP版本不支持该请求");
- break;
- default:
- ElMessage.error("请求失败");
- }
- } else {
- if (JSON.stringify(error).includes("timeout")) {
- ElMessage.error("服务器响应超时,请刷新页面");
- }
- ElMessage.error("连接服务器失败");
- }
- return Promise.reject(error);
- }
- );
- // 4.导出 axios 实例
- export default instance;
|