import axios from 'axios' // 简单 axios 封装,保留原有接口定义,方便后续扩展 const api = axios.create({ baseURL: import.meta.env.VITE_API_URL, headers: { 'Content-Type': 'application/json' } }) api.interceptors.request.use( (config) => config, (error) => Promise.reject(error) ) api.interceptors.response.use( (response) => response, (error) => Promise.reject(error.response?.data || error) ) export const uploadFile = async (file) => { const formData = new FormData() formData.append('file', file) const response = await api.post('/files/upload/image', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) return response.data } export const downloadFile = async (key) => { const response = await api.post( '/files/download', { key }, { responseType: 'blob' } ) return response.data } export const fetchQrInfoApi = async (qrCode) => { const response = await api.get('/qr/info', { params: { qrCode } }) return response.data } export const verifyMaintenanceCodeApi = async (payload) => { const response = await api.post('/qr/verify', payload) return response.data } export const verifyMaintenanceCodeInfoApi = async (payload) => { const response = await api.post('/qr/verify/info', payload) return response.data } export const updatePersonProfileApi = async (profilePayload) => { const response = await api.put('/person/update', profilePayload) return response.data } export const updatePetProfileApi = async (profilePayload) => { const response = await api.put('/pet/update', profilePayload) return response.data } export const updateGoodsInfoApi = async (goodsPayload) => { const response = await api.put('/goods/update', goodsPayload) return response.data } export const createScanRecordApi = async (recordPayload) => { const response = await api.post('/scan/create', recordPayload) return response.data } export const fetchRecentScanRecordsApi = async (qrCode, maintenanceCode) => { const response = await api.get('/scan/recent', { params: { qrCode, maintenanceCode } }) return response.data }