[源码]基于 Go 语言与 Netlify Functions 的随机图片 API
ACGURL随机图片 API
基于 Netlify Functions 的随机图片 API 服务,使用 Go 语言实现。
Demo
API 地址:https://api.acgurl.link
JSON 样例:https://api.acgurl.link/img?type=ysh&json=true
Github
功能特点
- 支持多种图片类型(原神、星穹铁道、必应壁纸)
- 支持特定类型图片的样式转换(webp、jpg、png)
- 支持 JSON 和重定向两种返回方式
- 内置多级缓存机制
- 自动请求限流保护
- 完整的健康检查
- 支持跨域访问
API 使用
图片重定向
1 | GET /img?type=ysh |
JSON 响应
1 | GET /img?type=ysh&json=true |
支持的类型参数
- ysh: 原神横屏
- yss: 原神竖屏
- xqh: 星穹横屏
- xqs: 星穹竖屏
请求参数说明
style参数支持情况
style参数仅在以下图片类型下可用:
- ysh (原神横屏)
- yss (原神竖屏)
- xqh (星穹横屏)
- xqs (星穹竖屏)
注意:
- 必应壁纸(bing)不支持样式转换
- style参数值将直接附加到图片URL中,格式为:
原始URL@参数值
- 建议参考B站图片处理规则使用合适的参数值
开发部署
- 安装依赖:
1 | go mod download |
- 本地构建:
1 | go build -o functions/rangeImage ./functions/rangeImage.go |
- 部署到 Netlify:
1 | git push |
本地开发
- 复制环境变量示例文件:
1 | cp .env.example .env |
-
修改 .env 文件中的 MongoDB 连接信息
-
本地测试:
1 | go run functions/rangeImage.go |
- 环境要求:
- Go 1.19+
- MongoDB 4.0+
- Netlify CLI (可选)
健康检查
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果