import axios from 'axios';
|
import { AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios';
|
export const service = axios.create({
|
baseURL: process.env.BASE_URL
|
})
|
|
service.interceptors.request.use(function (config: AxiosRequestConfig) {
|
loadingStart();
|
return config;
|
}, function (error: AxiosError) {
|
loadingFinish();
|
return Promise.reject(error);
|
});
|
|
service.interceptors.response.use(function (response: AxiosResponse) {
|
loadingFinish();
|
return response;
|
}, function (error: AxiosError) {
|
loadingFinish();
|
return Promise.reject(error);
|
});
|
|
function loadingStart(): void {
|
setTimeout(() => {
|
window.$nuxt.$loading.start();
|
});
|
}
|
|
function loadingFinish(): void {
|
window.$nuxt.$loading.finish();
|
}
|