# Electron_Vue3_Python **Repository Path**: xymweb/electron-vue3-python ## Basic Information - **Project Name**: Electron_Vue3_Python - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多平台发文助手 Electron + Vue3 + Python (Playwright) 桌面应用,支持多平台账号授权与自动化发帖。 ## 功能 - 登录页(默认 `admin` / `admin123`,后续可对接 API) - 三栏主界面:平台侧栏、文章列表(本地 SQLite 模拟富文本)、授权账号管理 - 授权流程:子窗口打开平台登录页,确认后保存 cookies / localStorage - 自动发布:知乎、微博(Playwright + 已保存会话) - 界面动画:登录、路由、列表 stagger、弹窗等 ## 环境要求 - Node.js 18+ - Windows / macOS / Linux - **开发机**需安装 Python 3.10+(仅用于 `npm run setup:python`);**最终用户无需安装 Python** ## 安装 ```bash cd i:\ElectronAI npm install npm run setup:python ``` ## 开发运行 ```bash npm run dev ``` 应用启动时会自动拉起 Python 服务(`127.0.0.1:18765`)。也可手动启动: ```bash cd python python -m uvicorn app:app --host 127.0.0.1 --port 18765 ``` ## 使用说明 1. 使用 `admin` / `admin123` 登录。 2. 左侧选择平台(知乎/微博支持自动发布)。 3. 点击「+ 新增授权」,在弹出窗口完成平台登录后点击「确认授权」。 4. 中间栏选择一篇文章。 5. 在账号表点击「发帖」,Playwright 将使用已保存会话执行发布(可能弹出 Chromium 窗口)。 若遇验证码,请在授权或发布窗口内手动完成后再继续。 ## 目录结构 - `electron/` — 主进程、SQLite(sql.js)、授权窗口、Python 桥接 - `src/` — Vue3 前端 - `python/` — FastAPI + Playwright 发布服务 ## 注意事项 - 各平台 DOM 经常变更,发布选择器需不定期维护(见 `python/publishers/`)。 - Cookie 过期后请重新授权。 - 发布失败时可在 `python/publish_logs/` 查看截图(如已配置)。 ## 环境变量 在项目根目录创建 `.env`(可参考 `.env.example`): | 变量 | 说明 | |------|------| | `API_BASE_URL` | GEO 后台 API 地址 | | `DB_HOST` / `DB_PORT` / `DB_NAME` / `DB_USER` / `DB_PASSWORD` | 代理 IP 使用的 PostgreSQL(与后台同库) | | `CAPTCHA_AI_*` | 可选,验证码识别 | ### 打包安装版 `npm run build` 会自动构建内置 Python 运行时(`build/python-env` → 安装包 `resources/python-env`),发帖功能**仅使用该内置环境**,不会调用用户机器上的系统 Python。 安装包输出为 **`release-out/ChuantaiGEO-Setup-1.0.0.exe`**(文件名使用英文,避免 NSIS 因中文路径打包失败)。正常体积约 **120MB+**;若只有几百 KB 说明安装包损坏,需重新打包。 打包前请关闭正在运行的本应用,并不要在资源管理器中打开 `release-out` 目录(否则会提示 `app.asar` 被占用)。 开发时读取项目根目录 `.env`;**打包时会将 `.env` 打入安装包**(`resources/.env`),因此: 1. 执行 `npm run build` 前请确保根目录已有正确配置的 `.env`; 2. 安装后也可在 **安装目录**(与 `.exe` 同级)或 **用户数据目录** 放置 `.env` 覆盖配置(路径见主进程日志中的 `userData`)。 若出现 `password authentication failed for user "postgres"`,说明未加载到 `DB_PASSWORD`,请按上检查 `.env` 后重新打包或手动放置配置文件。