feat(settings): add system status page and improve models page
This commit is contained in:
@@ -47,7 +47,7 @@ export const useDialogState = () => {
|
||||
};
|
||||
|
||||
// API Key 对话框管理
|
||||
export const useApiKeyDialog = () => {
|
||||
export const useApiKeyDialog = (onSuccess?: () => void) => {
|
||||
const dialogState = useDialogState();
|
||||
const showMessage = useMessage();
|
||||
const [factoryName, setFactoryName] = useState('');
|
||||
@@ -77,12 +77,17 @@ export const useApiKeyDialog = () => {
|
||||
await userService.set_api_key(params);
|
||||
showMessage.success('API Key 配置成功');
|
||||
dialogState.closeDialog();
|
||||
|
||||
// 调用成功回调
|
||||
if (onSuccess) {
|
||||
onSuccess();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('API Key 配置失败:', error);
|
||||
} finally {
|
||||
dialogState.setLoading(false);
|
||||
}
|
||||
}, [factoryName, dialogState]);
|
||||
}, [factoryName, dialogState, onSuccess]);
|
||||
|
||||
return {
|
||||
...dialogState,
|
||||
@@ -191,7 +196,7 @@ export const useOllamaDialog = () => {
|
||||
};
|
||||
|
||||
// 删除操作管理
|
||||
export const useDeleteOperations = () => {
|
||||
export const useDeleteOperations = (onSuccess?: () => void) => {
|
||||
const showMessage = useMessage();
|
||||
const [loading, setLoading] = useState(false);
|
||||
|
||||
@@ -203,12 +208,17 @@ export const useDeleteOperations = () => {
|
||||
llm_name: modelName,
|
||||
});
|
||||
showMessage.success('模型删除成功');
|
||||
|
||||
// 调用成功回调
|
||||
if (onSuccess) {
|
||||
onSuccess();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('模型删除失败:', error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, []);
|
||||
}, [onSuccess]);
|
||||
|
||||
const deleteFactory = useCallback(async (factoryName: string) => {
|
||||
setLoading(true);
|
||||
@@ -217,12 +227,17 @@ export const useDeleteOperations = () => {
|
||||
llm_factory: factoryName,
|
||||
});
|
||||
showMessage.success('模型工厂删除成功');
|
||||
|
||||
// 调用成功回调
|
||||
if (onSuccess) {
|
||||
onSuccess();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('模型工厂删除失败:', error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
}, []);
|
||||
}, [onSuccess]);
|
||||
|
||||
return {
|
||||
loading,
|
||||
@@ -232,7 +247,7 @@ export const useDeleteOperations = () => {
|
||||
};
|
||||
|
||||
// 系统默认模型设置
|
||||
export const useSystemModelSetting = () => {
|
||||
export const useSystemModelSetting = (onSuccess?: () => void) => {
|
||||
const dialogState = useDialogState();
|
||||
const showMessage = useMessage();
|
||||
|
||||
@@ -301,6 +316,11 @@ export const useSystemModelSetting = () => {
|
||||
showMessage.success('系统默认模型设置成功');
|
||||
dialogState.closeDialog();
|
||||
fetchTenantInfo();
|
||||
|
||||
// 调用成功回调
|
||||
if (onSuccess) {
|
||||
onSuccess();
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('系统默认模型设置失败:', error);
|
||||
showMessage.error('系统默认模型设置失败');
|
||||
@@ -308,7 +328,7 @@ export const useSystemModelSetting = () => {
|
||||
} finally {
|
||||
dialogState.setLoading(false);
|
||||
}
|
||||
}, [dialogState]);
|
||||
}, [dialogState, onSuccess]);
|
||||
|
||||
return {
|
||||
...dialogState,
|
||||
@@ -319,13 +339,13 @@ export const useSystemModelSetting = () => {
|
||||
};
|
||||
|
||||
// 统一的模型对话框管理器
|
||||
export const useModelDialogs = () => {
|
||||
const apiKeyDialog = useApiKeyDialog();
|
||||
export const useModelDialogs = (onSuccess?: () => void) => {
|
||||
const apiKeyDialog = useApiKeyDialog(onSuccess);
|
||||
const azureDialog = useAzureOpenAIDialog();
|
||||
const bedrockDialog = useBedrockDialog();
|
||||
const ollamaDialog = useOllamaDialog();
|
||||
const systemDialog = useSystemModelSetting();
|
||||
const deleteOps = useDeleteOperations();
|
||||
const systemDialog = useSystemModelSetting(onSuccess);
|
||||
const deleteOps = useDeleteOperations(onSuccess);
|
||||
|
||||
// 根据工厂类型打开对应的对话框
|
||||
const openFactoryDialog = useCallback((factoryName: string, data?: any, isEdit = false) => {
|
||||
|
||||
Reference in New Issue
Block a user