File size: 1,000 Bytes
7fc5208 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import router from "../router";
export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '';
export function getHeaders() {
return {
'Content-Type': 'application/json',
Authorization: `Bearer ${localStorage.getItem('token')}`
};
}
export async function handleResponse(response: Response) {
if (response.status === 401) {
localStorage.removeItem('isAuthenticated');
localStorage.removeItem('token');
router.push('/login');
throw new Error('认证失败,请重新登录');
}
if (!response.ok) {
const contentType = response.headers.get('content-type');
if (contentType && contentType.includes('application/json')) {
const errorData = await response.json();
throw new Error(errorData.error || '请求失败');
} else {
const errorText = await response.text();
throw new Error(errorText || '请求失败');
}
}
return response.json();
} |