核心任务
请作为一个资深全栈工程师,协助我开发/完善名为 "DuoguoDizhi (多国地址生成器)" 的 Web 应用。这是一个免费、开源的工具,利用 Google Gemini AI 生成全球多国(如美、日、韩、中等)的虚构但高度真实的身份信息。
技术栈规范
- Frontend: React (19+), TypeScript.
- Styling: Tailwind CSS (使用 Zinc/Gray 调色盘,追求极简主义风格).
- Icons: Lucide React.
- AI SDK:
@google/genai(必须使用ai.models.generateContent方法,支持responseSchema结构化输出). - Environment: 支持
process.env.API_KEY和process.env.API_BASE_URL(用于中转代理).
设计语言 (UI/UX)
- 色调: 纯白背景 (#ffffff),文字使用 Zinc-900,边框使用 Zinc-100。
- 字体: 正文使用 Inter/Sans-serif,数据展示部分(如卡号、UUID)必须使用 JetBrains Mono 字体。
- 布局: 顶部粘性 Header,中央内容区最大宽度 5xl (1024px),底部极简 Footer。
- 交互:
- 所有生成的数据项点击即可复制,并伴随 Check 勾选反馈。
- 支持中英文一键切换 (i18n)。
- 导出功能:支持一键下载 JSON 和 CSV 格式。
- 生成过程需有优雅的 Loading 动画(使用
Loader2旋转效果)。
核心逻辑:AI 数据生成 (Gemini Service)
- 输入参数: 数量 (1-10)、地区 (Region Enum)、性别 (Male/Female/Any)、年龄段。
- 输出要求:
- JSON 格式: 严格遵守预定义的
UserProfileSchema。 - 语言规则:
- 本地化字段: 姓名、地址、街道、区县、职业、公司名、密保问题、教育程度必须使用目标地区的母语(如日本用日语,中国用中文)。
- 通用字段: 用户名、密码、邮箱、UUID、User-Agent、信用卡号必须使用半角英文/拉丁字符。
- 真实性: 电话格式、邮编、州/省缩写、身份证号段必须符合该国的真实逻辑,但数据必须是虚构的 (Fictional)。
- JSON 格式: 严格遵守预定义的
数据结构 (TypeScript)
export interface UserProfile { id: string; basic: { firstName: string; lastName: string; gender: string; title: string; birthday: string; age: number; hairColor: string; bloodType: string; height: string; weight: string; education: string; }; address: { street: string; city: string; county: string; state: string; stateFull: string; zipCode: string; country: string; }; contact: { phone: string; }; employment: { occupation: string; company: string; companySize: string; status: string; salary: string; }; financial: { cardType: string; creditCardNumber: string; cvv: string; expiry: string; }; ssn: string; nationalId: string; internet: { username: string; password: string; email: string; tempEmail: string; website: string; userAgent: string; os: string; uuid: string; securityQuestion: string; securityAnswer: string; };}
评论 (0)