'use client' import { useState, useEffect } from 'react' import { useRouter } from 'next/navigation' import Link from 'next/link' import AssetImport from '@/components/assets/AssetImport' import { ArrowLeft } from 'lucide-react' export default function ImportPage() { const router = useRouter() const [authorized, setAuthorized] = useState(false) useEffect(() => { fetch('/api/auth/me').then(r => r.json()).then(d => { const perms: string[] = d.user?.permissions || [] if (!perms.includes('*') && !perms.includes('assets:import')) router.replace('/assets') else setAuthorized(true) }).catch(() => router.replace('/assets')) }, [router]) if (!authorized) return
验证权限中...
async function handleImport(file: File) { const formData = new FormData() formData.append('file', file) const res = await fetch('/api/assets/import', { method: 'POST', body: formData }) const data = await res.json() if (!res.ok) throw new Error(data.error || '导入失败') return data as { created: number; updated: number; errors: string[] } } return (

导入资产

) }