# 百盘搜 (BPS) 一个聚合网盘资源搜索的 Web 应用程序。 ## 功能特点 - 支持多个网盘源(百度网盘、夸克网盘、UC网盘、迅雷网盘) - 实时搜索和结果过滤 - 一键获取临时分享链接 - 自动清理过期资源 ## 技术栈 - 前端:Nuxt.js (Vue 3) + TypeScript + Tailwind CSS - 后端:Express.js + TypeScript - 数据库:Postgres14 + Prisma ORM - 缓存:Redis - 部署:Docker + Docker Compose ## 开发环境设置 ### 前置要求 - Node.js 20+ - Docker 和 Docker Compose - MySQL 8.0 - Redis 7.0 ### 安装步骤 1. 克隆仓库: ```bash git clone https://github.com/yourusername/bps.git cd bps ``` 2. 安装依赖: ```bash # 安装前端依赖 cd frontend npm install # 安装后端依赖 cd ../backend npm install ``` 3. 配置环境变量: ```bash # 后端 cp backend/.env.example backend/.env # 编辑 .env 文件,填入必要的配置信息 ``` 4. 初始化数据库: ```bash cd backend npx prisma migrate dev ``` 5. 启动开发服务器: ```bash # 启动前端(在 frontend 目录下) npm run dev # 启动后端(在 backend 目录下) npm run dev ``` ## 使用 Docker 部署 1. 构建和启动所有服务: ```bash docker-compose up -d ``` 2. 初始化数据库(首次部署时): ```bash docker-compose exec backend npx prisma migrate deploy ``` 3. 查看日志: ```bash docker-compose logs -f ``` ## 项目结构 ``` bps/ ├── frontend/ # Nuxt.js 前端应用 ├── backend/ # Express.js 后端服务 │ ├── src/ │ │ ├── adapters/ # 网盘适配器 │ │ ├── api/ # API 路由 │ │ ├── services/ # 业务逻辑 │ │ └── utils/ # 工具函数 │ └── prisma/ # 数据库模型和迁移 ├── doc/ # 项目文档 └── docker-compose.yml # Docker 配置 ``` ## API 文档 ### 搜索接口 ``` GET /api/search?keyword={keyword} ``` ### 获取链接接口 ``` POST /api/generate-link Content-Type: application/json { "itemId": "string" } ``` ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件