From e98f320f41b6d4560d59c114eaa43af34f5ce8a5 Mon Sep 17 00:00:00 2001 From: scarqin Date: Tue, 24 Dec 2024 17:29:31 +0800 Subject: [PATCH] feat: add route apikey and ai api --- frontend/packages/common/src/const/const.tsx | 5 +- .../src/contexts/GlobalStateContext.tsx | 25 +- .../packages/common/src/hooks/pluginLoader.ts | 32 +- .../components/aoplatform/RenderRoutes.tsx | 19 +- frontend/packages/core/src/const/const.tsx | 1296 ++++++++++------- .../packages/core/src/pages/aiApis/index.tsx | 17 + .../src/pages/aiSetting/AiSettingList.tsx | 15 +- .../core/src/pages/keySettings/index.tsx | 17 + 8 files changed, 863 insertions(+), 563 deletions(-) create mode 100644 frontend/packages/core/src/pages/aiApis/index.tsx create mode 100644 frontend/packages/core/src/pages/keySettings/index.tsx diff --git a/frontend/packages/common/src/const/const.tsx b/frontend/packages/common/src/const/const.tsx index a7dae296..4b1ae941 100644 --- a/frontend/packages/common/src/const/const.tsx +++ b/frontend/packages/common/src/const/const.tsx @@ -26,7 +26,10 @@ export const routerKeyMap = new Map([ ['operationCenter', ['member', 'user', 'role', 'common']], ['organization', ['member', 'user', 'role']], ['serviceHubSetting', ['common']], - ['maintenanceCenter', ['aisetting', 'datasourcing', 'cluster', 'cert', 'logsettings', 'resourcesettings', 'openapi']] + [ + 'maintenanceCenter', + ['aisetting', 'keysetting', 'datasourcing', 'cluster', 'cert', 'logsettings', 'resourcesettings', 'openapi'] + ] ]) export const COLUMNS_TITLE = { diff --git a/frontend/packages/common/src/contexts/GlobalStateContext.tsx b/frontend/packages/common/src/contexts/GlobalStateContext.tsx index 7af94e61..c75721f4 100644 --- a/frontend/packages/common/src/contexts/GlobalStateContext.tsx +++ b/frontend/packages/common/src/contexts/GlobalStateContext.tsx @@ -132,13 +132,34 @@ const mockData = [ path: '/cluster', icon: 'ic:baseline-device-hub', access: 'system.settings.api_gateway.view' - }, + } + ] + }, + { + name: 'AI', + key: 'aiSettings', + path: '/aisetting', + children: [ { name: 'AI 模型', - key: 'aisetting', + key: 'aiProviders', path: '/aisetting', icon: 'hugeicons:ai-network', access: 'system.settings.ai_provider.view' + }, + { + name: 'APIKey 资源池', + key: 'aiKeys', + path: '/keysetting', + icon: 'ic:baseline-key' + // access: 'system.settings.ai_key_resource.view' + }, + { + name: 'AI API', + key: 'aiApiList', + path: '/aiapis', + icon: 'ic:baseline-api' + // access: 'system.settings.ai_api.view' } ] }, diff --git a/frontend/packages/common/src/hooks/pluginLoader.ts b/frontend/packages/common/src/hooks/pluginLoader.ts index 57b72006..3f20b78f 100644 --- a/frontend/packages/common/src/hooks/pluginLoader.ts +++ b/frontend/packages/common/src/hooks/pluginLoader.ts @@ -1,17 +1,17 @@ -import { useEffect, useState } from 'react' +import { ApiparkPluginDriverType, RouterMapConfig } from '@common/const/type' +import { PluginConfigType } from '@common/const/type.ts' import { useGlobalContext } from '@common/contexts/GlobalStateContext' +import { usePluginEventHub } from '@common/contexts/PluginEventHubContext' +import { usePluginSlotHub } from '@common/contexts/PluginSlotHubContext' +import { useFetch } from '@common/hooks/http' import { DEFAULT_LOCAL_PLUGIN_PATH, generateRemoteModuleTemplate, loadRemoteModule, validateExportLifecycle } from '@common/utils/plugin.tsx' -import { useFetch } from '@common/hooks/http' -import { PluginConfigType } from '@common/const/type.ts' -import { ApiparkPluginDriverType, RouterMapConfig } from '@common/const/type' -import { usePluginEventHub } from '@common/contexts/PluginEventHubContext' -import { usePluginSlotHub } from '@common/contexts/PluginSlotHubContext' import { App } from 'antd' +import { useEffect, useState } from 'react' const mockData = { buildAt: '2024-09-13T03:51:25Z', @@ -80,6 +80,26 @@ const mockData = { } ] }, + { + driver: 'apipark.builtIn.component', + name: 'keysetting', + router: [ + { + path: 'keysetting', + type: 'normal' + } + ] + }, + { + driver: 'apipark.builtIn.component', + name: 'aiapis', + router: [ + { + path: 'aiapis', + type: 'normal' + } + ] + }, { driver: 'apipark.builtIn.component', name: 'cert', diff --git a/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx b/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx index a0e08ffe..2639caba 100644 --- a/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx +++ b/frontend/packages/core/src/components/aoplatform/RenderRoutes.tsx @@ -12,10 +12,7 @@ import React, { createElement, Suspense, useEffect, useState } from 'react' import { createBrowserRouter, RouteObject, RouterProvider } from 'react-router-dom' const RenderRoutes = () => { - const { loadPlugins, loadExecutedPlugin } = usePluginLoader( - ApiparkPluginDriver(routerMap), - routerMap - ) + const { loadPlugins, loadExecutedPlugin } = usePluginLoader(ApiparkPluginDriver(routerMap), routerMap) const { routeConfig, dispatch, state } = useGlobalContext() const [router, setRouter] = useState(null) @@ -54,9 +51,7 @@ const generateRoutes = (routerConfig: RouteConfig[]): RouteObject[] => { if (typeof route.lazy === 'function') { const result = route.lazy() if (result instanceof Promise) { - LazyComponent = React.lazy(() => - result.then(module => ({ default: module.default || module })) - ) + LazyComponent = React.lazy(() => result.then((module) => ({ default: module.default || module }))) } else { LazyComponent = result } @@ -77,17 +72,11 @@ const generateRoutes = (routerConfig: RouteConfig[]): RouteObject[] => { } > - {route.provider ? ( - createElement(route.provider, {}, ) - ) : ( - - )} + {route.provider ? createElement(route.provider, {}, ) : } ) } else { - routeElement = route.provider - ? createElement(route.provider, {}, route.component) - : route.component + routeElement = route.provider ? createElement(route.provider, {}, route.component) : route.component } return { diff --git a/frontend/packages/core/src/const/const.tsx b/frontend/packages/core/src/const/const.tsx index bf4b7923..1661b591 100644 --- a/frontend/packages/core/src/const/const.tsx +++ b/frontend/packages/core/src/const/const.tsx @@ -1,533 +1,779 @@ -import component from '@common/components/aoplatform/prompt-editor/plugins/workflow-variable-block/component'; -import { RouterMapConfig } from '@common/const/type'; -import { ProtectedRoute } from '@core/components/aoplatform/RenderRoutes'; -import { AiServiceProvider } from '@core/contexts/AiServiceContext'; -import { SystemProvider } from '@core/contexts/SystemContext'; -import { TeamProvider } from '@core/contexts/TeamContext'; -import AiServiceOutlet from '@core/pages/aiService/AiServiceOutlet'; -import Guide from '@core/pages/guide/Guide'; -import Login from '@core/pages/Login'; -import ServicePolicyLayout from '@core/pages/policy/ServicePolicyLayout'; -import SystemOutlet from '@core/pages/system/SystemOutlet'; -import { TenantManagementProvider } from '@market/contexts/TenantManagementContext'; -import { lazy } from 'react'; -import { Outlet, Navigate } from 'react-router-dom'; +import { RouterMapConfig } from '@common/const/type' +import { ProtectedRoute } from '@core/components/aoplatform/RenderRoutes' +import { AiServiceProvider } from '@core/contexts/AiServiceContext' +import { SystemProvider } from '@core/contexts/SystemContext' +import { TeamProvider } from '@core/contexts/TeamContext' +import AiServiceOutlet from '@core/pages/aiService/AiServiceOutlet' +import Guide from '@core/pages/guide/Guide' +import Login from '@core/pages/Login' +import ServicePolicyLayout from '@core/pages/policy/ServicePolicyLayout' +import SystemOutlet from '@core/pages/system/SystemOutlet' +import { TenantManagementProvider } from '@market/contexts/TenantManagementContext' +import { lazy } from 'react' +import { Navigate, Outlet } from 'react-router-dom' - - // 内置插件与对应组件/模块 - export const routerMap:Map = new Map([ - ['basicLayout', { type: 'component', component: }], - ['navHidden', { type: 'component', component: }], - ['login', { type: 'component', component: }], - ['guide',{ - type:'component', - component: - }], - ['team', {type: 'module', - component:, - key: 'team', - provider: TeamProvider, - children:[ - { - path:'', - key: 'teamList', - component: - }, - { - path:'list', - key: 'teamList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamList.tsx')) - }, - { - path:'inside/:teamId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamInsidePage.tsx')), - key: 'teamInside', - children:[ - { - path:'member', - key: 'teamMember', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamInsideMember.tsx')), - }, - { - path:'setting', - key: 'teamSetting', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamConfig.tsx')), - }, - ] - } - ] - }], - ['service', { +// 内置插件与对应组件/模块 +export const routerMap: Map = new Map([ + ['basicLayout', { type: 'component', component: }], + ['navHidden', { type: 'component', component: }], + ['login', { type: 'component', component: }], + [ + 'guide', + { + type: 'component', + component: + } + ], + [ + 'team', + { type: 'module', - path:'service', - component:, - key: 'service', - provider: SystemProvider, - children:[ - { - path:'', - key:'serviceList', - component: - }, - { - path:'list', - key: 'serviceList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemList.tsx')), - }, - { - path:'list/:teamId', - key: 'serviceList3', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemList.tsx')), - }, - { - path:':teamId', - component:, - key: 'serviceInside', - children:[ - { - path:'inside/:serviceId', - key: 'restServiceInside', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsidePage.tsx')), - children:[ - { - path:'api', - key: 'restServiceInsideApi', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideApiDocument.tsx')), - }, - { - - path:'route/create', - key: 'restServiceInsideRouteCreate', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterCreate')), - }, - { - - path:'route/:routeId', - key: 'restServiceInsideRouteEdit', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterCreate')), - }, - { - path:'route', - key: 'restServiceInsideRoute', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterList')), - }, - { - path:'upstream', - key: 'restServiceInsideUpstream', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/upstream/SystemInsideUpstreamContent.tsx')), - }, - { - path:'document', - key: 'restServiceInsideDocument', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsideDocument.tsx')), - }, - { - path:'subscriber', - key: 'restServiceInsideSubscriber', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsideSubscriber.tsx')), - children:[ - - ] - }, - { - path:'approval', - key: 'restServiceInsideApproval', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApproval.tsx')), - children:[ - { - path:'', - key: 'restServiceInsideApprovalList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApprovalList.tsx')), - }, - { - path:'*', - key: 'restServiceInsideApprovalList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApprovalList.tsx')), - } - ] - }, - { - path:'publish', - key: 'systemPublish', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublish.tsx')), - children:[ - { - path:'', - key: 'systemPublishList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublishList.tsx')), - }, - { - path:'*', - key: 'systemPublishList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublishList.tsx')), - } - ] - }, - { - path:'setting', - key: 'systemConfig', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemConfig.tsx')), - children:[ - - ] - }, - { - path:'servicepolicy', - key: 'servicepolicy', - component:, - children:[{ - path:'datamasking', - component:, - key:'dataMasking', - children:[ - { - path:'list', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/servicePolicy')), - key:'dataMaskingList' - }, - { - path:'create', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }, - { - path:':policyId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }] - } - ] - }, - ] - }, - { - path:'aiInside/:serviceId', - component:, - provider: AiServiceProvider, - key: 'aiServiceInside', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsidePage.tsx')), - children:[ - { - path:'api', - key: 'aiServiceInsideApi', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideApiDocument')), - }, - { - - path:'route/create', - key: 'aiServiceInsideRouteCreate', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterCreate')), - }, - { - - path:'route/:routeId', - key: 'aiServiceInsideRouteEdit', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterCreate')), - }, - { - path:'route', - key: 'aiServiceInsideRouteList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterList')), - }, - { - path:'document', - key: 'aiServiceInsideDocument', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsideDocument.tsx')), - }, - { - path:'subscriber', - key: 'aiServiceInsideSubscriber', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsideSubscriber.tsx')), - children:[ - - ] - }, - { - path:'approval', - key: 'aiServiceInsideApproval', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApproval')), - children:[ - { - path:'', - key: 'aiServiceInsideApprovalList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApprovalList')), - }, - { - path:'*', - key: 'aiServiceInsideApprovalList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApprovalList')), - } - ] - }, - { - path:'publish', - key: 'aiServiceInsidePublish', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublish')), - children:[ - { - path:'', - key: 'aiServiceInsidePublishList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublishList')), - }, - { - path:'*', - key: 'aiServiceInsidePublishList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublishList')), - } - ] - }, - { - path:'setting', - key: 'aiServiceInsideSetting', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemConfig.tsx')), - children:[ - - ] - }, - { - path:'servicepolicy', - key: 'servicepolicy', - component:, - children:[{ - path:'datamasking', - component:, - key:'dataMasking', - children:[ - { - path:'list', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/servicePolicy')), - key:'dataMaskingList' - }, - { - path:'create', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }, - { - path:':policyId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }] - } - ] - }, - ] - } - ] - } - ] - }], - ['datasourcing', { type: 'component', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideDashboardSetting.tsx')) - }], - ['cluster', { type: 'component', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideCluster.tsx')), - }], - ['aisetting', { type: 'component', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiSetting/AiSettingList.tsx')), - }], - ['cert', { type: 'component', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideCert.tsx')), - }], - - ['serviceHub', { - type: 'module', - component:, - key:'serviceHub', - children:[ - { - path:'', - key: 'serviceHubList', - component: - }, - { - path:'list', - key:'serviceHubList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/ServiceHubList.tsx')), - }, - { - path:'detail/:serviceId', - key:'serviceHubDetail', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/ServiceHubDetail.tsx')), - }] - }], - - ['commonsetting', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/common/CommonPage.tsx')), - }], - - ['consumer', { type: 'module', - component:, - provider:TenantManagementProvider, - key:'consumer', - children:[ - { - path:'', - key:'consumerList', - component: - }, - { - path:':teamId/inside/:appId', - key:'consumerInside', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsidePage.tsx')), - children:[ - { - path:'service', - key:'consumerInsideService', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsideService.tsx')), - }, - { - path:'authorization', - key:'consumerInsideAuthorization', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsideAuth.tsx')), - }, - { - path:'setting', - key:'consumerSetting', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementAppSetting.tsx')), - }, - ] - }, - { - path:'list', - key:'serviceHubManagementList', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ServiceHubManagement.tsx')), - }, - { - path:'list/:teamId', - key:'serviceHubManagementList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ServiceHubManagement.tsx')), - }, - ]}], - ['member', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberPage.tsx')), - children:[ - { - path:'', - key:'memberList', - component: - }, - { - path:'list', - key:'memberList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberList.tsx')), - }, - { - path:'list/:memberGroupId', - key:'memberList3', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberList.tsx')), - } - ], - }], - ['role', { type: 'module', - component:, - children:[ - { - path: '', - key: 'roleList', - component: - }, - { - path:'list', - key:'roleList2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleList.tsx')), - }, - { - path:':roleType/config/:roleId', - key:'roleConfig', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleConfig.tsx')), - }, - { - path:':roleType/config', - key:'roleConfig2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleConfig.tsx')), - } - ] - }], - ['analytics', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/Dashboard.tsx')), - key:'analytics', - children:[ + component: , + key: 'team', + provider: TeamProvider, + children: [ { - path:'total', - key:'analytics2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardTotal.tsx')), + path: '', + key: 'teamList', + component: }, { - path:':dashboardType', - key:'analytics3', - component:, - children:[ - { - path:'list', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardList.tsx')), - key:'analyticsList' - }, - { - path:'detail/:dashboardDetailId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardDetail.tsx')), - key:'analyticsDetail' - }, - ] - } - ] - }], - ['template', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx')), - }], - ['logsettings', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/logsettings/LogSettings.tsx')), - key:'logsettings', - children:[ - { - path:'template/:moduleId', - key:'logSettings2', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx')), - }, - ] - }], - ['resourcesettings', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/resourcesettings/ResourceSettings.tsx')), - key:'resourcesettings', - children:[ - { - path:'template/:moduleId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx')), - key:'resourceSettings2' - }, - ] - }], - ['userProfile', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/userProfile/UserProfile.tsx')), - key:'userProfile', - children:[{ - path:'changepsw', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/userProfile/ChangePsw.tsx')), - key:'changePsw' - }]}], - ['globalPolicy', { type: 'module', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/GlobalPolicyLayout')), - key:'globalPolicy', - children:[{ - path:'datamasking', - component:, - key:'dataMasking', - children:[ + path: 'list', + key: 'teamList2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamList.tsx')) + }, + { + path: 'inside/:teamId', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamInsidePage.tsx')), + key: 'teamInside', + children: [ { - path:'list', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/globalPolicy')), - key:'dataMaskingList' + path: 'member', + key: 'teamMember', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamInsideMember.tsx')) }, { - path:'create', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }, - { - path:':policyId', - lazy:lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig')), - key:'dataMaskingAdd' - }] - }] - }], - ]) \ No newline at end of file + path: 'setting', + key: 'teamSetting', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/team/TeamConfig.tsx')) + } + ] + } + ] + } + ], + [ + 'service', + { + type: 'module', + path: 'service', + component: , + key: 'service', + provider: SystemProvider, + children: [ + { + path: '', + key: 'serviceList', + component: + }, + { + path: 'list', + key: 'serviceList2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemList.tsx')) + }, + { + path: 'list/:teamId', + key: 'serviceList3', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemList.tsx')) + }, + { + path: ':teamId', + component: , + key: 'serviceInside', + children: [ + { + path: 'inside/:serviceId', + key: 'restServiceInside', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsidePage.tsx')), + children: [ + { + path: 'api', + key: 'restServiceInsideApi', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideApiDocument.tsx') + ) + }, + { + path: 'route/create', + key: 'restServiceInsideRouteCreate', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterCreate') + ) + }, + { + path: 'route/:routeId', + key: 'restServiceInsideRouteEdit', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterCreate') + ) + }, + { + path: 'route', + key: 'restServiceInsideRoute', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/system/api/SystemInsideRouterList') + ) + }, + { + path: 'upstream', + key: 'restServiceInsideUpstream', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/system/upstream/SystemInsideUpstreamContent.tsx' + ) + ) + }, + { + path: 'document', + key: 'restServiceInsideDocument', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsideDocument.tsx') + ) + }, + { + path: 'subscriber', + key: 'restServiceInsideSubscriber', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemInsideSubscriber.tsx') + ), + children: [] + }, + { + path: 'approval', + key: 'restServiceInsideApproval', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApproval.tsx') + ), + children: [ + { + path: '', + key: 'restServiceInsideApprovalList', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApprovalList.tsx' + ) + ) + }, + { + path: '*', + key: 'restServiceInsideApprovalList2', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/system/approval/SystemInsideApprovalList.tsx' + ) + ) + } + ] + }, + { + path: 'publish', + key: 'systemPublish', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublish.tsx') + ), + children: [ + { + path: '', + key: 'systemPublishList', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublishList.tsx' + ) + ) + }, + { + path: '*', + key: 'systemPublishList2', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/system/publish/SystemInsidePublishList.tsx' + ) + ) + } + ] + }, + { + path: 'setting', + key: 'systemConfig', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemConfig.tsx')), + children: [] + }, + { + path: 'servicepolicy', + key: 'servicepolicy', + component: , + children: [ + { + path: 'datamasking', + component: , + key: 'dataMasking', + children: [ + { + path: 'list', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/servicePolicy') + ), + key: 'dataMaskingList' + }, + { + path: 'create', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig' + ) + ), + key: 'dataMaskingAdd' + }, + { + path: ':policyId', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig' + ) + ), + key: 'dataMaskingAdd' + } + ] + } + ] + } + ] + }, + { + path: 'aiInside/:serviceId', + component: , + provider: AiServiceProvider, + key: 'aiServiceInside', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsidePage.tsx') + ), + children: [ + { + path: 'api', + key: 'aiServiceInsideApi', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideApiDocument') + ) + }, + { + path: 'route/create', + key: 'aiServiceInsideRouteCreate', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterCreate' + ) + ) + }, + { + path: 'route/:routeId', + key: 'aiServiceInsideRouteEdit', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterCreate' + ) + ) + }, + { + path: 'route', + key: 'aiServiceInsideRouteList', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/api/AiServiceInsideRouterList') + ) + }, + { + path: 'document', + key: 'aiServiceInsideDocument', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsideDocument.tsx') + ) + }, + { + path: 'subscriber', + key: 'aiServiceInsideSubscriber', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/AiServiceInsideSubscriber.tsx') + ), + children: [] + }, + { + path: 'approval', + key: 'aiServiceInsideApproval', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApproval' + ) + ), + children: [ + { + path: '', + key: 'aiServiceInsideApprovalList', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApprovalList' + ) + ) + }, + { + path: '*', + key: 'aiServiceInsideApprovalList2', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/approval/AiServiceInsideApprovalList' + ) + ) + } + ] + }, + { + path: 'publish', + key: 'aiServiceInsidePublish', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublish') + ), + children: [ + { + path: '', + key: 'aiServiceInsidePublishList', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublishList' + ) + ) + }, + { + path: '*', + key: 'aiServiceInsidePublishList2', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/aiService/publish/AiServiceInsidePublishList' + ) + ) + } + ] + }, + { + path: 'setting', + key: 'aiServiceInsideSetting', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/system/SystemConfig.tsx')), + children: [] + }, + { + path: 'servicepolicy', + key: 'servicepolicy', + component: , + children: [ + { + path: 'datamasking', + component: , + key: 'dataMasking', + children: [ + { + path: 'list', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/servicePolicy') + ), + key: 'dataMaskingList' + }, + { + path: 'create', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig' + ) + ), + key: 'dataMaskingAdd' + }, + { + path: ':policyId', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig' + ) + ), + key: 'dataMaskingAdd' + } + ] + } + ] + } + ] + } + ] + } + ] + } + ], + [ + 'datasourcing', + { + type: 'component', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideDashboardSetting.tsx') + ) + } + ], + [ + 'cluster', + { + type: 'component', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideCluster.tsx')) + } + ], + [ + 'aisetting', + { + type: 'component', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiSetting/AiSettingList.tsx')) + } + ], + [ + 'keysetting', + { + type: 'component', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/keySettings/index.tsx')) + } + ], + [ + 'aiapis', + { + type: 'component', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/aiApis/index.tsx')) + } + ], + [ + 'cert', + { + type: 'component', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/partitions/PartitionInsideCert.tsx')) + } + ], + + [ + 'serviceHub', + { + type: 'module', + component: , + key: 'serviceHub', + children: [ + { + path: '', + key: 'serviceHubList', + component: + }, + { + path: 'list', + key: 'serviceHubList2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/ServiceHubList.tsx')) + }, + { + path: 'detail/:serviceId', + key: 'serviceHubDetail', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/ServiceHubDetail.tsx')) + } + ] + } + ], + + [ + 'commonsetting', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/common/CommonPage.tsx')) + } + ], + + [ + 'consumer', + { + type: 'module', + component: , + provider: TenantManagementProvider, + key: 'consumer', + children: [ + { + path: '', + key: 'consumerList', + component: + }, + { + path: ':teamId/inside/:appId', + key: 'consumerInside', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsidePage.tsx') + ), + children: [ + { + path: 'service', + key: 'consumerInsideService', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsideService.tsx' + ) + ) + }, + { + path: 'authorization', + key: 'consumerInsideAuthorization', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementInsideAuth.tsx' + ) + ) + }, + { + path: 'setting', + key: 'consumerSetting', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ManagementAppSetting.tsx' + ) + ) + } + ] + }, + { + path: 'list', + key: 'serviceHubManagementList', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ServiceHubManagement.tsx') + ) + }, + { + path: 'list/:teamId', + key: 'serviceHubManagementList2', + lazy: lazy( + () => + import(/* webpackChunkName: "[request]" */ '@market/pages/serviceHub/management/ServiceHubManagement.tsx') + ) + } + ] + } + ], + [ + 'member', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberPage.tsx')), + children: [ + { + path: '', + key: 'memberList', + component: + }, + { + path: 'list', + key: 'memberList2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberList.tsx')) + }, + { + path: 'list/:memberGroupId', + key: 'memberList3', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/member/MemberList.tsx')) + } + ] + } + ], + [ + 'role', + { + type: 'module', + component: , + children: [ + { + path: '', + key: 'roleList', + component: + }, + { + path: 'list', + key: 'roleList2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleList.tsx')) + }, + { + path: ':roleType/config/:roleId', + key: 'roleConfig', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleConfig.tsx')) + }, + { + path: ':roleType/config', + key: 'roleConfig2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/role/RoleConfig.tsx')) + } + ] + } + ], + [ + 'analytics', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/Dashboard.tsx')), + key: 'analytics', + children: [ + { + path: 'total', + key: 'analytics2', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardTotal.tsx')) + }, + { + path: ':dashboardType', + key: 'analytics3', + component: , + children: [ + { + path: 'list', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardList.tsx')), + key: 'analyticsList' + }, + { + path: 'detail/:dashboardDetailId', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@dashboard/pages/DashboardDetail.tsx')), + key: 'analyticsDetail' + } + ] + } + ] + } + ], + [ + 'template', + { + type: 'module', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx' + ) + ) + } + ], + [ + 'logsettings', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/logsettings/LogSettings.tsx')), + key: 'logsettings', + children: [ + { + path: 'template/:moduleId', + key: 'logSettings2', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx' + ) + ) + } + ] + } + ], + [ + 'resourcesettings', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/resourcesettings/ResourceSettings.tsx')), + key: 'resourcesettings', + children: [ + { + path: 'template/:moduleId', + lazy: lazy( + () => + import( + /* webpackChunkName: "[request]" */ '@common/components/aoplatform/intelligent-plugin/IntelligentPluginList.tsx' + ) + ), + key: 'resourceSettings2' + } + ] + } + ], + [ + 'userProfile', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/userProfile/UserProfile.tsx')), + key: 'userProfile', + children: [ + { + path: 'changepsw', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/userProfile/ChangePsw.tsx')), + key: 'changePsw' + } + ] + } + ], + [ + 'globalPolicy', + { + type: 'module', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/GlobalPolicyLayout')), + key: 'globalPolicy', + children: [ + { + path: 'datamasking', + component: , + key: 'dataMasking', + children: [ + { + path: 'list', + lazy: lazy(() => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/globalPolicy')), + key: 'dataMaskingList' + }, + { + path: 'create', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig') + ), + key: 'dataMaskingAdd' + }, + { + path: ':policyId', + lazy: lazy( + () => import(/* webpackChunkName: "[request]" */ '@core/pages/policy/dataMasking/DataMaskingConfig') + ), + key: 'dataMaskingAdd' + } + ] + } + ] + } + ] +]) diff --git a/frontend/packages/core/src/pages/aiApis/index.tsx b/frontend/packages/core/src/pages/aiApis/index.tsx new file mode 100644 index 00000000..0d82a664 --- /dev/null +++ b/frontend/packages/core/src/pages/aiApis/index.tsx @@ -0,0 +1,17 @@ +import InsidePage from '@common/components/aoplatform/InsidePage' +import { $t } from '@common/locales' +import React from 'react' + +const AIApis: React.FC = () => { + return ( + + ) +} + +export default AIApis diff --git a/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx b/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx index 3c2ba3e4..c69b74dc 100644 --- a/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx +++ b/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx @@ -77,19 +77,6 @@ const AiSettingList = () => { .finally(() => setLoading(false)) } - // 第一期暂时隐藏 - // const updateModalList = ()=>{ - // setUpdateLoading(true) - // return fetchData>(`aisetting`,{method:'GET'}).then(response=>{ - // const {code,msg} = response - // if(code === STATUS_CODE.SUCCESS){ - // getAiSettingList() - // }else{ - // message.error(msg || $t(RESPONSE_TIPS.error)) - // } - // }).finally(()=>setUpdateLoading(false)) - // } - const openModal = async (entity: AiSettingListItem) => { message.loading($t(RESPONSE_TIPS.loading)) const { code, data, msg } = await fetchData>('ai/provider/config', { @@ -223,7 +210,7 @@ const AiSettingList = () => { <> { + return ( + + ) +} + +export default KeySettings