'use client' import React, { useState } from 'react' import { useRouter } from 'next/navigation' import { ArrowLeft, Camera, Check, Copy } from 'lucide-react' import { ResponsiveLayout } from '@/components/layout/ResponsiveLayout' import { Button } from '@/components/ui/Button' import { Input } from '@/components/ui/Input' import { cn } from '@/lib/utils' import { useToast } from '@/components/ui/Toast' // 模拟用户数据 const mockUser = { name: '李小红', initial: '李', creatorId: 'CR123456', // 达人ID(系统生成,不可修改) phone: '138****8888', email: 'lixiaohong@example.com', douyinAccount: '@xiaohong_creator', bio: '专注美妆护肤分享,与你一起变美~', } export default function ProfileEditPage() { const router = useRouter() const toast = useToast() const [isSaving, setIsSaving] = useState(false) const [idCopied, setIdCopied] = useState(false) const [formData, setFormData] = useState({ name: mockUser.name, phone: mockUser.phone, email: mockUser.email, douyinAccount: mockUser.douyinAccount, bio: mockUser.bio, }) // 复制达人ID const handleCopyId = async () => { try { await navigator.clipboard.writeText(mockUser.creatorId) setIdCopied(true) setTimeout(() => setIdCopied(false), 2000) } catch { toast.error('复制失败,请重试') } } // 处理输入变化 const handleInputChange = (field: string, value: string) => { setFormData(prev => ({ ...prev, [field]: value })) } // 保存 const handleSave = async () => { setIsSaving(true) // 模拟保存 await new Promise(resolve => setTimeout(resolve, 1000)) setIsSaving(false) router.back() } return (
{/* 顶部栏 */}

编辑个人信息

更新您的头像和基本资料

{/* 内容区 */}
{/* 头像编辑卡片 */}
{/* 头像 */}
{mockUser.initial}
{/* 相机按钮 */}

点击更换头像

{/* 提示 */}

支持 JPG、PNG 格式,文件大小不超过 5MB,建议使用正方形图片以获得最佳显示效果。

{/* 表单卡片 */}
{/* 达人ID(只读) */}
{mockUser.creatorId}

系统自动生成的唯一标识,供代理商邀请时使用

{/* 昵称 */}
handleInputChange('name', e.target.value)} placeholder="请输入昵称" />
{/* 手机号 */}
handleInputChange('phone', e.target.value)} placeholder="请输入手机号" className="flex-1" disabled />

手机号用于登录和接收重要通知

{/* 邮箱 */}
handleInputChange('email', e.target.value)} placeholder="请输入邮箱" />
{/* 抖音账号 */}
handleInputChange('douyinAccount', e.target.value)} placeholder="请输入抖音账号" className="flex-1" disabled />

已认证的抖音账号,用于发布视频

{/* 个人简介 */}