Files
skt-vuetify-templates/src/services/client.ts
T

22 lines
701 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import axios, { type AxiosInstance } from 'axios'
import { setupInterceptors } from './interceptors'
// HTTP ClientAxios instance
//
// 設計重點:
// - 透過單一 axios instance 統一管理 baseURL、timeout、headers 與攔截器
// - 預設 baseURL 使用 `/api`:搭配 Vite proxy 轉送到後端 dev server
// - 攔截器集中在 `interceptors.ts`,避免 client.ts 變得難維護
function createClient(): AxiosInstance {
const baseURL = import.meta.env.VITE_API_BASE_URL || '/service/api'
const client = axios.create({
baseURL,
timeout: 10_000,
withCredentials: true,
})
setupInterceptors(client)
return client
}
export const httpClient = createClient()