From 9682c82713bba4ef126e031a68cfee16613962db Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Sun, 23 Apr 2023 08:12:23 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=87=AD=E8=AF=81=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Layout/auth.tsx | 2 +- src/pages/model/list/index.tsx | 4 +--- src/pages/number/setting.tsx | 5 +++-- src/store/user.ts | 14 ++++++++------ 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/components/Layout/auth.tsx b/src/components/Layout/auth.tsx index 79f451848..b1d9a52c0 100644 --- a/src/components/Layout/auth.tsx +++ b/src/components/Layout/auth.tsx @@ -33,7 +33,7 @@ const Auth = ({ children }: { children: JSX.Element }) => { { onError(error) { console.log('error->', error); - router.push('/login'); + router.replace('/login'); toast(); }, onSettled() { diff --git a/src/pages/model/list/index.tsx b/src/pages/model/list/index.tsx index 1c70c68d0..6bc96a5ee 100644 --- a/src/pages/model/list/index.tsx +++ b/src/pages/model/list/index.tsx @@ -38,9 +38,7 @@ const modelList = () => { async (modelId: string) => { setIsLoading(true); try { - const chatId = await getChatSiteId(modelId); - - router.push(`/chat?chatId=${chatId}`, undefined, { + router.push(`/chat?modelId=${modelId}`, undefined, { shallow: true }); } catch (err: any) { diff --git a/src/pages/number/setting.tsx b/src/pages/number/setting.tsx index df646d654..a4a09eb0f 100644 --- a/src/pages/number/setting.tsx +++ b/src/pages/number/setting.tsx @@ -18,7 +18,7 @@ const PayModal = dynamic(() => import('./components/PayModal')); const NumberSetting = () => { const router = useRouter(); - const { userInfo, updateUserInfo, initUserInfo } = useUserStore(); + const { userInfo, updateUserInfo, initUserInfo, setUserInfo } = useUserStore(); const { setLoading } = useGlobalStore(); const { register, handleSubmit } = useForm({ defaultValues: userInfo as UserType @@ -47,8 +47,9 @@ const NumberSetting = () => { const onclickLogOut = useCallback(() => { clearToken(); + setUserInfo(null); router.replace('/login'); - }, [router]); + }, [router, setUserInfo]); return ( <> diff --git a/src/store/user.ts b/src/store/user.ts index ec5bf538b..411704252 100644 --- a/src/store/user.ts +++ b/src/store/user.ts @@ -11,7 +11,7 @@ import { getTokenLogin } from '@/api/user'; type State = { userInfo: UserType | null; initUserInfo: () => Promise; - setUserInfo: (user: UserType, token?: string) => void; + setUserInfo: (user: UserType | null, token?: string) => void; updateUserInfo: (user: UserUpdateParams) => void; myModels: ModelSchema[]; getMyModels: () => void; @@ -27,12 +27,14 @@ export const useUserStore = create()( get().setUserInfo(res); return null; }, - setUserInfo(user: UserType, token?: string) { + setUserInfo(user: UserType | null, token?: string) { set((state) => { - state.userInfo = { - ...user, - balance: formatPrice(user.balance) - }; + state.userInfo = user + ? { + ...user, + balance: formatPrice(user.balance) + } + : null; }); token && setToken(token); },