# coding=utf-8
# -*- coding:utf-8 -*- 
import gradio as gr
import pandas as pd
import requests

with gr.Blocks() as demo:
    def get_str(label):
        url1="http://127.0.0.1:8889/login"
        request_data=f'''{url1}?label={label}'''
        resp=requests.get(request_data).text
        print(resp)
        return(resp)
        
    with gr.Tab(“Lion”)
        # 设置一个下拉框用来选择excel文件
        num=gr.Textbox(value='输入数据',label='输入调用的数据')
        # 设置一个按钮 更新表格内容
        gr.Button(“获取接口调用结果”)
        # 设置一个Dataframe 表格用来展示excel表的内容
        excel_df=gr.Dataframe(headers=None)

        #写一个调用函数,当按下”更新表格”的按钮后,读取对应文件,并更新表格内容
        def read_excel(i):
            # 支持多行输入,按行分为list集合
            my_list=i.splitlines()
            my_dict={}
            # 遍历输入list然后获取接口结果
            for item in my_list:
                print(item)
                my_dict[item]=get_str(item)
        print(my_dict)
        # 转换字典格式为dataframe
        my_df=pd.Dataframe.from_dict(my_dict,orient='index',columns=['接口结果'])
        my_df=my_df.reset_index().rename(column={'index':'输入'}
        return {
                excel_df:my_df
            }

        lion_button.click(
            read_excel,
            num,
            excel_df
        )
    with gr.Tab(“Tiger”):
        gr.Button(“new Tiger”)

gr,close_all()
# 因为在虚拟机中启动,而不是pycharm 所以指定主机ip (1.1.1.1)和端口号,如果是在pycharm 中,无需指定
demo.launch(server_name=“1.1.1.1”,server_port=7860,share=True,inbrowser=True)