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" ? "/php/" : import.meta.env.VITE_API_PHP_URL, // withCredentials: true, // 跨域请求时发送 cookies timeout: 5000, // 请求超时 }); // 请求拦截器 service.interceptors.request.use( (config) => { // 在发送请求之前做些什么 token if (useStorage.get("douyin") && useStorage.get("douyin").token) { config.headers["bausertoken"] = useStorage.get("douyin").token; // config.headers['Content-Type'] = 'application/json' } 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;