import React, { useState, useEffect } from 'react'; import Head from 'next/head'; import { useRouter } from 'next/router'; import MagicalGirlCard from '../components/MagicalGirlCard'; import { useCooldown } from '../lib/cooldown'; import { quickCheck } from '@/lib/sensitive-word-filter'; interface Questionnaire { questions: string[]; } interface MagicalGirlDetails { codename: string; appearance: { outfit: string; accessories: string; colorScheme: string; overallLook: string; }; magicConstruct: { name: string; form: string; basicAbilities: string[]; description: string; }; wonderlandRule: { name: string; description: string; tendency: string; activation: string; }; blooming: { name: string; evolvedAbilities: string[]; evolvedForm: string; evolvedOutfit: string; powerLevel: string; }; analysis: { personalityAnalysis: string; abilityReasoning: string; coreTraits: string[]; predictionBasis: string; }; } const SaveJsonButton: React.FC<{ magicalGirlDetails: MagicalGirlDetails; answers: string[] }> = ({ magicalGirlDetails, answers }) => { const [isMobile, setIsMobile] = useState(false); const [showJsonText, setShowJsonText] = useState(false); useEffect(() => { const userAgent = navigator.userAgent.toLowerCase(); const isMobileDevice = /mobile|android|iphone|ipad|ipod|blackberry|iemobile|opera mini/.test(userAgent); setIsMobile(isMobileDevice); }, []); const downloadJson = () => { // 将用户答案添加到保存的数据中 const dataToSave = { ...magicalGirlDetails, userAnswers: answers }; const jsonData = JSON.stringify(dataToSave, null, 2); const blob = new Blob([jsonData], { type: 'application/json' }); const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = `魔法少女_${magicalGirlDetails.codename || 'data'}.json`; document.body.appendChild(link); link.click(); document.body.removeChild(link); URL.revokeObjectURL(url); }; const handleSave = () => { if (isMobile) { setShowJsonText(true); } else { downloadJson(); } }; if (showJsonText) { return (

请复制以下数据并保存