add trayicon
This commit is contained in:
parent
48dcc3ee1b
commit
3f83894dc6
33
app/main.py
33
app/main.py
@ -1,6 +1,7 @@
|
|||||||
import multiprocessing
|
import multiprocessing
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import pystray
|
||||||
import uvicorn as uvicorn
|
import uvicorn as uvicorn
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
@ -29,10 +30,6 @@ App.add_middleware(
|
|||||||
allow_headers=["*"],
|
allow_headers=["*"],
|
||||||
)
|
)
|
||||||
|
|
||||||
# uvicorn服务
|
|
||||||
Server = uvicorn.Server(Config(App, host=settings.HOST, port=settings.PORT,
|
|
||||||
reload=settings.DEV, workers=multiprocessing.cpu_count()))
|
|
||||||
|
|
||||||
|
|
||||||
def init_routers():
|
def init_routers():
|
||||||
"""
|
"""
|
||||||
@ -74,6 +71,14 @@ def stop_frontend():
|
|||||||
subprocess.Popen(f"killall nginx", shell=True)
|
subprocess.Popen(f"killall nginx", shell=True)
|
||||||
|
|
||||||
|
|
||||||
|
def open_web():
|
||||||
|
"""
|
||||||
|
调用浏览器打开前端页面
|
||||||
|
"""
|
||||||
|
import webbrowser
|
||||||
|
webbrowser.open(f"http://{settings.HOST}:{settings.PORT}")
|
||||||
|
|
||||||
|
|
||||||
@App.on_event("shutdown")
|
@App.on_event("shutdown")
|
||||||
def shutdown_server():
|
def shutdown_server():
|
||||||
"""
|
"""
|
||||||
@ -116,6 +121,26 @@ def start_module():
|
|||||||
start_frontend()
|
start_frontend()
|
||||||
|
|
||||||
|
|
||||||
|
# uvicorn服务
|
||||||
|
Server = uvicorn.Server(Config(App, host=settings.HOST, port=settings.PORT,
|
||||||
|
reload=settings.DEV, workers=multiprocessing.cpu_count()))
|
||||||
|
|
||||||
|
# 托盘图标
|
||||||
|
TrayIcon = pystray.Icon(
|
||||||
|
settings.PROJECT_NAME,
|
||||||
|
icon=settings.ROOT_PATH / 'app.ico',
|
||||||
|
menu=pystray.Menu(
|
||||||
|
pystray.MenuItem(
|
||||||
|
'打开',
|
||||||
|
open_web,
|
||||||
|
),
|
||||||
|
pystray.MenuItem(
|
||||||
|
'退出',
|
||||||
|
shutdown_server,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# 初始化数据库
|
# 初始化数据库
|
||||||
init_db()
|
init_db()
|
||||||
|
@ -53,4 +53,5 @@ requests_cache~=0.5.2
|
|||||||
parse~=1.19.0
|
parse~=1.19.0
|
||||||
docker~=6.1.3
|
docker~=6.1.3
|
||||||
cachetools~=5.3.1
|
cachetools~=5.3.1
|
||||||
fast-bencode==1.1.3
|
fast-bencode~=1.1.3
|
||||||
|
pystray~=0.19.5
|
Loading…
x
Reference in New Issue
Block a user