feat(frontend): 完成了 API Provider 删除和添加了编辑功能的函数
This commit is contained in:
parent
293f63017f
commit
cce5e4e114
@ -8,6 +8,7 @@ from global_var import sql_engine
|
|||||||
|
|
||||||
def setting_page():
|
def setting_page():
|
||||||
def get_providers() -> List[List[str]]:
|
def get_providers() -> List[List[str]]:
|
||||||
|
selected_row = None
|
||||||
try: # 添加异常处理
|
try: # 添加异常处理
|
||||||
with Session(sql_engine) as session:
|
with Session(sql_engine) as session:
|
||||||
providers = session.exec(select(APIProvider)).all()
|
providers = session.exec(select(APIProvider)).all()
|
||||||
@ -33,12 +34,31 @@ def setting_page():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise gr.Error(f"添加失败: {str(e)}")
|
raise gr.Error(f"添加失败: {str(e)}")
|
||||||
|
|
||||||
selected_row = None # 保存当前选中行的全局变量
|
def edit_provider(model_id, base_url, api_key):
|
||||||
|
global selected_row
|
||||||
|
print(f"edit_provider Selected row: {selected_row}")
|
||||||
|
return get_providers()
|
||||||
|
|
||||||
|
def delete_provider():
|
||||||
|
global selected_row
|
||||||
|
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("找不到选中的记录")
|
||||||
|
session.delete(provider)
|
||||||
|
session.commit()
|
||||||
|
return get_providers()
|
||||||
|
except Exception as e:
|
||||||
|
raise gr.Error(f"删除失败: {str(e)}")
|
||||||
|
|
||||||
|
selected_row = None # 保存当前选中行的全局变量
|
||||||
|
|
||||||
def select_record(evt: gr.SelectData):
|
def select_record(evt: gr.SelectData):
|
||||||
global selected_row
|
global selected_row
|
||||||
selected_row = evt.row_value
|
selected_row = evt.row_value
|
||||||
print(f"Selected row: {selected_row}")
|
|
||||||
|
|
||||||
with gr.Blocks() as demo:
|
with gr.Blocks() as demo:
|
||||||
gr.Markdown("## API Provider 管理")
|
gr.Markdown("## API Provider 管理")
|
||||||
@ -79,4 +99,16 @@ def setting_page():
|
|||||||
|
|
||||||
provider_table.select(select_record, [], [], show_progress="hidden")
|
provider_table.select(select_record, [], [], show_progress="hidden")
|
||||||
|
|
||||||
|
edit_button.click(
|
||||||
|
fn=edit_provider,
|
||||||
|
inputs=[],
|
||||||
|
outputs=[provider_table]
|
||||||
|
)
|
||||||
|
|
||||||
|
delete_button.click(
|
||||||
|
fn=delete_provider,
|
||||||
|
inputs=[],
|
||||||
|
outputs=[provider_table]
|
||||||
|
)
|
||||||
|
|
||||||
return demo
|
return demo
|
Loading…
x
Reference in New Issue
Block a user