"use client" import { useState } from "react" import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Textarea } from "@/components/ui/textarea" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Code, Plus, X } from "lucide-react" interface PublishApiDialogProps { open: boolean onOpenChange: (open: boolean) => void } export function PublishApiDialog({ open, onOpenChange }: PublishApiDialogProps) { const [formData, setFormData] = useState({ name: "", description: "", endpoint: "/api/v1/", method: "GET", params: [] as { name: string; type: string; required: boolean; desc: string }[], rateLimit: "1000", }) const addParam = () => { setFormData({ ...formData, params: [...formData.params, { name: "", type: "string", required: false, desc: "" }], }) } const removeParam = (index: number) => { setFormData({ ...formData, params: formData.params.filter((_, i) => i !== index), }) } const handleSubmit = () => { console.log("发布API:", formData) onOpenChange(false) } return ( 发布API服务
setFormData({ ...formData, name: e.target.value })} />