'use client' import { useRouter, useSearchParams } from 'next/navigation' import Link from 'next/link' import { HandleResponse, LoginForm, Logo } from '@/components' import { useLoginMutation } from '@/store/services' import { useDispatch } from 'react-redux' import { useEffect } from 'react' import { userLogin, showAlert } from '@/store' import { useTitle } from '@/hooks' export default function LoginPage() { useTitle('管理员登录') //? Assets const dispatch = useDispatch() const { push } = useRouter() //? Login User const [login, { data, isSuccess, isError, isLoading, error }] = useLoginMutation() //? Handlers const submitHander = async ({ email, password }) => { if (email && password) { await login({ body: { email, password }, }) } } //? Handle Login User Response useEffect(() => { if (isSuccess) { if (data?.data?.user.root || data?.data?.user.role === 'admin') { dispatch(userLogin(data?.data.token)) dispatch( showAlert({ status: 'success', title: data.message, }) ) push('/admin') } else { dispatch( showAlert({ status: 'error', title: '您无权访问管理面板', }) ) } } }, [isSuccess]) useEffect(() => { if (isError && error) dispatch( showAlert({ status: 'error', title: error?.data?.message, }) ) }, [isError]) return ( <>

登录

您可以使用下面的电子邮件地址和密码来查看管理仪表板。
Email: admin@gmail.com
Password: 123456
) }