blob: 8c60d4b6d8269dd8d4450f8fd00b430c242825dc [file] [log] [blame]
San3yuan4d0e8032025-04-04 17:21:40 +08001import axios from 'axios'
2import type { AxiosRequestConfig, AxiosResponse } from 'axios'
3
4const instance = axios.create({
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +08005 // baseURL: process.env.API_BASE_URL,
6 baseURL: 'http://localhost:8080',
San3yuan4d0e8032025-04-04 17:21:40 +08007 timeout: 10000,
8 headers: {
9 'Content-Type': 'application/json'
10 }
11 })
12
13 // 请求拦截器
14 instance.interceptors.request.use(
15 (config) => {
16 // 添加认证 token
San3yuan6f2ed692025-04-16 20:24:49 +080017 const token = localStorage.getItem('token')
San3yuan4d0e8032025-04-04 17:21:40 +080018 if (token) {
19 config.headers.Authorization = `Bearer ${token}`
20 }
21 return config
22 },
23 (error) => {
24 return Promise.reject(error)
25 }
26 )
27
28 // 响应拦截器
29 instance.interceptors.response.use(
30 (response) => {
31 console.log('Response:', response)
32 // 统一处理响应数据格式
33 if (response.status === 200) {
34 return response.data
35 }
36 return Promise.reject(response.data)
37 },
38 (error) => {
39 // 统一错误处理
40 console.error('API Error:', error.response?.status, error.message)
41 return Promise.reject(error)
42 }
43 )
44
45export default instance