| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import gradio as gr
- from db import MongoDao
- dao = MongoDao("obrand-ec")
- def get_merchant_list():
- """ 返回商户列表,显示 title,存储 outId """
- merchant_data = dao.get_fields_data(["outId", "title"])[:50]
- merchant_dict = {m["title"]: m["outId"] for m in merchant_data}
- return merchant_dict
- def display_outid(title):
- """ 根据商户名称返回对应的 outId """
- merchant_dict = get_merchant_list()
- return merchant_dict.get(title, "未找到对应 ID")
- def check_infringement(merchant):
- """ 模拟侵权检测逻辑 """
- return f"商户 {merchant} 的侵权检测结果:未发现侵权"
- merchant_dict = get_merchant_list()
- merchant_list_titles = list(merchant_dict.keys())
- with gr.Blocks() as demo:
- gr.Markdown("## 侵权识别系统", elem_id="header")
-
- with gr.Row():
- # 左侧部分
- with gr.Column():
- brand_dropdown = gr.Dropdown(
- ["李宁", "耐克", "阿迪达斯", "彪马"],
- label="品牌选择",
- value="李宁",
- interactive=True)
-
- search_box = gr.Textbox(label="搜索商户")
- search_button = gr.Button("搜索")
-
- merchant_list = gr.Dropdown(
- merchant_list_titles,
- label="商户列表",
- interactive=True
- )
-
- check_button = gr.Button("查询侵权")
-
- # 右侧部分
- with gr.Column():
- with gr.Row():
- image_display = gr.Image(label="商品图片", interactive=False)
- product_info = gr.Textbox(label="商品信息", interactive=False)
-
- infringement_result = gr.Textbox(label="侵权识别结果", interactive=False)
-
- # 事件绑定
- merchant_list.change(display_outid, inputs=merchant_list, outputs=product_info)
- check_button.click(check_infringement, inputs=merchant_list, outputs=infringement_result)
- demo.launch(share=True)
|