Phase G1-1~G1-6: MCP Marketplace Fusion - DB migration, mcp_market_admin.py, Deep Link generator, basic security scanner, McpMarketTab.tsx frontend, Market.tsx integration

This commit is contained in:
qyyfw committed 2026-07-06 11:48:21 +08:00
1 parent 49dcea0a11
commit 909c013e2d
5 files changed
+1985 -1

No files matched your search

+7 -1
View File
@@ -1,5 +1,6 @@
import React, { useState, useEffect, useCallback } from 'react';
import { adminAPI } from '@/api';
import McpMarketTab from './McpMarketTab';
// ============================================================
// Types
@@ -112,7 +113,7 @@ const Icon = ({ name, size = 18, color = 'currentColor' }: { name: string; size?
// Main Component
// ============================================================
const Market: React.FC = () => {
const [activeTab, setActiveTab] = useState<'overview' | 'apps' | 'pending' | 'coupons' | 'reviews'>('overview');
const [activeTab, setActiveTab] = useState<'overview' | 'apps' | 'pending' | 'coupons' | 'reviews' | 'mcp'>('overview');
const [loading, setLoading] = useState(false);
// Overview data
@@ -262,6 +263,7 @@ const Market: React.FC = () => {
{ key: 'pending', label: `待审核${pendingTotal > 0 ? `(${pendingTotal})` : ''}`, icon: 'eye' },
{ key: 'coupons', label: '优惠券', icon: 'tag' },
{ key: 'reviews', label: '用户评价', icon: 'star' },
{ key: 'mcp', label: 'MCP工具', icon: 'tool' },
] as const;
return (
@@ -343,6 +345,10 @@ const Market: React.FC = () => {
<ReviewsList reviews={reviews} />
)}
{!loading && activeTab === 'mcp' && (
<McpMarketTab />
)}
{/* Edit Modal */}
{editApp && (
<EditAppModal app={editApp} onClose={() => setEditApp(null)} onSaved={() => { setEditApp(null); loadApps(); }} />