修复设备列表无限请求数据的问题

This commit is contained in:
柳清爽
2025-03-31 12:04:59 +08:00
parent dfe73f9a22
commit c4698bd22a
78 changed files with 370 additions and 14224 deletions

View File

@@ -7,8 +7,11 @@ export const handleTokenExpired = () => {
localStorage.removeItem('token');
localStorage.removeItem('user');
// 跳转到登录页
window.location.href = '/login';
// 使用客户端导航而不是直接修改window.location
// 避免在服务端渲染时执行
setTimeout(() => {
window.location.href = '/login';
}, 0);
}
};
@@ -16,7 +19,10 @@ export const handleTokenExpired = () => {
export const handleApiResponse = <T>(response: Response, result: any): T => {
// 处理token过期情况
if (result && (result.code === 401 || result.msg?.includes('token'))) {
handleTokenExpired();
// 仅在客户端处理token过期
if (typeof window !== 'undefined') {
handleTokenExpired();
}
throw new Error(result.msg || '登录已过期,请重新登录');
}
@@ -30,7 +36,10 @@ export const handleApiError = (error: unknown): never => {
if (error instanceof Error) {
// 如果是未授权错误可能是token过期
if (error.message.includes('401') || error.message.includes('token') || error.message.includes('授权')) {
handleTokenExpired();
// 仅在客户端处理token过期
if (typeof window !== 'undefined') {
handleTokenExpired();
}
}
throw error;
}