import React, { useState, useEffect } from 'react'; import { Card, Button, Space, Typography, Tag, List, Badge, Empty, Skeleton } from 'antd'; import { CloudOutlined, PhoneOutlined, DesktopOutlined, AppleOutlined, RobotOutlined, WindowsOutlined, RightOutlined } from '@ant-design/icons'; import apiClient from '../utils/apiClient'; import { buildApiUrl, API_ENDPOINTS } from '../config/api'; const { Title, Text } = Typography; const ClientDownloads = () => { const [clients, setClients] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { fetchClients(); }, []); const fetchClients = async () => { try { const response = await apiClient.get(buildApiUrl(API_ENDPOINTS.CLIENT_DOWNLOADS.PUBLIC_LIST)); setClients(response.data.clients || []); } catch (error) { console.error('获取下载列表失败:', error); } finally { setLoading(false); } }; const getPlatformIcon = (platformCode) => { const code = platformCode.toLowerCase(); if (code.includes('win')) return ; if (code.includes('mac') || code.includes('ios')) return ; if (code.includes('android')) return ; return ; }; if (loading) return ; return (
<Space><CloudOutlined /> 客户端下载</Space> {clients.length === 0 ? ( ) : ( (
{getPlatformIcon(client.platform_code)}
{client.platform_name_cn || client.platform_code} {client.is_latest && }
版本: {client.version}
)} /> )}
); }; export default ClientDownloads;