feat: 后端搜索接口开发
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# 百盘搜 (BPS)
|
||||
|
||||
一个聚合网盘资源搜索的 Web 应用程序。
|
||||
|
||||
## 功能特点
|
||||
|
||||
- 支持多个网盘源(百度网盘、夸克网盘、UC网盘、迅雷网盘)
|
||||
- 实时搜索和结果过滤
|
||||
- 一键获取临时分享链接
|
||||
- 自动清理过期资源
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 前端:Nuxt.js (Vue 3) + TypeScript + Tailwind CSS
|
||||
- 后端:Express.js + TypeScript
|
||||
- 数据库:MySQL 8.0 + 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) 文件
|
||||
Reference in New Issue
Block a user