import type {AxiosResponse, InternalAxiosRequestConfig} from 'axios' import axios from 'axios' import {useIndexStore} from "@/stores"; import {computed} from "vue"; interface RequestOptions { url: string method: 'get' | 'post' | 'put' | 'delete' params?: Record data?: Record } const instance = axios.create({ baseURL: "/", }) instance.interceptors.request.use( (config: InternalAxiosRequestConfig) => { return config }, (error) => { return Promise.reject(error) } ) instance.interceptors.response.use( (response: AxiosResponse) => { return response.data }, (error) => { return Promise.reject(error); } ) const request = ({url, method, params, data}: RequestOptions): Promise => { return instance({url, method, params, data, baseURL: window.$baseUrl}) } export default request