modified: amazon/__pycache__/approve.cpython-39.pyc

modified:   amazon/__pycache__/del_brand.cpython-39.pyc
	modified:   amazon/__pycache__/main.cpython-39.pyc
	modified:   amazon/approve.py
	new file:   amazon/backend_api.py
	modified:   amazon/del_brand.py
	modified:   amazon/main.py
	modified:   blueprints/main.py
	modified:   main.py
This commit is contained in:
铭坤
2026-04-08 16:03:48 +08:00
parent 336338cff5
commit e02ddab599
9 changed files with 231 additions and 45 deletions

View File

@@ -11,7 +11,7 @@ from amazon.main import TaskMonitor
os.makedirs(cache_path,exist_ok=True)
if not debug:
today = datetime.datetime.now().strftime("%Y_%m_%d")
sys.stdout = open(os.path.join(cache_path,f'{today}.log'), 'a',buffering=1)
sys.stdout = open(os.path.join(cache_path,f'{today}.log'), 'a',buffering=1,encoding='utf-8')
sys.stderr = sys.stdout
import webview
@@ -20,6 +20,9 @@ import time
import requests
import subprocess
from amazon.del_brand import kill_process
with open("version.txt","w",encoding="utf-8") as file:
file.write(json.dumps({"version":version}))
@@ -54,8 +57,15 @@ class WindowAPI:
window.events.restored += lambda _: setattr(self, '_is_maximized', False)
def close(self):
sys.exit(1)
self._window.destroy()
try:
kill_process('v6')
except Exception as e:
print(f"【退出前】关闭紫鸟浏览器进程异常: {str(e)}")
try:
self._window.destroy()
except:
pass
os._exit(0) # 强制退出整个进程,包括所有线程
def minimize(self):
self._window.minimize()
@@ -358,6 +368,23 @@ def start_task_monitor():
print(f"[{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] 任务监控线程异常退出: {traceback.format_exc()}")
def on_window_closing():
"""窗口关闭事件处理器,执行与 close() 方法相同的清理逻辑"""
# 先关闭窗口,避免看起来卡着
try:
if webview.windows:
webview.windows[0].destroy()
except:
pass
# 然后执行清理逻辑
try:
kill_process('v6')
except Exception as e:
print(f"【退出前】关闭紫鸟浏览器进程异常: {str(e)}")
os._exit(0) # 强制退出整个进程,包括所有线程
def main():
if not os.path.exists(cache_path):
os.makedirs(cache_path,exist_ok=True)
@@ -384,11 +411,15 @@ def main():
frameless=False,
easy_drag=True
)
# 为窗口关闭事件添加处理器
window.events.closing += on_window_closing
api = WindowAPI(window)
window.expose(api.close, api.minimize, api.maximize, api.toggle_maximize, generate_images, api.save_image, api.save_image_to_folder, api.select_folder, api.select_brand_xlsx_files, api.select_brand_folder,
api.save_file_from_url, api.save_template_xlsx,api.save_template_zip,api.upload_file_to_java,api.open_external_url,api.enqueue_json,api.get_detail_del,api.save_file_from_url_new)
webview.start(
debug=True,
debug=False,
storage_path=cache_path,
private_mode=False
)