"use client"; import { useState, useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Card } from "@/components/ui/card"; import { fetchPublicAIModels, type AIConfig } from "@/features/agent/services/aiConfigApi"; interface ChatModeSelectorProps { onSelect: (mode: "human" | "ai", aiConfigId?: number) => void; loading?: boolean; } export function ChatModeSelector({ onSelect, loading }: ChatModeSelectorProps) { const [aiModels, setAiModels] = useState([]); const [loadingModels, setLoadingModels] = useState(true); const [selectedModel, setSelectedModel] = useState(null); // 加载开放的 AI 模型列表 useEffect(() => { async function loadModels() { try { const models = await fetchPublicAIModels("text"); setAiModels(models); // 如果有模型,默认选择第一个 if (models.length > 0) { setSelectedModel(models[0].id); } } catch (error) { console.error("加载模型列表失败:", error); } finally { setLoadingModels(false); } } loadModels(); }, []); const handleSelectHuman = () => { onSelect("human"); }; const handleSelectAI = () => { if (selectedModel) { onSelect("ai", selectedModel); } else if (aiModels.length > 0) { // 如果没有选择,使用第一个模型 onSelect("ai", aiModels[0].id); } }; return (

欢迎使用客服系统

请选择您需要的服务方式

{/* 人工客服选项 */}

人工客服

由专业客服人员为您提供一对一服务

{/* AI 客服选项 */}

AI 客服

智能 AI 助手,24 小时在线为您服务

{loadingModels ? (
加载模型中...
) : aiModels.length === 0 ? (
暂无可用的 AI 模型
) : ( <> {/* 模型选择下拉框 */} )}
); }