import axios from 'axios' const getApiBase = () => { return localStorage.getItem('HF_BACKEND_BASE_URL') } const api = axios.create({ baseURL: getApiBase(), }) api.interceptors.request.use((config) => { config.baseURL = getApiBase() const token = localStorage.getItem('token') if (token) { config.headers.Authorization = `Bearer ${token}` } return config }) api.interceptors.response.use( (res) => res, (err) => { if (err.response?.status === 401) { localStorage.removeItem('token') const path = window.location.pathname const publicPaths = ['/monitor', '/login'] if (!publicPaths.some((p) => path.startsWith(p))) { window.location.href = '/login' } } return Promise.reject(err) } ) export default api