Skip to content
站长自营API 中转

代理和中转可以分开处理

网络代理解决连接问题,ZZSwitch 更适合统一 Base URL、Key、余额和多模型路由。

站长自营API 中转

正在配置代理或 API 中转?可以把模型接口统一到一个网关里

系统代理负责让客户端连得上,API 中转负责统一 Base URL、Key、余额和多模型路由。ZZSwitch 是我自己运营的统一 API 网关,适合 OpenCode / Claude Code / Codex 等工具接入。

如何在 Expo Router 中构建高效的 API Routes 服务端路由

解决移动端直接调用第三方 API 导致密钥泄露的问题,通过在 Expo Router 中建立 +api.ts 服务端路由,实现安全的数据处理与 API 代理。

为什么需要这个技能

在传统的 React Native 开发中,如果直接在客户端调用外部 API(如 OpenAI 或 Stripe),API Key 必须写在前端代码中,这会导致严重的安全漏洞。

通过 Expo Router 的 API Routes,你可以创建运行在服务端的端点。这意味着敏感的 API 密钥、数据库凭证可以安全地存储在环境变量中,且复杂的计算逻辑或数据库查询可以在服务端完成,从而减轻移动端的性能压力并增强安全性。

适用场景

  • 保护敏感密钥:需要调用需要 API Key 的第三方服务时。
  • 数据库直接操作:需要执行不便在客户端暴露的数据库查询。
  • API 代理与验证:在请求到达第三方服务前进行预处理或数据校验。
  • Webhook 接收:接收来自 Stripe 或 GitHub 的异步回调。
  • 高性能计算:将耗时较长的逻辑从移动端移至服务端。

核心工作流

1. 定义文件结构

API 路由必须位于 app 目录下,且文件名以 +api.ts 结尾。

  • app/api/hello+api.ts 映射为 /api/hello
  • app/api/users/[id]+api.ts 映射为动态路由 /api/users/:id

2. 实现 HTTP 方法

在文件中导出与 HTTP 方法同名的函数(如 GET, POST, PUT, DELETE):

ts
// app/api/items+api.ts
export async function POST(request: Request) {
  const body = await request.json();
  return Response.json({ created: body }, { status: 201 });
}

3. 管理环境变量与部署

  • 本地开发:使用 .env 文件存储密钥,通过 npx expo serve 启动。
  • 生产部署:使用 eas deploy 将路由部署至 EAS Hosting(基于 Cloudflare Workers)。
  • 配置密钥:通过 eas env:create 在云端配置生产环境的 API Key。

4. 注意运行时限制

由于 API Routes 运行在 Cloudflare Workers 环境中,需注意:

  • 不支持 Node.js 的 fs 文件系统模块。
  • 需使用 Web 标准 API(如 fetch 代替 node-fetch)。
  • 建议连接云端数据库(如 Turso, Supabase, Neon)。

下载和安装

下载 expo-api-routes 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐

站长自营API 中转

ZZSwitch API 中转

统一 Base URL、Key 和余额。