import { useTranslation } from "react-i18next"; import { useState, useEffect } from "react"; import { ChevronDown, ChevronRight, Coins } from "lucide-react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { cn } from "@/lib/utils"; export type PricingModelSourceOption = "inherit" | "request" | "response"; interface ProviderPricingConfig { enabled: boolean; costMultiplier?: string; pricingModelSource: PricingModelSourceOption; } interface ProviderAdvancedConfigProps { pricingConfig: ProviderPricingConfig; onPricingConfigChange: (config: ProviderPricingConfig) => void; } export function ProviderAdvancedConfig({ pricingConfig, onPricingConfigChange, }: ProviderAdvancedConfigProps) { const { t } = useTranslation(); const [isPricingConfigOpen, setIsPricingConfigOpen] = useState( pricingConfig.enabled, ); useEffect(() => { setIsPricingConfigOpen(pricingConfig.enabled); }, [pricingConfig.enabled]); return (
{/* 计费配置 */}

{t("providerAdvanced.pricingConfigDesc", { defaultValue: "为此供应商配置单独的计费参数,不启用时使用全局默认配置。", })}

onPricingConfigChange({ ...pricingConfig, costMultiplier: e.target.value || undefined, }) } placeholder={t("providerAdvanced.costMultiplierPlaceholder", { defaultValue: "留空使用全局默认(1)", })} disabled={!pricingConfig.enabled} />

{t("providerAdvanced.costMultiplierHint", { defaultValue: "实际成本 = 基础成本 × 倍率,支持小数如 1.5", })}

{t("providerAdvanced.pricingModelSourceHint", { defaultValue: "选择按请求模型还是返回模型进行定价匹配", })}

); }