Feature: Multi-tenant + Billing + Analytics - 3 new modules with 40+ API endpoints

This commit is contained in:
qyyfw committed 2026-07-07 18:53:40 +08:00
1 parent e9ec429d21
commit aec63eaf56
10 files changed
+2504 -497

No files matched your search

+21 -1
View File
@@ -22,6 +22,9 @@ const adminNavItems = [
{ path: '/admin/privacy', icon: 'privacy', label: '隐私与本地代理' },
{ path: '/admin/promotion', icon: 'promotion', label: '推广系统' },
{ path: '/admin/achievement', icon: 'achievement', label: '成就系统' },
{ path: '/admin/tenant', icon: 'tenant', label: '多租户管理' },
{ path: '/admin/billing', icon: 'billing', label: '计费与支付' },
{ path: '/admin/analytics', icon: 'analytics', label: '数据分析' },
{ path: '/admin/im-bots', icon: 'imbot', label: 'IM 机器人' },
];
@@ -52,7 +55,24 @@ const adminIconPaths: Record<string, JSX.Element> = {
</svg>,
achievement: <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87L18.18 22 12 18.27 7.82 22 7 14.14l-5-4.87 6.91-1.01L12 2z"/>
</svg>,};
</svg>,
tenant: <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
<path d="M3 21V8l9-5 9 5v13"/>
<path d="M9 21v-6h6v6"/>
<path d="M3 13h18"/>
</svg>,
billing: <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
<rect x="2" y="5" width="20" height="14" rx="2"/>
<line x1="2" y1="10" x2="22" y2="10"/>
<line x1="6" y1="15" x2="10" y2="15"/>
</svg>,
analytics: <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round">
<line x1="18" y1="20" x2="18" y2="10"/>
<line x1="12" y1="20" x2="12" y2="4"/>
<line x1="6" y1="20" x2="6" y2="14"/>
<line x1="3" y1="20" x2="21" y2="20"/>
</svg>,
};
const AdminLayout: React.FC = () => {
const { user, logout } = useAuth();