diff --git a/frontend/setting_page.py b/frontend/setting_page.py index 99816bf..437063f 100644 --- a/frontend/setting_page.py +++ b/frontend/setting_page.py @@ -34,10 +34,24 @@ def setting_page(): except Exception as e: raise gr.Error(f"添加失败: {str(e)}") - def edit_provider(model_id, base_url, api_key): + def edit_provider(): global selected_row - print(f"edit_provider Selected row: {selected_row}") - return get_providers() + if not selected_row: + raise gr.Error("请先选择要编辑的行") + try: + with Session(sql_engine) as session: + provider = session.get(APIProvider, selected_row[0]) + if not provider: + raise gr.Error("找不到选中的记录") + provider.model_id = selected_row[1] if selected_row[1] else None + provider.base_url = selected_row[2] if selected_row[2] else None + provider.api_key = selected_row[3] if selected_row[3] else None + session.add(provider) + session.commit() + session.refresh(provider) + return get_providers() + except Exception as e: + raise gr.Error(f"编辑失败: {str(e)}") def delete_provider(): global selected_row