import React, { useState, useEffect } from 'react'; import { Card, Form, Input, Button, Space, Typography, App, Divider, Skeleton } from 'antd'; import { ArrowLeftOutlined, SaveOutlined, EditOutlined } from '@ant-design/icons'; import { useNavigate, useParams } from 'react-router-dom'; import apiClient from '../utils/apiClient'; import { buildApiUrl, API_ENDPOINTS } from '../config/api'; import MarkdownEditor from '../components/MarkdownEditor'; const { Title } = Typography; const EditKnowledgeBase = ({ user }) => { const { kb_id } = useParams(); const navigate = useNavigate(); const { message } = App.useApp(); const [form] = Form.useForm(); const [loading, setLoading] = useState(true); const [saving, setSaving] = useState(false); useEffect(() => { fetchKbDetail(); }, [kb_id]); const fetchKbDetail = async () => { try { const response = await apiClient.get(buildApiUrl(API_ENDPOINTS.KNOWLEDGE_BASE.DETAIL(kb_id))); form.setFieldsValue(response.data); } catch (error) { message.error('加载知识库详情失败'); } finally { setLoading(false); } }; const onFinish = async (values) => { setSaving(true); try { await apiClient.put(buildApiUrl(API_ENDPOINTS.KNOWLEDGE_BASE.UPDATE(kb_id)), values); message.success('更新成功'); navigate('/knowledge-base'); } catch (error) { message.error('更新失败'); } finally { setSaving(false); } }; return (