Skip to content

Commit

Permalink
fix trayicon
Browse files Browse the repository at this point in the history
  • Loading branch information
jxxghp committed Oct 10, 2023
1 parent 375e16e commit 4c9a66f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 28 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,10 @@ jobs:
Remove-Item -Path "dist.zip"
Remove-Item -Path "dist" -Recurse -Force
Move-Item -Path "nginx/html/nginx.conf" -Destination "nginx/conf/nginx.conf" -Force
New-Item -Path "nginx/temp" -ItemType Directory -Force
New-Item -Path "nginx/temp" -ItemType Directory -Force
New-Item -Path "nginx/temp/__keep__.txt" -ItemType File -Force
New-Item -Path "nginx/logs" -ItemType Directory -Force
New-Item -Path "nginx/logs/__keep__.txt" -ItemType File -Force
shell: pwsh

- name: Pyinstaller
Expand Down
62 changes: 35 additions & 27 deletions app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
allow_headers=["*"],
)


# uvicorn服务
Server = uvicorn.Server(Config(App, host=settings.HOST, port=settings.PORT,
reload=settings.DEV, workers=multiprocessing.cpu_count()))
Expand Down Expand Up @@ -120,44 +119,53 @@ def start_module():
start_frontend()


def open_web():
def start_tray():
"""
调用浏览器打开前端页面
启动托盘图标
"""
import webbrowser
webbrowser.open(f"http://localhost:{settings.NGINX_PORT}")

if not SystemUtils.is_frozen():
return

def quit_app():
"""
退出程序
"""
TrayIcon.stop()
Server.should_exit = True


# 托盘图标
TrayIcon = pystray.Icon(
settings.PROJECT_NAME,
icon=Image.open(settings.ROOT_PATH / 'app.ico'),
menu=pystray.Menu(
pystray.MenuItem(
'打开',
open_web,
),
pystray.MenuItem(
'退出',
quit_app,
def open_web():
"""
调用浏览器打开前端页面
"""
import webbrowser
webbrowser.open(f"http://localhost:{settings.NGINX_PORT}")

def quit_app():
"""
退出程序
"""
TrayIcon.stop()
Server.should_exit = True

# 托盘图标
TrayIcon = pystray.Icon(
settings.PROJECT_NAME,
icon=Image.open(settings.ROOT_PATH / 'app.ico'),
menu=pystray.Menu(
pystray.MenuItem(
'打开',
open_web,
),
pystray.MenuItem(
'退出',
quit_app,
)
)
)
)
# 启动托盘图标
threading.Thread(target=TrayIcon.run, daemon=True).start()


if __name__ == '__main__':
# 初始化数据库
init_db()
# 更新数据库
update_db()
# 启动托盘
threading.Thread(target=TrayIcon.run, daemon=True).start()
start_tray()
# 启动API服务
Server.run()

0 comments on commit 4c9a66f

Please sign in to comment.