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: "为此供应商配置单独的计费参数,不启用时使用全局默认配置。", })}
{t("providerAdvanced.costMultiplierHint", { defaultValue: "实际成本 = 基础成本 × 倍率,支持小数如 1.5", })}
{t("providerAdvanced.pricingModelSourceHint", { defaultValue: "选择按请求模型还是返回模型进行定价匹配", })}