- Base URL:
http://localhost:3000 - Content-Type:
multipart/form-data(上传) /application/json(响应)
| 方法 | 端点 | 描述 |
|---|---|---|
| GET | /health |
服务健康检查 |
| POST | /api/build/html |
上传 HTML 文件构建 APK |
| POST | /api/build/zip |
上传 ZIP 项目构建 APK |
| GET | /api/build/:taskId/status |
查询任务状态 |
| GET | /api/build/:taskId/download |
下载构建完成的 APK |
| DELETE | /api/build/:taskId |
取消任务并清理文件 |
可选能力:当服务端开启
PWA_ENABLED=true时,构建请求可携带publishPwa=true,Worker 会额外导出一个可安装的 PWA 站点(静态文件),用于分享/预览。
GET /health响应:
{
"status": "ok",
"timestamp": "2024-01-01T00:00:00.000Z"
}POST /api/build/html参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | HTML 文件 (.html/.htm) |
| appName | string | 否 | 应用名称 (默认 "MyVibeApp") |
| appId | string | 否 | 包名 (自动生成) |
| publishPwa | string | 否 | 是否额外导出 PWA (true/false) |
示例:
curl -X POST http://localhost:3000/api/build/html \
-F "file=@mypage.html" \
-F "appName=MyApp" \
-F "publishPwa=true"POST /api/build/zip参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| file | File | 是 | 项目 ZIP 包 |
| appName | string | 否 | 应用名称 (默认 "MyReactApp") |
| appId | string | 否 | 包名 (默认 "com.demo2apk.reactapp") |
| publishPwa | string | 否 | 是否额外导出 PWA (true/false) |
支持项目:
- Vite + React
- Create React App
- Next.js (静态导出)
GET /api/build/:taskId/status状态值:
pending: 等待中active: 构建中completed: 完成failed: 失败
响应示例:
{
"taskId": "abc123xyz",
"status": "active",
"progress": {
"message": "Building APK...",
"percent": 70
},
"pwa": {
"siteId": "myapp-1a2b3c4d",
"url": "https://myapp-1a2b3c4d.pwa.example.com/"
}
}GET /api/build/:taskId/download返回 APK 文件流。
DELETE /api/build/:taskId清理任务记录和相关临时文件。