fix;合并修复问题

This commit is contained in:
ljy
2026-07-09 21:42:36 +08:00
parent 3d3588babb
commit 336116fbf2
18 changed files with 341 additions and 190 deletions
@@ -12,7 +12,7 @@ type PartnerSessionValue = {
account: PartnerAccount | null;
loading: boolean;
loggedIn: boolean;
refresh: () => Promise<void>;
refresh: () => Promise<PartnerAccount | null>;
logout: () => void;
};
@@ -21,18 +21,24 @@ const PartnerSessionContext = createContext<PartnerSessionValue | null>(null);
export function PartnerSessionProvider({ children }: { children: ReactNode }) {
const [account, setAccount] = useState<PartnerAccount | null>(null);
const [loading, setLoading] = useState(true);
const [loggedIn, setLoggedIn] = useState(() => isLoggedIn());
const refresh = useCallback(async () => {
const refresh = useCallback(async (): Promise<PartnerAccount | null> => {
if (!isLoggedIn()) {
setAccount(null);
setLoggedIn(false);
setLoading(false);
return;
return null;
}
setLoggedIn(true);
setLoading(true);
try {
const data = await request<PartnerAccount>('PARTNER_H5', '/partner/me');
const data = await request<PartnerAccount>('PARTNER_H5', '/partner/me', { silent: true });
setAccount(data);
return data;
} catch {
setAccount(null);
return null;
} finally {
setLoading(false);
}
@@ -41,6 +47,7 @@ export function PartnerSessionProvider({ children }: { children: ReactNode }) {
const logout = useCallback(() => {
clearAuth();
setAccount(null);
setLoggedIn(false);
window.location.href = toAppPath('/login');
}, []);
@@ -50,7 +57,7 @@ export function PartnerSessionProvider({ children }: { children: ReactNode }) {
return (
<PartnerSessionContext.Provider
value={{ account, loading, loggedIn: isLoggedIn(), refresh, logout }}
value={{ account, loading, loggedIn, refresh, logout }}
>
{children}
</PartnerSessionContext.Provider>