mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
feat: support sort table
This commit is contained in:
@@ -8,7 +8,7 @@ interface ApiKeyModalProps {
|
||||
visible: boolean
|
||||
onCancel: () => void
|
||||
onSave: (values: any) => void
|
||||
vendorName: string
|
||||
providerName: string
|
||||
mode: 'add' | 'edit'
|
||||
initialValues?: Partial<APIKey>
|
||||
defaultKeyNumber?: number
|
||||
@@ -20,7 +20,7 @@ const ApiKeyModal: React.FC<ApiKeyModalProps> = ({
|
||||
visible,
|
||||
onCancel,
|
||||
onSave,
|
||||
vendorName,
|
||||
providerName,
|
||||
mode,
|
||||
initialValues,
|
||||
defaultKeyNumber = 1
|
||||
@@ -76,7 +76,7 @@ const ApiKeyModal: React.FC<ApiKeyModalProps> = ({
|
||||
|
||||
return (
|
||||
<Modal
|
||||
title={mode === 'add' ? $t('添加 {{vendorName}} APIKey', { vendorName }) : $t('编辑 APIKey')}
|
||||
title={mode === 'add' ? $t(`添加 ${providerName} APIKey`) : $t('编辑 APIKey')}
|
||||
open={visible}
|
||||
onCancel={onCancel}
|
||||
onOk={handleOk}
|
||||
|
||||
@@ -14,6 +14,7 @@ import { APIKey } from './types'
|
||||
const KeySettings: React.FC = () => {
|
||||
const pageListRef = useRef<ActionType>(null)
|
||||
const [selectedProvider, setSelectedProvider] = useState<string>('openai')
|
||||
const [providerName, setProviderName] = useState<string>('')
|
||||
const [modalVisible, setModalVisible] = useState(false)
|
||||
const [modalMode, setModalMode] = useState<'add' | 'edit'>('add')
|
||||
const [editingKey, setEditingKey] = useState<APIKey | null>(null)
|
||||
@@ -23,8 +24,26 @@ const KeySettings: React.FC = () => {
|
||||
|
||||
useEffect(() => {
|
||||
pageListRef.current?.reload()
|
||||
fetchProviderName()
|
||||
}, [selectedProvider])
|
||||
|
||||
const fetchProviderName = async () => {
|
||||
try {
|
||||
const response = await fetchData<{ code: number; data: { providers: { id: string; name: string }[] } }>(
|
||||
'simple/ai/providers',
|
||||
{ method: 'GET' }
|
||||
)
|
||||
if (response.code === STATUS_CODE.SUCCESS) {
|
||||
const provider = response.data.providers.find((p) => p.id === selectedProvider)
|
||||
if (provider) {
|
||||
setProviderName(provider.name)
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to fetch provider name:', error)
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {}, [])
|
||||
|
||||
const handleEdit = (record: APIKey) => {
|
||||
@@ -142,12 +161,6 @@ const KeySettings: React.FC = () => {
|
||||
})
|
||||
|
||||
if (response.code === STATUS_CODE.SUCCESS) {
|
||||
setApiKeys(
|
||||
newDataSource.map((item, index) => ({
|
||||
...item,
|
||||
priority: index + 1
|
||||
}))
|
||||
)
|
||||
message.success($t('排序成功'))
|
||||
pageListRef.current?.reload()
|
||||
} else {
|
||||
@@ -158,7 +171,7 @@ const KeySettings: React.FC = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const requestApiKeys = async (params: { pageSize: number; current: number }) => {
|
||||
const requestApiKeys = async (params: any) => {
|
||||
try {
|
||||
const response = await fetchData<BasicResponse<{ data: APIKey[] }>>('ai/resource/keys', {
|
||||
method: 'GET',
|
||||
@@ -325,7 +338,7 @@ const KeySettings: React.FC = () => {
|
||||
mode={modalMode}
|
||||
onCancel={handleModalCancel}
|
||||
onSave={handleSave}
|
||||
vendorName={selectedProvider}
|
||||
providerName={providerName}
|
||||
initialValues={
|
||||
editingKey
|
||||
? {
|
||||
|
||||
Reference in New Issue
Block a user