diff --git a/.gitignore b/.gitignore index 053df37..752a6bd 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,10 @@ # ===== Go ===== server/server +server/server-* server/tmp/ +server/bin/ +server/cmd/test-*/ *.exe *.exe~ *.dll diff --git a/apps/web/src/app/platform/providers/page.tsx b/apps/web/src/app/platform/providers/page.tsx index d9ac792..1d55de0 100644 --- a/apps/web/src/app/platform/providers/page.tsx +++ b/apps/web/src/app/platform/providers/page.tsx @@ -26,7 +26,7 @@ import { AlertDialogTitle, } from "@/components/ui/alert-dialog"; import { toast } from "sonner"; -import { Plus, Pencil, Power, Trash2, Cpu, CheckCircle2, XCircle } from "lucide-react"; +import { Plus, Pencil, Power, Trash2, Cpu, CheckCircle2, XCircle, Wifi } from "lucide-react"; import { Pagination } from "@/components/ui/pagination"; interface ProviderForm { @@ -55,6 +55,7 @@ export default function PlatformProvidersPage() { const [editing, setEditing] = useState(null); const [deleteTarget, setDeleteTarget] = useState(null); const [page, setPage] = useState(1); + const [testingId, setTestingId] = useState(null); const { data: providers } = useQuery({ queryKey: ["platformProviders"], @@ -126,6 +127,31 @@ export default function PlatformProvidersPage() { onError: (e: Error) => toast.error(e.message), }); + const testConnection = useMutation({ + mutationFn: (id: string) => api.post(`/api/v1/platform/providers/${id}/test`), + onSuccess: (data: any) => { + if (data.success) { + toast.success("连接测试成功", { + description: data.response || "Provider 响应正常", + }); + } else { + toast.error("连接测试失败", { + description: data.message || "未知错误", + }); + } + setTestingId(null); + }, + onError: (e: Error) => { + toast.error("连接测试失败", { description: e.message }); + setTestingId(null); + }, + }); + + const handleTest = (id: string) => { + setTestingId(id); + testConnection.mutate(id); + }; + const handleSubmit = () => { if (!editing) return; if (!editing.name || !editing.base_url) { @@ -222,6 +248,16 @@ export default function PlatformProvidersPage() { > 编辑 +