feat: 优化项目目录结构

This commit is contained in:
2025-12-12 17:25:26 +08:00
parent ae627d0496
commit b89f83291e
235 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
import { UserApi } from "@/lib/api";
import useSWR from "swr";
export function useUserMe({ onError }: { onError?: (e: any) => void } = {}) {
const isClientSide = typeof window !== 'undefined';
const { data: user, isLoading, error } = useSWR(
'/api/user/me',
async () => {
if (isClientSide && !localStorage.getItem('token')) {
throw Object.assign(new Error('未登录'), { statusCode: -1 });
}
return await UserApi.me();
},
{
onError: (error) => {
if (error.statusCode === 401) {
if (isClientSide) {
localStorage.removeItem('token');
}
}
onError?.(error);
},
revalidateIfStale: false,
revalidateOnFocus: false,
shouldRetryOnError: (err) => {
if ([-1, 401].includes(err.statusCode)) {
return false;
}
return true;
},
}
);
return {
user,
isLoading,
error
}
}