This commit is contained in:
AdingApkgg
2025-12-21 00:20:03 +08:00
parent 364313941d
commit e3b3fd40f8
3 changed files with 946 additions and 16 deletions

View File

@@ -3,37 +3,66 @@
Cloudflare Workers 版 SearchGal 聚合搜索 API。提供 `/gal``/patch` 两个入口,接收游戏名并以 SSE 流式返回各平台搜索结果。
## 准备
- Node.js 18+npm
- Node.jsWin 需要) 与 pnpm
- Cloudflare 账号(发布时需要)
## 安装
```bash
npm install
### POSIX
```sh
## 安装 pnpm
curl -fsSL https://get.pnpm.io/install.sh | sh -
## 安装依赖
pnpm install
```
## 本地开发
- 纯本地(无 Cloudflare 登录):`npx wrangler dev --local`
- 实时连 Cloudflare`npx wrangler dev`
### Windows
```sh
## 安装 Node.js
winget install -e --id OpenJS.NodeJS
## 安装 pnpm
npx pnpm@latest-10 dlx @pnpm/exe@latest-10 setup
## 安装依赖
pnpm install
```
## 开发
```sh
# 纯本地(无 Cloudflare 登录)
npx wrangler dev --local
# 实时连 Cloudflare
npx wrangler dev
```
## 运行
```sh
npx wrangler dev --ip 0.0.0.0
```
## 发布
```bash
```sh
npx wrangler login # 首次需要
npx wrangler publish
```
## Docker
### 本地运行
```bash
docker build -t searchgal-api:main .
docker run --rm -p 8787:8787 searchgal-api:main
```
## API 使用
- 路径:`POST /gal``POST /patch`
- Content-Type`multipart/form-data`
- 表单字段:`game` (string)
- 响应:`text/event-stream`,每行是一条 JSON示例
```
```json
{"total":33}
{"progress":{"completed":1,"total":33}}
{"progress":{"completed":2,"total":33},"result":{"name":"某平台","color":"lime","tags":["NoReq"],"items":[{"name":"Title","url":"https://..."}]}}
@@ -41,6 +70,7 @@ docker run --rm -p 8787:8787 searchgal-api:main
```
## 标签说明tags
- `NoReq`:无需登录/回复即可拿到下载信息
- `Login`:需登录后访问
- `LoginPay`:需登录且支付积分
@@ -54,10 +84,10 @@ docker run --rm -p 8787:8787 searchgal-api:main
- `magic`:站点需要代理访问
## 目录速览
- `src/index.ts` Worker 入口,路由 `/gal``/patch`
- `src/core.ts` 处理并行搜索与 SSE 组装
- `src/platforms/gal` GAL 平台搜集器
- `src/platforms/patch` 补丁平台搜集器
- `src/utils/httpClient.ts` 统一请求封装
- `scripts/generate-indices.js` 可选的索引生成脚本