| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
原始项目(HTML+JQUERY版本): https://github.com/XingWo/skyblessings
光遇祈福签 API - Python 版本:https://github.com/XingWo/skyblessings-python-api
光遇祈福签 API - Go 版本:https://github.com/XingWo/skyblessings-go-api
基于 FastAPI + Pillow 实现的sky祈福签图片生成 API
如需部署和使用请标注和支持,谢谢
# 创建虚拟环境
python -m venv venv # Windows
python3 -m venv venv # Linux/macOS
# 激活虚拟环境 并打印一下解释器路径 确保虚拟环境激活
.\venv\Scripts\activate # Windows
Get-Command python # Windows PowerShell
source venv/bin/activate # Linux/macOS
which python # Linux bash
# 安装依赖
pip install fastapi uvicorn pillow python-multipart toml
pip install -r ./requirements.txt编辑 config.toml:
[server]
host = "0.0.0.0"
port = 51205
log_level = "debug" # "info" 或 "debug"
[image]
width = 1240
height = 620
font_size = 40
assets_dir = "../assets" # assets_dir可能需要替换为具体assets地址cd src
python main.py或使用 uvicorn 直接运行:
cd src
uvicorn main:app --host 0.0.0.0 --port 51205
# --reload可选
uvicorn main:app --host 0.0.0.0 --port 51205 --reloadskyblessings-fastapi-pillow/ ├── assets/ # 资源文件 │ ├── font/ # 字体文件 │ │ └── LXGWWenKaiMono-Medium.ttf │ └── image/ # 图片资源 │ ├── background.png # 遮罩图 │ ├── background0-5.png # 装饰背景 │ └── text0-4.png # 签文图片 ├── src/ # 源代码 │ ├── main.py # FastAPI 主应用 │ ├── render.py # 图片渲染逻辑 │ └── draw_data.py # 祝福数据 ├── venv/ # Python 虚拟环境 ├── config.toml # 配置文件 └── README.md # 说明文档
返回 API 信息
响应示例:
{
"name": "祈福签 API",
"version": "1.0.0",
"endpoints": {
"/": "API 信息",
"/blessing": "获取随机祈福签图片(PNG)"
},"blessing_image_and_text":{
"background_image":"background2.png",
"text_image":"text2.png",
"text_label":"小吉",
"dordas":"结缘物:鱼",
"dordas_color":"缘彩:竹月",
"color_hex":"#7d99a9",
"blessing":"伞一直在,记得避雨。",
"entry":"忌:口是心非",
"image_base64":"......"
}
}生成并返回随机祈福签图片
响应类型: image/png
调试输出(log_level=debug 时):
--- 抽签结果 --- 抽中: 大吉;结缘物:心火;缘彩:雪青;东风满斟,万事顺遂。 宜:出游 --------------------------
如果提示字体加载失败,检查:
如果生成的图片颜色不对:
修改 config.toml 中的 port 值,或停止占用端口的进程:
# 查找占用端口的进程
netstat -ano | findstr :51205 # Windows PowerShell
sudo lsof -i :51205 # Linux bash
# 结束进程
taskkill /PID <进程ID> /F # Windows PowerShell
sudo kill -9 <进程ID> # Linux bash| Back | FazBrowse Home | New Git URL |