You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.2 KiB
3.2 KiB
桌面端打包说明 (Electron + React UI)
本项目可打包为桌面应用,使用 Electron 作为桌面壳,apps/dsa-web 的 React UI 作为界面。
架构说明
- React UI(Vite 构建)由本地 FastAPI 服务托管
- Electron 启动时自动拉起后端服务,等待
/api/health就绪后加载 UI - 用户配置文件
.env和数据库放在 exe 同级目录(便携模式)
本地开发
一键启动(开发模式):
powershell -ExecutionPolicy Bypass -File scripts\run-desktop.ps1
或手动执行:
- 构建 React UI(输出到
static/)
cd apps/dsa-web
npm install
npm run build
- 启动 Electron 应用(自动拉起后端)
cd apps/dsa-desktop
npm install
npm run dev
首次运行时会自动从 .env.example 复制生成 .env。
打包 (Windows)
前置条件
- Node.js 18+
- Python 3.10+
- 开启 Windows 开发者模式(electron-builder 需要创建符号链接)
- 设置 -> 隐私和安全性 -> 开发者选项 -> 开发者模式
一键打包
powershell -ExecutionPolicy Bypass -File scripts\build-all.ps1
该脚本会依次执行:
- 构建 React UI
- 安装 Python 依赖
- PyInstaller 打包后端
- electron-builder 打包桌面应用
分步打包
- 构建 React UI
cd apps/dsa-web
npm install
npm run build
- 打包 Python 后端
pip install pyinstaller
pip install -r requirements.txt
pyinstaller --name stock_analysis --onefile --noconsole --add-data "static;static" main.py
将生成的 exe 复制到 dist/backend/:
mkdir dist\backend
copy dist\stock_analysis.exe dist\backend\stock_analysis.exe
- 打包 Electron 桌面应用
cd apps/dsa-desktop
npm install
npm run build
打包产物位于 apps/dsa-desktop/dist/。
目录结构
打包后用户拿到的目录结构(便携模式):
win-unpacked/
Daily Stock Analysis.exe <- 双击启动
.env <- 用户配置文件(首次启动自动生成)
data/
stock_analysis.db <- 数据库
logs/
desktop.log <- 运行日志
resources/
.env.example <- 配置模板
backend/
stock_analysis.exe <- 后端服务
配置文件说明
.env放在 exe 同目录下- 首次启动时自动从
.env.example复制生成 - 用户需要编辑
.env配置以下内容:GEMINI_API_KEY或OPENAI_API_KEY:AI 分析必需STOCK_LIST:自选股列表(逗号分隔)- 其他可选配置参考
.env.example
常见问题
启动后一直显示 "Preparing backend..."
- 检查
logs/desktop.log查看错误信息 - 确认
.env文件存在且配置正确 - 确认端口 8000-8100 未被占用
后端启动报 ModuleNotFoundError
PyInstaller 打包时缺少模块,需要在 scripts/build-backend.ps1 中增加 --hidden-import。
UI 加载空白
确认 static/index.html 存在,如不存在需重新构建 React UI。
分发给用户
将 apps/dsa-desktop/dist/win-unpacked/ 整个文件夹打包发给用户即可。用户只需:
- 解压文件夹
- 编辑
.env配置 API Key 和股票列表 - 双击
Daily Stock Analysis.exe启动