import { useState, useEffect } from 'react' import { useNavigate, Link } from 'react-router-dom' import { Eye, EyeOff, Shield, Zap, Users, FileText, ArrowRight } from 'lucide-react' import Logo from '../../components/ui/Logo' import { useForm } from 'react-hook-form' import { zodResolver } from '@hookform/resolvers/zod' import { z } from 'zod' import { useAuthStore } from '../../store/authStore' import { authApi } from '../../lib/api-services' import { Input, Label } from '../../components/ui/Input' import Button from '../../components/ui/Button' const schema = z.object({ phone: z.string().regex(/^1[3-9]\d{9}$/, '手机号格式不正确'), password: z.string().min(1, '请输入密码'), }) type FormData = z.infer export default function Login() { const navigate = useNavigate() const { setAuth } = useAuthStore() const [showPassword, setShowPassword] = useState(false) const [error, setError] = useState('') const [loading, setLoading] = useState(false) const [remember, setRemember] = useState(false) const { register, handleSubmit, setValue, formState: { errors } } = useForm({ resolver: zodResolver(schema), defaultValues: { phone: '13800000001', password: '12345678', }, }) // 读取记住的账号密码 useEffect(() => { try { const saved = localStorage.getItem('admin-login-remember') if (saved) { const { phone, password } = JSON.parse(saved) if (phone) setValue('phone', phone) if (password) setValue('password', password) setRemember(true) } } catch { // 忽略解析错误 } }, [setValue]) const onSubmit = async (data: FormData) => { setError('') setLoading(true) try { const res = await authApi.login(data) as any if (remember) { localStorage.setItem('admin-login-remember', JSON.stringify({ phone: data.phone, password: data.password })) } else { localStorage.removeItem('admin-login-remember') } setAuth(res.user, res.accessToken, res.refreshToken) navigate('/') } catch (err: any) { setError(err.response?.data?.error?.message || '登录失败,请稍后重试') } finally { setLoading(false) } } const features = [ { icon: Users, title: '智能花名册', desc: '员工档案全生命周期管理' }, { icon: FileText, title: '合同自动化', desc: '电子签约 + 到期预警' }, { icon: Shield, title: '合规风控', desc: 'AI 驱动的用工风险检测' }, { icon: Zap, title: '薪税一键算', desc: '工资社保个税自动计算' }, ] return (
{/* 左侧品牌展示区 */}
{/* 装饰性几何图形 */}
{/* Logo + 品牌名 */}
安职通
嘉驰英才(上海)信息科技有限公司
{/* 标语 */}

让用工管理
简单、合规、高效

一站式人力资源数字化解决方案,覆盖员工全生命周期,AI 赋能合规风控

{/* 功能亮点 */}
{features.map((f, i) => (
{f.title}
{f.desc}
))}
{/* 底部版权 */}
© 2026 嘉驰英才(上海)信息科技有限公司
{/* 右侧登录表单区 */}
{/* 移动端 Logo */}
安职通
{/* 欢迎语 */}

欢迎回来

登录您的账户,开始高效管理

{error && (
⚠️ {error}
)}
{errors.phone &&

{errors.phone.message}

}
{errors.password &&

{errors.password.message}

}
忘记密码?
{/* 分割线 */}
还没有账户?
注册新企业
) }