refactor: 前端登录/权限/界面状态迁移至 zustand
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import axios, { type AxiosRequestConfig } from 'axios';
|
||||
import { clearPermissions } from '../auth/permission-store';
|
||||
import { usePermissionStore } from '../store/permission/permissionStore';
|
||||
import { useUserStore } from '../store/user/userStore';
|
||||
|
||||
const instance = axios.create({
|
||||
baseURL: '/api',
|
||||
@@ -7,7 +8,7 @@ const instance = axios.create({
|
||||
});
|
||||
|
||||
instance.interceptors.request.use((config) => {
|
||||
const token = localStorage.getItem('token');
|
||||
const token = useUserStore.getState().token;
|
||||
if (token) {
|
||||
config.headers.Authorization = `Bearer ${token}`;
|
||||
}
|
||||
@@ -20,9 +21,8 @@ instance.interceptors.response.use(
|
||||
const isLoginRequest = err.config?.url === '/auth/login' || err.config?.url === 'auth/login';
|
||||
|
||||
if (err.response?.status === 401 && !isLoginRequest) {
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('user');
|
||||
clearPermissions();
|
||||
useUserStore.getState().logout();
|
||||
usePermissionStore.getState().clearPermissions();
|
||||
window.location.href = '/login';
|
||||
}
|
||||
if (err.response?.status === 403) {
|
||||
|
||||
Reference in New Issue
Block a user