import axios from "axios"; import { ElMessage } from "element-plus"; import useStorage from "@/utils/useStorage"; import router from "@/router"; const service = axios.create({ baseURL: import.meta.env.MODE == "development" ? "/kp/" : import.meta.env.VITE_API_KP_URL, // withCredentials: true, // 跨域请求时发送 cookies timeout: 5000, // 请求超时 }); // 请求拦截器 service.interceptors.request.use( (config) => { // 在发送请求之前做些什么 token config.headers["pctoken"] = useStorage.get("token"); config.headers["ispc"] = 1; config.headers["loginName"] = useStorage.get("userInfo").loginName; config.headers["clientType"] = "pc"; config.headers["shopId"] = useStorage.get("userInfo").shopId; return config; }, (error) => { // 处理请求错误 return Promise.reject(error); } ); // 响应拦截器 service.interceptors.response.use( (response) => { // 对响应数据做点什么 if (+response.status === 200) { if (+response.data.code == 1) { return response.data.data; } else { // 响应错误 ElMessage.error(response.data.msg); return Promise.reject(response.data); } } }, (error) => { // 对响应错误做点什么 if (error.message.indexOf("timeout") != -1) { ElMessage.error("网络超时"); } else if (error.message == "Network Error") { ElMessage.error("网络连接错误"); } else { console.log(error); if (error.response.data) ElMessage.error(error.response.statusText); else ElMessage.error("接口路径找不到"); } return Promise.reject(error); } ); export default service;