import axios from 'axios';
import packageJson from '~/package.json';
const config = useRuntimeConfig();
// ---------- dynamic
interface EnvironmentConfigs {
[key: string]: string;
}
const environmentConfigs: EnvironmentConfigs = {
development: config.developmentBaseurl,
staging: config.stagingBaseurl,
production: config.productionBaseurl
};
const baseURL = environmentConfigs[packageJson.environment_config];
if (!baseURL) {
throw new Error('Invalid environment configuration');
}
export const devApiClient = axios.create({
baseURL,
})
// Add response interceptor to handle token expiration
devApiClient.interceptors.response.use(
(response) => {
// Do something with response data
return response;
},
(error) => {
// Do something with response error
if (error.response.data === 'Unauthorized: Invalid or expired token\n') {
console.error('Token expired, redirecting to login page...');
}
return Promise.reject(error);
}
);
import axios from 'axios';
import packageJson from '~/package.json';
const config = useRuntimeConfig();
// ---------- dynamic
interface EnvironmentConfigs {
[key: string]: string;
}
const environmentConfigs: EnvironmentConfigs = {
development: config.developmentBaseurl,
staging: config.stagingBaseurl,
production: config.productionBaseurl
};
const baseURL = environmentConfigs[packageJson.environment_config];
if (!baseURL) {
throw new Error('Invalid environment configuration');
}
export const devApiClient = axios.create({
baseURL,
})
// Add response interceptor to handle token expiration
devApiClient.interceptors.response.use(
(response) => {
// Do something with response data
return response;
},
(error) => {
// Do something with response error
if (error.response.data === 'Unauthorized: Invalid or expired token\n') {
console.error('Token expired, redirecting to login page...');
}
return Promise.reject(error);
}
);