diff --git a/packages/client/src/data/user.tsx b/packages/client/src/data/user.tsx index 3f0f7a62..e19186db 100644 --- a/packages/client/src/data/user.tsx +++ b/packages/client/src/data/user.tsx @@ -18,7 +18,7 @@ export const useUser = () => { const login = useCallback( (data) => { - HttpClient.post('/user/login', data).then((res) => { + return HttpClient.post('/user/login', data).then((res) => { const user = res as unknown as ILoginUser; mutate(user); setStorage('user', JSON.stringify(user)); diff --git a/packages/client/src/pages/login/index.tsx b/packages/client/src/pages/login/index.tsx index d9bf21b1..feca9414 100644 --- a/packages/client/src/pages/login/index.tsx +++ b/packages/client/src/pages/login/index.tsx @@ -3,8 +3,9 @@ import { Author } from 'components/author'; import { LogoImage, LogoText } from 'components/logo'; import { Seo } from 'components/seo'; import { useUser } from 'data/user'; +import { useToggle } from 'hooks/use-toggle'; import Link from 'next/link'; -import React from 'react'; +import React, { useCallback } from 'react'; import styles from './index.module.scss'; @@ -13,6 +14,21 @@ const { Title, Text } = Typography; const Page = () => { const { login } = useUser(); + const [loading, toggleLoading] = useToggle(false); + + const toLogin = useCallback( + (data) => { + toggleLoading(true); + login(data) + .then(() => { + toggleLoading(false); + }) + .catch(() => { + toggleLoading(false); + }); + }, + [login, toggleLoading] + ); return ( @@ -24,7 +40,7 @@ const Page = () => { -
+ 账户登录 @@ -45,7 +61,7 @@ const Page = () => { placeholder="输入用户密码" rules={[{ required: true, message: '请输入密码' }]} > -