refactor: 前端重构控制台用户状态管理

This commit is contained in:
2025-12-17 15:38:06 +08:00
parent 86086a7054
commit 0f0b5f227d
6 changed files with 142 additions and 221 deletions

View File

@@ -12,37 +12,23 @@ import {
SidebarProvider,
SidebarTrigger,
} from "@/components/ui/sidebar"
import { useUserMe } from "@/hooks/user/use-user-me";
import { UserApi } from "@/lib/api";
import { useRouter } from "next/navigation";
import { toast } from "sonner";
import { useUserStore } from "@/store/useUserStore";
// import { useUserMe } from "@/hooks/user/use-user-me";
// import { useRouter } from "next/navigation";
// import { toast } from "sonner";
export default function ConsoleMenuLayout({
children,
}: {
children: React.ReactNode
}) {
const router = useRouter();
// const router = useRouter();
const { user, isLoading, error } = useUserMe({
onError: (e) => {
if (e.statusCode === 401) {
toast.info('登录凭证已失效,请重新登录');
router.replace('/console/login');
}
}
});
if (!isLoading && !error && !user) {
router.replace('/console/login');
localStorage.removeItem('token');
localStorage.removeItem(UserApi.USER_ME_CACHE_KEY);
toast.error('账户状态异常,请重新登录');
}
const user = useUserStore().user;
return (
<SidebarProvider>
<AppSidebar user={user} isUserLoading={isLoading} />
<AppSidebar user={user} />
<SidebarInset>
<header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-[[data-collapsible=icon]]/sidebar-wrapper:h-12">
<div className="flex items-center gap-2 px-4">