import React, { useState } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Switch } from '@/components/ui/switch' import { Plus, Trash2 } from 'lucide-react' import type { MaimMessageConfig } from '../types' interface MaimMessageSectionProps { config: MaimMessageConfig onChange: (config: MaimMessageConfig) => void } export const MaimMessageSection = React.memo(function MaimMessageSection({ config, onChange }: MaimMessageSectionProps) { const [newToken, setNewToken] = useState('') const [newApiKey, setNewApiKey] = useState('') const addToken = () => { if (newToken && !config.auth_token.includes(newToken)) { onChange({ ...config, auth_token: [...config.auth_token, newToken] }) setNewToken('') } } const removeToken = (index: number) => { onChange({ ...config, auth_token: config.auth_token.filter((_, i) => i !== index), }) } const addApiKey = () => { if (newApiKey && !config.api_server_allowed_api_keys.includes(newApiKey)) { onChange({ ...config, api_server_allowed_api_keys: [...config.api_server_allowed_api_keys, newApiKey] }) setNewApiKey('') } } const removeApiKey = (index: number) => { onChange({ ...config, api_server_allowed_api_keys: config.api_server_allowed_api_keys.filter((_, i) => i !== index), }) } return (
用于旧版 API 验证,为空则不启用验证
是否启用额外的新版 API Server(额外监听端口)
为空则允许所有连接