import axios from "axios";
import { useUserStore } from "@/store/user.js";
const instance = axios.create({
baseURL: import.meta.env.VITE_API_URL,
timeout: 5000,
});
instance.interceptors.request.use(
(config) => {
const store = useUserStore();
if (store.userinfo.token != "") {
config.headers.Authorization = store.userinfo.token;
}
return config;
},
(err) => {
return Promise.reject(err);
}
);
instance.interceptors.response.use(
(response) => {
return response;
},
(err) => {
return Promise.reject(err);
}
);
const callapi = (method = "GET", url, data = {}) => {
const params = method === "GET" ? data : {};
const body = ["POST", "PUT"].includes(method) ? data : {};
const options = { method, url, params, data: body };
return instance(options);
};
export const getapi = (url, data) => callapi("GET", url, data);
export const postapi = (url, data) => callapi("POST", url, data);
export const putapi = (url, data) => callapi("PUT", url, data);
export const deleteapi = (url, data) => callapi("DELETE", url, data);