Server
基于 Hono 框架的后端服务,运行在 Cloudflare Workers 上。
技术栈
- Hono - Web 框架(专为边缘环境优化)
- Cloudflare Workers - 边缘计算平台
- Prisma 7 - ORM(使用 Accelerate 或 Adapter)
- Zod - Schema 验证
- Vitest - 测试框架
开发
bash
pnpm dev构建
bash
pnpm build部署
bash
pnpm deploy数据库
连接方案
Cloudflare Workers 运行在 V8 isolate 环境中,不支持直接的 TCP 连接。项目支持两种数据库连接方案:
- Prisma Accelerate(推荐)- 通过 HTTP API 连接数据库
- Prisma Adapter - 使用 PostgreSQL adapter(仅 Node.js 环境)
配置
bash
# 推送 schema
pnpm db:push
# 生成 Prisma Client
pnpm db:generate详细数据库配置请查看 数据库文档。
API 路由
POST /api/v1/auth/login- 用户登录POST /api/v1/auth/register- 用户注册POST /api/v1/auth/verify- 验证 tokenGET /api/v1/auth/me- 获取当前用户信息
环境变量
详细环境变量配置请查看 Server README。
必需:
JWT_SECRET- JWT 密钥(至少 32 字符)ACCELERATE_URL或DATABASE_URL- 数据库连接
注意:Cloudflare Workers 环境使用 ACCELERATE_URL,自托管 Node.js 环境使用 DATABASE_URL。
数据库连接方案
Prisma Accelerate(推荐)✅
当前项目使用的方案
Prisma Accelerate 是一个连接池和缓存服务,通过 HTTP API 连接数据库:
优点:
- ✅ 专为边缘环境设计
- ✅ 连接池管理(避免连接数限制)
- ✅ 查询缓存(提升性能)
- ✅ 支持所有 Prisma 功能
- ✅ 有免费开发计划
获取方式:
- 访问 https://accelerate.prisma.io/
- 注册并创建项目
- 获取 Accelerate URL
Prisma Adapter(已实现)✅
Prisma 7 支持通过 adapter 连接数据库:
注意:
- ⚠️ 在 Cloudflare Workers 中可能不工作:PostgreSQL adapter 需要 TCP 连接,而 Workers 只支持 fetch API
- ⚠️ 如果 adapter 失败,会自动提示使用 Prisma Accelerate
- ✅ 在 Node.js 环境中可以正常工作
使用方式:
- 如果设置了
ACCELERATE_URL,优先使用 Accelerate - 如果没有
ACCELERATE_URL但有DATABASE_URL,会尝试使用 adapter - 如果 adapter 失败,会提示使用 Accelerate
总结
| 方案 | 支持 PostgreSQL | 成熟度 | 推荐度 |
|---|---|---|---|
| Prisma Accelerate | ✅ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Prisma Adapter | ✅ | ⭐⭐ | ⭐ |
结论: 对于 PostgreSQL + Cloudflare Workers,Prisma Accelerate 是最佳选择。