三两句API聚合产品系统

我要开发同款
Arkkls2026年06月02日
3阅读

技术信息

语言技术
postgresRedisReactTypeScript自动化测试
系统类型
Web
行业分类
开发工具

作品详情

行业场景

作为独立开发者,我需要频繁调用各种第三方 API。每次都要:
1. 去不同平台注册
2. 读不同的文档
3. 适配不同的请求/响应格式
4. 管理一堆 API Key

于是萌生了做 API 聚合网关的想法——一个入口,统一格式,调用所有 API。

功能介绍

三两句 API 网关是一个公益性质的开源项目,旨在为开发者提供统一的 API 聚合入口。只需一个 API Key,即可调用天气、翻译、汇率、编码转换等上百个公共服务,告别为每个服务单独申请密钥的繁琐流程。

项目采用 Monorepo 架构,后端基于 Fastify + TypeScript + Prisma + PostgreSQL,前端基于 Next.js 14 + Tailwind CSS,全栈 TypeScript,类型安全从数据库到 UI 一以贯之。

安全是我们的生命线。API Key 使用 SHA-256 哈希存储(仅展示一次),密码用 bcrypt(cost factor 12),认证用 RS256 非对称 JWT,上游第三方密钥通过 AES-256-GCM 加密后落库,全链路 HTTPS 加密
项目已上线在http://139.224.42.59/

项目实现

**技术选型:**
- **后端**: Fastify (比 Express 快 2-3倍) + TypeScript + Prisma ORM
- **数据库**: PostgreSQL (事务/关系) + Redis (限流/缓存/验证码)
- **前端**: Next.js 14 + Tailwind CSS + shadcn/ui
- **文档**: Scalar (比 Swagger UI 好看)
- **部署**: Docker Compose 一键启动

- API Key: SHA-256 哈希存储,仅生成时展示一次
- JWT: RS256 非对称签名,access 15min + refresh 7天
- 登录保护: 5次失败 → 15分钟锁定
- 限流: Redis 滑动窗口,按 Key + IP 双重维度
- 防滥用: 每小时超限自动封禁

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论