diff --git a/web/src/views/ApplicationConfig/Api.tsx b/web/src/views/ApplicationConfig/Api.tsx index ca8b20ee..50575fee 100644 --- a/web/src/views/ApplicationConfig/Api.tsx +++ b/web/src/views/ApplicationConfig/Api.tsx @@ -1,6 +1,6 @@ import { type FC, useState, useRef, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; -import { Button, Space, App, Statistic, Row, Col, Divider } from 'antd'; +import { Button, Space, App, Statistic, Row, Col } from 'antd'; import copy from 'copy-to-clipboard' import Card from './components/Card'; @@ -10,7 +10,7 @@ import type { ApiKey } from '@/views/ApiKeyManagement/types' import ApiKeyModal from './components/ApiKeyModal'; import ApiKeyConfigModal from './components/ApiKeyConfigModal'; import Tag from '@/components/Tag' -import { getApiKeyList, getApiKeyStats } from '@/api/apiKey'; +import { getApiKeyList, getApiKeyStats, deleteApiKey } from '@/api/apiKey'; import { maskApiKeys } from '@/utils/apiKeyReplacer' const Api: FC<{ application: Application | null }> = ({ application }) => { @@ -44,7 +44,7 @@ const Api: FC<{ application: Application | null }> = ({ application }) => { }).then(res => { const response = res as { items: ApiKey[] } const list = response.items ?? [] - getAllStats(list) + getAllStats([...list]) }) } const getAllStats = (list: ApiKey[]) => { @@ -78,7 +78,11 @@ const Api: FC<{ application: Application | null }> = ({ application }) => { okText: t('common.delete'), okType: 'danger', onOk: () => { - + deleteApiKey(vo.id) + .then(() => { + getApiList(); + message.success(t('common.deleteSuccess')) + }) } }) } diff --git a/web/src/views/ApplicationConfig/components/ApiKeyConfigModal.tsx b/web/src/views/ApplicationConfig/components/ApiKeyConfigModal.tsx index f66c02c5..248bf50a 100644 --- a/web/src/views/ApplicationConfig/components/ApiKeyConfigModal.tsx +++ b/web/src/views/ApplicationConfig/components/ApiKeyConfigModal.tsx @@ -18,13 +18,14 @@ const ApiKeyConfigModal = forwardRef(); const [loading, setLoading] = useState(false) const values = Form.useWatch([], form) - const [editVo, setEditVo] = useState({} as ApiKey) + const [editVo, setEditVo] = useState(null) // 封装取消方法,添加关闭弹窗逻辑 const handleClose = () => { - setVisible(false); form.resetFields(); setLoading(false) + setEditVo(null) + setVisible(false); }; const handleOpen = (apiKey: ApiKey) => { @@ -37,6 +38,7 @@ const ApiKeyConfigModal = forwardRef { + if (!editVo?.id) return form.validateFields() .then((values) => { updateApiKey(editVo.id, { @@ -88,7 +90,7 @@ const ApiKeyConfigModal = forwardRef -
+
1 {t('application.currentValue')}: {values?.rate_limit}{t('application.qpsLimitUnit')}
@@ -113,7 +115,7 @@ const ApiKeyConfigModal = forwardRef -
+
100 {t('application.currentValue')}: {values?.daily_request_limit}{t('application.dailyUsageLimitUnit')}