Files
PrivyDrop/backend/README.zh-CN.md
T
2026-02-28 12:37:11 +08:00

2.1 KiB

PrivyDrop - 后端

这是 PrivyDrop 的后端服务器。它使用 Node.js、Express 和 Socket.IO 构建,负责处理 WebRTC 连接的信令、房间管理和来自前端的 API 请求。

功能特性

  • WebRTC 信令: 使用 Socket.IO 交换 SDP 和 ICE candidates。
  • 房间管理: 使用 Redis 高效地创建和管理临时文件共享房间。
  • 轻量级 API: 提供核心的 HTTP 接口供前端交互。
  • 临时数据存储: 所有房间数据在 Redis 中都有自动过期时间。

🛠️ 技术栈

  • 运行时: Node.js
  • 框架: Express.js
  • 语言: TypeScript
  • 实时通信: Socket.IO
  • 数据库: Redis (使用 ioredis 客户端)

🚀 入门 (本地开发)

  1. 先决条件

    • Node.js (v18.x 或更高版本)
    • 一个正在运行的 Redis 实例
  2. 进入目录并安装依赖

    cd backend
    npm install
    
  3. 配置环境变量 首先,从模板文件复制一份开发环境变量配置:

    cp .env_development_example .env.development
    

    然后,打开并编辑 .env.development 文件,根据你的本地 Redis 和前端配置进行调整。

  4. 运行开发服务器

    npm run dev
    

    服务器将在 BACKEND_PORT 环境变量指定的端口上启动(默认为 3001)。

📖 API 与事件摘要

本服务提供了一系列 API 端点和 Socket.IO 事件来支持前端功能。

  • API 端点: 主要包括房间创建 (/api/get_room)、加入和检查等。
  • Socket.IO 事件: 负责处理客户端加入房间 (join) 以及 WebRTC 信令的转发 (offer, answer, ice-candidate)。

📚 详细文档