Преглед на файлове

Update README.md with detailed installation steps and environment requirements

- Reformatted environment requirements into a table for clarity.
- Expanded installation instructions for Node.js, pnpm, and Python services.
- Added detailed steps for configuring the database and environment variables.
- Included verification commands and troubleshooting tips for common issues.
Ethanfly преди 10 часа
родител
ревизия
cf4c35875d
променени са 1 файла, в които са добавени 227 реда и са изтрити 26 реда
  1. 227 26
      README.md

+ 227 - 26
README.md

@@ -90,13 +90,27 @@
 
 ### 环境要求
 
-- Node.js >= 20.0.0
-- pnpm >= 8.0.0
-- MySQL 8.0+
+| 软件 | 版本要求 | 说明 |
+|------|----------|------|
+| Node.js | >= 20.0.0 | JavaScript 运行时 |
+| pnpm | >= 8.0.0 | 包管理器 |
+| Python | >= 3.8 | 视频发布服务 |
+| MySQL | 8.0+ | 数据库 |
+
+---
+
+## 📋 详细安装步骤
 
-### 安装 pnpm
+### 第一步:安装 Node.js
+
+下载并安装 Node.js 20+ 版本:https://nodejs.org/
+
+```bash
+# 验证安装
+node --version  # 应显示 v20.x.x 或更高
+```
 
-如果尚未安装 pnpm,可以通过以下方式安装:
+### 第二步:安装 pnpm
 
 ```bash
 # 方式一:使用 npm 安装(推荐)
@@ -113,71 +127,258 @@ iwr https://get.pnpm.io/install.ps1 -useb | iex
 curl -fsSL https://get.pnpm.io/install.sh | sh -
 
 # 验证安装
-pnpm --version
+pnpm --version  # 应显示 8.x.x 或更高
 ```
 
-### 安装
+### 第三步:克隆项目
 
 ```bash
-# 克隆项目
 git clone https://github.com/your-repo/multi-platform-media-manage.git
 cd multi-platform-media-manage
+```
 
-# 安装依赖
+### 第四步:安装 Node.js 依赖
+
+```bash
+# 安装所有工作空间的依赖
 pnpm install
 ```
 
-### 配置数据库
+> 此命令会自动安装 `client`、`server`、`shared` 三个工作空间的所有依赖。
+
+### 第五步:编译 shared 共享模块
 
-1. 创建 MySQL 数据库:
+**⚠️ 重要:首次运行或修改 shared 代码后必须执行此步骤!**
+
+```bash
+# 编译 shared 模块(client 和 server 都依赖它)
+cd shared
+pnpm build
+cd ..
+```
+
+或者使用快捷命令:
+
+```bash
+pnpm --filter @media-manager/shared build
+```
+
+> `shared` 模块包含 TypeScript 类型定义和常量,被 client 和 server 共同引用。
+
+### 第六步:配置数据库
+
+#### 6.1 创建 MySQL 数据库
 
 ```sql
+-- 登录 MySQL
+mysql -u root -p
+
+-- 创建数据库
 CREATE DATABASE media_manager CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
+
+-- 退出
+exit
 ```
 
-2. 导入数据库结构:
+#### 6.2 导入数据库结构
 
 ```bash
 mysql -u root -p media_manager < database/schema.sql
 ```
 
-3. 配置环境变量:
+#### 6.3 配置环境变量
 
 ```bash
+# 进入 server 目录
 cd server
-cp env.example .env
-# 编辑 .env 文件,填入数据库配置
+
+# 复制环境变量模板
+cp env.example .env   # Linux/macOS
+copy env.example .env # Windows CMD
 ```
 
-主要配置项:
+编辑 `.env` 文件,填入数据库配置:
+
+```env
+# 数据库配置
+DB_HOST=localhost
+DB_PORT=3306
+DB_USERNAME=root
+DB_PASSWORD=你的MySQL密码
+DB_DATABASE=media_manager
+
+# JWT 密钥(生产环境请更换为随机字符串)
+JWT_SECRET=your-super-secret-key-change-in-production
+
+# 加密密钥(必须是 32 个字符)
+ENCRYPTION_KEY=your-encryption-key-32-chars-long!
+```
+
+<details>
+<summary>📄 完整配置项说明(点击展开)</summary>
 
 | 配置项 | 说明 | 默认值 |
 |--------|------|--------|
+| `NODE_ENV` | 运行环境 | development |
+| `PORT` | 服务端口 | 3000 |
 | `DB_HOST` | MySQL 主机 | localhost |
 | `DB_PORT` | MySQL 端口 | 3306 |
 | `DB_USERNAME` | 数据库用户名 | root |
 | `DB_PASSWORD` | 数据库密码 | - |
 | `DB_DATABASE` | 数据库名称 | media_manager |
 | `JWT_SECRET` | JWT 密钥 | - |
-| `PORT` | 服务端口 | 3000 |
+| `JWT_ACCESS_EXPIRES_IN` | Access Token 过期时间 | 15m |
+| `JWT_REFRESH_EXPIRES_IN` | Refresh Token 过期时间 | 7d |
+| `ENCRYPTION_KEY` | 数据加密密钥(32字符) | - |
+| `UPLOAD_PATH` | 文件上传路径 | ./uploads |
+| `MAX_VIDEO_SIZE` | 最大视频大小 (MB) | 4096 |
+
+</details>
+
+### 第七步:安装 Python 服务(视频发布功能)
+
+Python 服务用于视频自动发布功能,**必须安装**。
+
+#### 7.1 进入 Python 目录
+
+```bash
+cd server/python
+```
+
+#### 7.2 创建虚拟环境
+
+**Windows (PowerShell)**:
+```powershell
+# 创建虚拟环境
+python -m venv venv
+
+# 激活虚拟环境
+.\venv\Scripts\Activate.ps1
+
+# 如果遇到执行策略错误,先运行:
+# Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
+```
+
+**Windows (CMD)**:
+```cmd
+python -m venv venv
+venv\Scripts\activate.bat
+```
+
+**Linux / macOS**:
+```bash
+python3 -m venv venv
+source venv/bin/activate
+```
+
+#### 7.3 安装 Python 依赖
+
+```bash
+# 确保虚拟环境已激活(提示符前有 (venv))
+pip install -r requirements.txt
+
+# 安装 Playwright 浏览器
+playwright install chromium
 
-详细配置说明请参考 `server/env.example` 文件。
+# Linux 服务器还需安装系统依赖
+# playwright install-deps chromium
+```
 
-### 启动开发服务
+#### 7.4 验证 Python 服务
+
+```bash
+# 启动 Python 服务(测试)
+python app.py
+
+# 看到以下输出表示成功:
+# ============================================================
+# 多平台视频发布服务
+# ============================================================
+# 服务地址: http://0.0.0.0:5005
+# ============================================================
+```
+
+按 `Ctrl+C` 停止服务。
+
+### 第八步:启动开发服务
+
+回到项目根目录:
+
+```bash
+cd ../..  # 从 server/python 返回根目录
+```
+
+#### 方式一:同时启动所有服务(推荐)
 
 ```bash
-# 同时启动前后端
 pnpm dev
+```
+
+这会同时启动:
+- Node.js 后端服务 (端口 3000)
+- Electron 客户端 (端口 5173)
 
-# 或分别启动
-pnpm dev:server  # 启动后端
-pnpm dev:client  # 启动客户端(新终端)
+#### 方式二:分别启动服务
+
+**终端 1 - 启动后端**:
+```bash
+pnpm dev:server
 ```
 
-### 默认账号
+**终端 2 - 启动客户端**:
+```bash
+pnpm dev:client
+```
+
+**终端 3 - 启动 Python 服务**:
+```bash
+cd server/python
+.\venv\Scripts\Activate.ps1  # Windows
+# source venv/bin/activate   # Linux/macOS
+python app.py
+```
+
+### 第九步:登录系统
+
+- **用户名**: `admin`
+- **密码**: `admin123`
+
+---
+
+## 🔄 日常开发流程
+
+```bash
+# 1. 进入项目目录
+cd multi-platform-media-manage
+
+# 2. 启动主服务
+pnpm dev
+
+# 3. 启动 Python 服务(新开终端)
+cd server/python
+.\venv\Scripts\Activate.ps1
+python app.py
+```
+
+## ❓ 常见问题
+
+### Q: 启动时报错 "Cannot find module '@media-manager/shared'"
+**A**: 需要先编译 shared 模块:
+```bash
+cd shared && pnpm build && cd ..
+```
+
+### Q: Python 服务启动报错
+**A**: 确保:
+1. 已激活虚拟环境(提示符前有 `(venv)`)
+2. 已安装所有依赖:`pip install -r requirements.txt`
+3. 已安装浏览器:`playwright install chromium`
+
+### Q: 数据库连接失败
+**A**: 检查 `server/.env` 文件中的数据库配置是否正确。
 
-- 用户名: `admin`
-- 密码: `admin123`
+### Q: Electron 窗口空白
+**A**: 确保后端服务已启动(端口 3000)。
 
 ## 📁 项目结构