# acount-manager **Repository Path**: ios_17/acount-manager ## Basic Information - **Project Name**: acount-manager - **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-08-25 - **Last Updated**: 2026-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PXB7 Manager 用户注册登录 API + Element Plus 管理后台(SQLite,单进程可一起部署)。 ## 目录 - `server/` — FastAPI + SQLite - `web/` — 基于 [vue-element-plus-admin](https://github.com/kailong321200875/vue-element-plus-admin) mini 的管理前端 ## 快速启动 ### 双击启动(推荐) - **macOS**:双击 `start-manager.command` - **Windows**:双击 `start-manager.bat` 首次会自动建虚拟环境、装依赖、构建前端(基于 [vue-element-plus-admin](https://github.com/kailong321200875/vue-element-plus-admin) mini 模板),并打开浏览器访问 `http://127.0.0.1:8000`。关闭启动窗口即退出服务。 > 前端构建需要 **Node.js 18+**(macOS 建议 `brew install node`)。 > 之后若改了 `web/src`,再启动时会自动检测并重新 `npm run build`(仅重启 Python 不会更新界面)。 ### 命令行启动 ```bash ./start.sh ``` 或手动: #### 1. 启动 API ```bash cd server python3 -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt python main.py ``` 默认监听 `http://0.0.0.0:8000`。 首次启动会自动创建: - 数据库:`server/data/app.db` - 加密密钥:`server/data/secrets.json` - 管理员:`admin` / `admin123` #### 2. 启动后台前端(可选,开发热更新) ```bash cd web npm install npm run dev ``` 浏览器打开 Vite 地址(默认 `http://127.0.0.1:5173`),接口通过代理转到 `8000`。 #### 3. 生产一体部署 ```bash cd web && npm install && npm run build cd ../server source .venv/bin/activate python main.py ``` 访问 `http://服务器:8000/` 即管理后台;API 同端口 `/api/*`。 公开推广页: - Desktop 安装包:`http://服务器:8000/desktop`(从 `server/file/` 按修改时间取最新 `号商精灵-*-Setup-*.exe`,兼容旧名 `账号监控台-*`) - 渠道 APK:`http://服务器:8000/d/{渠道码}` 或使用根目录脚本: ```bash ./start.sh ``` 环境变量: | 变量 | 说明 | 默认 | |------|------|------| | `MANAGER_PORT` | 服务端口 | `8000` | | `MANAGER_DATA_DIR` | 数据目录(含 db / secrets) | `server/data` | | `MANAGER_ADMIN_USER` | 首启管理员用户名 | `admin` | | `MANAGER_ADMIN_PASSWORD` | 首启管理员密码 | `admin123` | ## 与 game 客户端对接 game(Electron)启动时强制登录。配置登录服务地址任选其一: 1. 环境变量:`PXB7_AUTH_URL=http://你的服务器:8000` 2. 用户数据目录下的 `auth_config.json`: ```json { "authUrl": "http://你的服务器:8000" } ``` 数据目录示例: - macOS:`~/Library/Application Support/pxb7_crawler/` - Windows:`%APPDATA%\pxb7_crawler\` 本地开发默认:`http://127.0.0.1:8000`。 登录成功后会把永久 token 写入同目录 `auth_session.json`,之后启动不再要求重新登录(服务不可达时仍沿用本地会话;服务返回凭证无效时会要求重登)。 桌面端登录会绑定电脑设备(一账号同时仅一台电脑在线);换机登录可强制踢下旧机。管理后台用户列表可查看绑定并解绑。手机 App 不受电脑绑定限制。 ## 安全说明 - 用户密码:bcrypt 哈希 - 用户账号:Fernet 加密存储 + HMAC 查找哈希(库内无明文账号) - 用户 JWT:无过期(产品要求永久登录);桌面 JWT 含设备指纹与版本号,换绑后旧 token 立即失效 - 上线后请立刻修改默认管理员密码,并妥善备份 `secrets.json`(丢失将无法解密账号)