import React, { useState } from 'react'; import { message } from 'antd'; import { AppCard } from '@/components/common'; import { getAppsByPageType } from '@/mock'; import './AppPlaza.scss'; /** * 应用广场(AppPlaza)- H5 移动端 * * 根据分类 Tab 显示不同的应用列表 * 复用主系统的 AppCard 组件,使用移动端样式 */ const AppPlaza: React.FC = () => { // 分类 Tab const categories = ['推荐', '收藏', '专业知识', '职能管理', '项目级应用', '其他']; const [activeCategory, setActiveCategory] = useState('推荐'); // 页面类型映射 const pageTypeMap: Record = { '推荐': 'appPlaza', '收藏': 'myApps', // 收藏的应用 '专业知识': 'professional', '职能管理': 'functional', '项目级应用': 'project', '其他': 'otherApps', }; // 获取应用数据 const pageType = pageTypeMap[activeCategory] || 'appPlaza'; const apps = getAppsByPageType(pageType as any).slice(0, 10); // 处理卡片点击 const handleCardClick = (appId: string) => { console.log('点击应用:', appId); message.info('打开应用'); }; return (
{/* 分类 Tab */}
{categories.map((cat) => ( ))}
{/* 2 列卡片网格 */}
{apps.map((app) => (
handleCardClick(app.id)} >
))}
); }; export default AppPlaza;