feat(api): 支持挂载 Nuxt 静态 UI 并统一桌面端运行参数

- 若存在 WECHAT_TOOL_UI_DIR 或 frontend/.output/public,则在 / 挂载静态站点并支持 SPA 路由回退
- API 根端点调整为 /api,避免与静态 UI 冲突
- 新增 WECHAT_TOOL_DATA_DIR 输出目录约定,统一 databases/key store 等路径
- host/port 支持通过 WECHAT_TOOL_HOST / WECHAT_TOOL_PORT 配置,并打印可访问地址
- 新增 backend_entry.py 作为 PyInstaller 入口,减少动态导入识别问题
This commit is contained in:
2977094657
2026-01-17 18:23:35 +08:00
parent 95f4d32d53
commit 848847c162
9 changed files with 148 additions and 18 deletions

View File

@@ -16,14 +16,14 @@ from urllib.parse import urlparse
from fastapi import HTTPException
from .app_paths import get_output_databases_dir
from .logging_config import get_logger
logger = get_logger(__name__)
# 仓库根目录(用于定位 output/databases
_REPO_ROOT = Path(__file__).resolve().parents[2]
_OUTPUT_DATABASES_DIR = _REPO_ROOT / "output" / "databases"
# 运行时输出目录(桌面端可通过 WECHAT_TOOL_DATA_DIR 指向可写目录
_OUTPUT_DATABASES_DIR = get_output_databases_dir()
_PACKAGE_ROOT = Path(__file__).resolve().parent