diff --git a/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx b/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx index c69b74dc..98795299 100644 --- a/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx +++ b/frontend/packages/core/src/pages/aiSetting/AiSettingList.tsx @@ -49,7 +49,6 @@ const AiSettingList = () => { const { fetchData } = useFetch() const [aiSettingList, setAiSettingList] = useState([]) const [loading, setLoading] = useState(false) - // const [updateLoading, setUpdateLoading] = useState(false) const modalRef = useRef() const { setAiConfigFlushed, accessData } = useGlobalContext() diff --git a/frontend/packages/core/src/pages/keySettings/components/ApiKeyContent.tsx b/frontend/packages/core/src/pages/keySettings/components/ApiKeyContent.tsx index 54eec8e8..0ce3c4a4 100644 --- a/frontend/packages/core/src/pages/keySettings/components/ApiKeyContent.tsx +++ b/frontend/packages/core/src/pages/keySettings/components/ApiKeyContent.tsx @@ -21,7 +21,7 @@ const ApiKeyContent: React.FC = forwardRef(({ provider, enti useEffect(() => { try { - const isNeverExpire = entity.expire_time === '0' + const isNeverExpire = entity.expire_time === 0 setNeverExpire(isNeverExpire) form.setFieldsValue({ name: entity.name, @@ -41,28 +41,22 @@ const ApiKeyContent: React.FC = forwardRef(({ provider, enti try { const values = await form.validateFields() const { expire_time, ...restValues } = values - const expireTime = neverExpire ? '0' : expire_time?.format('YYYY-MM-DD HH:mm:ss') + const expireTime = neverExpire ? 0 : expire_time.valueOf() - const [response, error] = await fetchData>('ai/resource/key', { - method: 'POST', - eoParams: { provider: provider?.id }, + const response = await fetchData>('ai/resource/key', { + method: entity.id ? 'PUT' : 'POST', + eoParams: { provider: provider?.id, id: entity.id }, eoBody: { ...restValues, expire_time: expireTime }, eoTransformKeys: ['config'] }) - if (error) { - console.error('API request failed:', error) - message.error($t(RESPONSE_TIPS.error)) - throw error - } - const { code, msg } = response if (code === STATUS_CODE.SUCCESS) { message.success(msg || $t(RESPONSE_TIPS.success)) return true } else { message.error(msg || $t(RESPONSE_TIPS.error)) - throw new Error(msg || $t(RESPONSE_TIPS.error)) + return false } } catch (error) { console.error('Validation failed:', error) diff --git a/frontend/packages/core/src/pages/keySettings/index.tsx b/frontend/packages/core/src/pages/keySettings/index.tsx index f131a8ee..8f4c441f 100644 --- a/frontend/packages/core/src/pages/keySettings/index.tsx +++ b/frontend/packages/core/src/pages/keySettings/index.tsx @@ -10,6 +10,7 @@ import { $t } from '@common/locales' import { checkAccess } from '@common/utils/permission' import AIProviderSelect, { AIProvider } from '@core/components/AIProviderSelect' import { App, Divider, Space, Typography } from 'antd' +import dayjs from 'dayjs' import React, { useEffect, useRef, useState } from 'react' import ApiKeyContent from './components/ApiKeyContent' import { APIKey, EditAPIKey } from './types' @@ -45,7 +46,8 @@ const KeySettings: React.FC = () => { message.loading($t(RESPONSE_TIPS.loading)) const { code, data, msg } = await fetchData>('ai/resource/key', { method: 'GET', - eoParams: { provider: selectedProvider, id: entity!.id } + eoParams: { provider: selectedProvider, id: entity!.id }, + eoApiPrefix: 'http://uat.apikit.com:11204/mockApi/aoplatform/api/v1/' }) message.destroy() if (code !== STATUS_CODE.SUCCESS) { @@ -58,7 +60,7 @@ const KeySettings: React.FC = () => { entity = { name: `key${total}`, config: provider.default_config, - expire_time: '0' + expire_time: 0 } as EditAPIKey } const newEntity = entity as EditAPIKey @@ -67,10 +69,15 @@ const KeySettings: React.FC = () => { title: mode === 'add' ? $t(`添加 ${provider?.name} APIKey`) : $t('编辑 APIKey'), content: , onOk: () => { - return modalRef.current?.handleOk().then((res) => { - if (res === true) { - pageListRef.current?.reload() - } + return new Promise((resolve, reject) => { + modalRef.current?.handleOk().then((res: boolean) => { + if (res === true) { + pageListRef.current?.reload() + resolve(res) + return + } + reject() + }) }) }, width: 600, @@ -305,7 +312,9 @@ const KeySettings: React.FC = () => { title: $t('过期时间'), dataIndex: 'expire_time', render: (dom: React.ReactNode, entity: APIKey) => { - return entity.expire_time === '0' ? $t('永不过期') : entity.expire_time + return entity.expire_time === 0 + ? $t('永不过期') + : dayjs(Number(entity.expire_time)).format('YYYY-MM-DD HH:mm:ss') } }, ...operation diff --git a/frontend/packages/core/src/pages/keySettings/types.ts b/frontend/packages/core/src/pages/keySettings/types.ts index 55f43e18..a03bb2b1 100644 --- a/frontend/packages/core/src/pages/keySettings/types.ts +++ b/frontend/packages/core/src/pages/keySettings/types.ts @@ -1,14 +1,4 @@ -export interface APIKey extends Record { - id: string - name: string - status: 'normal' | 'exceeded' | 'expired' | 'disabled' | 'error' - use_token: number - update_time: string - expire_time: string - can_delete: boolean - priority: number - } export interface APIKey extends EditAPIKey { status: 'normal' | 'exceeded' | 'expired' | 'disabled' | 'error' @@ -22,5 +12,5 @@ export interface EditAPIKey { id?: string name: string config: string - expire_time: string + expire_time: number }