xiangqinxiaochengxu/admin-web/src/utils/api.js

27 lines
751 B
JavaScript

export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'https://ghxiangqin.com/api/v1'
export async function apiRequest(url, options = {}) {
const token = localStorage.getItem('admin_token') || ''
const response = await fetch(`${API_BASE_URL}${url}`, {
headers: {
'Content-Type': 'application/json',
Authorization: token ? `Bearer ${token}` : ''
},
...options
})
const data = await response.json()
if (response.status === 401) {
localStorage.removeItem('admin_token')
window.location.href = '/login'
throw new Error('登录已失效,请重新登录')
}
if (!response.ok || data.code !== 0) {
throw new Error(data.message || data.detail || '请求失败')
}
return data.data
}