|
@@ -25,12 +25,19 @@ axiosInstance.interceptors.request.use(
|
|
|
(error) => Promise.reject(error),
|
|
(error) => Promise.reject(error),
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+const authPaths = ['/auth/login', '/auth/register']
|
|
|
|
|
+
|
|
|
axiosInstance.interceptors.response.use(
|
|
axiosInstance.interceptors.response.use(
|
|
|
(response: AxiosResponse) => {
|
|
(response: AxiosResponse) => {
|
|
|
const { code, message } = response.data
|
|
const { code, message } = response.data
|
|
|
if (code === 200) {
|
|
if (code === 200) {
|
|
|
return response.data
|
|
return response.data
|
|
|
}
|
|
}
|
|
|
|
|
+ if (code === 401 && !authPaths.some(p => response.config.url?.includes(p))) {
|
|
|
|
|
+ const userStore = useUserStore()
|
|
|
|
|
+ userStore.logout()
|
|
|
|
|
+ router.push('/login')
|
|
|
|
|
+ }
|
|
|
return Promise.reject(new Error(message || '请求失败'))
|
|
return Promise.reject(new Error(message || '请求失败'))
|
|
|
},
|
|
},
|
|
|
(error) => {
|
|
(error) => {
|