diff --git a/app/.env b/app/.env index 856e41a..085b36a 100644 --- a/app/.env +++ b/app/.env @@ -12,7 +12,7 @@ zn_username=%E8%87%AA%E5%8A%A8%E5%8C%96_Robot client_name=ShuFuAI -java_api_base=http://127.0.0.1:18080 -# java_api_base=http://8.136.19.173:18080 +# java_api_base=http://127.0.0.1:18080 +java_api_base=http://8.136.19.173:18080 diff --git a/app/main.py b/app/main.py index 6dbdfa9..1c561fb 100644 --- a/app/main.py +++ b/app/main.py @@ -154,17 +154,36 @@ class WindowAPI: ) return result[0] if result else '' - def save_file_from_url(self, url, default_filename='download.zip'): - """弹窗选择保存位置,从 url 下载文件并保存。用于品牌任务结果 zip 等。""" + def save_file_from_url(self, url, default_filename='download.bin'): + """弹窗选择保存位置,从 url 下载文件并保存。根据文件后缀动态设置保存类型。""" if not url or not url.strip(): return {'success': False, 'error': '下载地址为空'} + + filename = str(default_filename or 'download.bin').strip() or 'download.bin' + ext = os.path.splitext(filename)[1].lower() + + # 根据默认文件名后缀动态设置文件类型,避免固定为 zip 造成误导 + if ext == '.zip': + file_types = ('ZIP 压缩包 (*.zip)', '所有文件 (*.*)') + elif ext in ('.xlsx', '.xls'): + file_types = ('Excel 文件 (*.xlsx;*.xls)', '所有文件 (*.*)') + elif ext == '.csv': + file_types = ('CSV 文件 (*.csv)', '所有文件 (*.*)') + elif ext == '.txt': + file_types = ('文本文件 (*.txt)', '所有文件 (*.*)') + elif ext == '.json': + file_types = ('JSON 文件 (*.json)', '所有文件 (*.*)') + else: + file_types = ('所有文件 (*.*)',) + result = self._window.create_file_dialog( webview.SAVE_DIALOG, - save_filename=default_filename, - file_types=('ZIP 压缩包 (*.zip)', '所有文件 (*.*)') + save_filename=filename, + file_types=file_types ) if not result: return {'success': False, 'error': '用户取消'} + path = result[0] if isinstance(result, (list, tuple)) else result try: import requests diff --git a/frontend-vue/src/pages/brand/components/BrandProductRiskTab.vue b/frontend-vue/src/pages/brand/components/BrandProductRiskTab.vue index 6e41ad4..2fca269 100644 --- a/frontend-vue/src/pages/brand/components/BrandProductRiskTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandProductRiskTab.vue @@ -75,6 +75,24 @@
保存中…
+
商品列表筛选
+

与「推送到 Python 队列」一并下发,供 Python 区分处理场景。

+
+ + + +
+