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();
}