import React, { useEffect, useLayoutEffect, useState } from 'react'; import { Layout, MainLayout } from './layout/UserLayout'; import { useUserStore } from './store'; import { message } from '@/modules/message'; export const Info = () => { return ( ); }; export const ProfileForm: React.FC = () => { const [nickname, setNickname] = useState(''); const [name, setName] = useState(''); const [avatar, setAvatar] = useState(null); const userStore = useUserStore(); const handleAvatarChange = (e: React.ChangeEvent) => { if (e.target.files && e.target.files[0]) { const file = e.target.files[0]; // 如果文件大于 2MB,提示用户 if (file.size > 2 * 1024 * 1024) { message.error('文件大小不能超过 2MB'); return; } const reader = new FileReader(); reader.onload = () => { setAvatar(reader.result as string); }; reader.readAsDataURL(file); } }; const handleSubmit = () => { // alert(`昵称: ${nickname}, 姓名: ${name}`) userStore.updateUser({ nickname, data: { personalname: name, }, avatar, }); }; useLayoutEffect(() => { userStore.getUpdateUser(); }, []); useEffect(() => { if (userStore.data) { setNickname(userStore.data.nickname); setName(userStore.data?.data?.personalname); setAvatar(userStore.data.avatar); } }, [userStore.data]); return (

完善个人信息

请设置您的基本信息

{/* Avatar Section */}
{/* Form Fields */}
setNickname(e.target.value)} className='w-full border-[#FBBF24] rounded-lg p-2 border focus:outline-none focus:ring-2 focus:ring-[#F39800]' />
setName(e.target.value)} className='w-full border-[#FBBF24] rounded-lg p-2 border focus:outline-none focus:ring-2 focus:ring-[#F39800]' />
{/* Submit Button */}
); };