fix: 登录持久化修复+缓存清零+跨浏览器一致性
This commit is contained in:
@@ -12,7 +12,7 @@ function LogoMark() {
|
||||
);
|
||||
}
|
||||
|
||||
export function LoginPage({ onAuthed }: { onAuthed: () => void }) {
|
||||
export function LoginPage() {
|
||||
const [mode, setMode] = useState<'login' | 'register'>('login');
|
||||
const [username, setUsername] = useState('');
|
||||
const [password, setPassword] = useState('');
|
||||
@@ -34,7 +34,7 @@ export function LoginPage({ onAuthed }: { onAuthed: () => void }) {
|
||||
if (!invite.trim()) throw new Error('请填写邀请码');
|
||||
await serverRegister(username.trim(), password, invite.trim());
|
||||
}
|
||||
onAuthed();
|
||||
setTimeout(() => window.location.reload(), 200);
|
||||
} catch (e) {
|
||||
setError((e as Error).message);
|
||||
} finally {
|
||||
|
||||
@@ -17,7 +17,7 @@ export function AppShell() {
|
||||
}, []);
|
||||
|
||||
if (!authed) {
|
||||
return <LoginPage onAuthed={() => setAuthed(true)} />;
|
||||
return <LoginPage />;
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -40,7 +40,8 @@ function LogoMark() {
|
||||
export function Sidebar({ open, onClose }: { open: boolean; onClose: () => void }) {
|
||||
const qc = useQueryClient();
|
||||
const meQ = useQuery({
|
||||
queryKey: ['me'],
|
||||
queryKey: ['me', getToken() ?? ''],
|
||||
refetchOnMount: 'always',
|
||||
queryFn: () => serverMe(),
|
||||
enabled: !!getToken(),
|
||||
retry: 0,
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ import './styles/theme.css';
|
||||
|
||||
const queryClient = new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: { retry: 1, refetchOnWindowFocus: false, staleTime: 15_000 }
|
||||
queries: { retry: 1, refetchOnWindowFocus: true, staleTime: 0, gcTime: 0 }
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user