Phase 4: IM Bot Integration - admin module, frontend, LangBot gateway, routing rules, quick setup wizard

This commit is contained in:
qyyfw committed 2026-07-06 19:59:05 +08:00
1 parent 46fb67026d
commit 7daeae6fc7
7 files changed
+2310 -1

No files matched your search

+2
View File
@@ -39,6 +39,7 @@ import AdminAgents from '@/pages/admin/Agents';
import AdminCodeExec from '@/pages/admin/CodeExec';;
import DistributionBuilder from '@/pages/admin/DistributionBuilder';
import PrivacySettings from '@/pages/admin/PrivacySettings';
import ImBots from '@/pages/admin/ImBots';
const App: React.FC = () => {
const [user, setUser] = useState<User | null>(null);
@@ -120,6 +121,7 @@ const App: React.FC = () => {
<Route path="agents" element={<AdminAgents />} />
<Route path="code-exec" element={<AdminCodeExec />} />
<Route path="distributions" element={<DistributionBuilder />} />
<Route path="im-bots" element={<ImBots />} />
<Route path="privacy" element={<PrivacySettings />} />
</Route>
+19
View File
@@ -814,4 +814,23 @@ export const evolutionAPI = {
getPrivacyUsageStats: () => get<any>('/admin/privacy/usage/stats'),
getBridgeConfig: () => get<any>('/admin/privacy/bridge-config'),
// IM Bot Management (Phase 4)
getImBotStats: () => get('/admin/im-bot/stats'),
getImBotDashboard: () => get('/admin/im-bot/dashboard'),
getImBotChannels: (params?: string) => get(`/admin/im-bot/channels${params || ''}`),
getImBotChannelDetail: (id: string) => get(`/admin/im-bot/channels/${id}`),
testImBotChannel: (id: string) => post(`/admin/im-bot/channels/${id}/test`),
activateImBotChannel: (id: string) => post(`/admin/im-bot/channels/${id}/activate`),
deactivateImBotChannel: (id: string) => post(`/admin/im-bot/channels/${id}/deactivate`),
getImBotRoutes: (params?: string) => get(`/admin/im-bot/routes${params || ''}`),
createImBotRoute: (params: string) => post(`/admin/im-bot/routes${params}`),
deleteImBotRoute: (id: string) => del(`/admin/im-bot/routes/${id}`),
getLangbotConfig: () => get('/admin/im-bot/langbot'),
updateLangbotConfig: (params: string) => post(`/admin/im-bot/langbot${params}`),
testLangbot: (params: string) => post(`/admin/im-bot/langbot/test${params}`),
getImBotPlatforms: () => get('/admin/im-bot/platforms'),
getImBotWebhookUrl: (platform: string) => get(`/admin/im-bot/webhook-url/${platform}`),
getImBotMessages: (params?: string) => get(`/admin/im-bot/messages${params || ''}`),
imBotQuickSetup: (params: string) => post(`/admin/im-bot/quick-setup${params}`),
};
@@ -20,6 +20,7 @@ const adminNavItems = [
{ path: '/admin/code-exec', icon: 'code', label: '代码执行沙箱' },
{ path: '/admin/distributions', icon: 'distro', label: '发行版构建' },
{ path: '/admin/privacy', icon: 'privacy', label: '隐私与本地代理' },
{ path: '/admin/im-bots', icon: 'imbot', label: 'IM 机器人' },
];
const adminIconPaths: Record<string, JSX.Element> = {
File diff suppressed because it is too large. Load diff