Files
car_rental/frontend/src/api/http.js
王子琦 0446cc184b add
2026-01-16 13:26:57 +08:00

35 lines
835 B
JavaScript

import axios from 'axios'
import { Message } from '@arco-design/web-vue'
import { useAuthStore } from '../store/auth'
const http = axios.create({
baseURL: 'http://localhost:8080',
timeout: 15000
})
http.interceptors.request.use((config) => {
const store = useAuthStore()
if (store.token) {
config.headers.Authorization = `Bearer ${store.token}`
}
return config
})
http.interceptors.response.use(
(response) => {
const res = response.data
if (res.code !== 0) {
Message.error(res.message || 'Request failed')
return Promise.reject(new Error(res.message || 'Request failed'))
}
return res.data
},
(error) => {
const message = error?.response?.data?.message || error.message || 'Request failed'
Message.error(message)
return Promise.reject(error)
}
)
export default http