Skip to content

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 连接。项目支持两种数据库连接方案:

  1. Prisma Accelerate(推荐)- 通过 HTTP API 连接数据库
  2. 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 - 验证 token
  • GET /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 功能
  • ✅ 有免费开发计划

获取方式:

  1. 访问 https://accelerate.prisma.io/
  2. 注册并创建项目
  3. 获取 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 是最佳选择。

Released under the MIT License.