26 lines
675 B
TypeScript
26 lines
675 B
TypeScript
import Axios, { type AxiosRequestConfig, type AxiosResponse } from 'axios';
|
|
export const AXIOS_INSTANCE = Axios.create();
|
|
|
|
export const axiosInstance = <T>(
|
|
config: AxiosRequestConfig,
|
|
options?: AxiosRequestConfig,
|
|
): Promise<AxiosResponse<T, any>> => {
|
|
const baseURL = useRuntimeConfig().public.apiBaseUrl;
|
|
const source = Axios.CancelToken.source();
|
|
const promise = AXIOS_INSTANCE({
|
|
...config,
|
|
...{
|
|
...options,
|
|
baseURL: baseURL,
|
|
auth: {
|
|
username: 'user',
|
|
password: 'password',
|
|
}
|
|
},
|
|
cancelToken: source.token,
|
|
});
|
|
|
|
return promise;
|
|
};
|
|
|