| | |
| | | timeout: 10000, |
| | | }) |
| | | |
| | | function redirectToLogin() { |
| | | localStorage.removeItem('admin_token') |
| | | if (location.pathname !== '/login') location.href = '/login' |
| | | } |
| | | |
| | | http.interceptors.request.use((config) => { |
| | | const token = localStorage.getItem('admin_token') |
| | | if (token) config.headers.Authorization = `Bearer ${token}` |
| | |
| | | (response) => { |
| | | const body = response.data |
| | | if (body.code !== 0) { |
| | | const message = body.message || "请求失败" |
| | | const message = body.message || '请求失败' |
| | | if (body.code === 401 || body.code === '401') { |
| | | redirectToLogin() |
| | | } |
| | | ElMessage.error(message) |
| | | const error = new Error(message) |
| | | error.code = body.code |
| | |
| | | }, |
| | | (error) => { |
| | | if (error.response?.status === 401) { |
| | | localStorage.removeItem('admin_token') |
| | | if (location.pathname !== '/login') location.href = '/login' |
| | | redirectToLogin() |
| | | } |
| | | ElMessage.error(error.response?.data?.message || error.message || '网络异常') |
| | | return Promise.reject(error) |