# 星凪api **Repository Path**: xzqx/xingzhi-api ## Basic Information - **Project Name**: 星凪api - **Description**: 开源公益api服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-05 - **Last Updated**: 2025-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 星凪 API 一个基于 FastAPI 构建的多功能 API 服务,提供图像处理、通用工具等多种实用功能。 ## 功能特点 - **图像处理**:黑白转换、九宫格切割、抠图、图片缩放、SVG 转换等 - **通用工具**:BMI 计算、网站 favicon 获取、二维码生成等 - **灵活配置**:支持开发和生产环境的独立配置 - **Docker 支持**:提供容器化部署方案 - **静态文件服务**:支持图片等静态资源访问 ## 技术栈 - **核心框架**:Python 3.12 + FastAPI + Uvicorn - **图像处理**:Pillow、rembg、colorthief - **环境配置**:python-dotenv、pydantic-settings - **其他工具**:requests、BeautifulSoup4、qrcode 等 ## 安装说明 ### 使用 Docker(推荐) ```bash # 构建Docker镜像 docker build -t xingzhi-api . # 运行容器 docker run -d -p 8000:8000 --name xingzhi-api-container xingzhi-api ``` ### 手动安装 ```bash # 创建虚拟环境 python -m venv .venv source .venv/bin/activate # Linux/Mac # 或 .venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 运行服务 uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` ## 环境配置 项目使用 .env 文件进行环境配置: - `.env.dev`: 开发环境配置 - `.env.prod`: 生产环境配置 配置示例: ``` ENV=development STATIC_DIR=/path/to/static/directory STATIC_PATH=http://localhost:8000/static ALAPI_TOKEN=your_api_token_here ``` ## API 文档 启动服务后,访问以下地址查看 API 文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## API 端点 ### 图像处理 API | 端点 | 方法 | 描述 | | ------------------------ | -------- | ------------------------------- | | `/api/image/heibai` | GET | 将图片转换为黑白图片 | | `/api/image/jiugong` | GET | 将图片切割为九宫格 | | `/api/image/site-images` | GET | 获取网站中的所有图片 | | `/api/image/yanzhengma` | GET | 生成验证码图片 | | `/api/image/koutu` | GET/POST | 图片抠图(支持 URL 或上传) | | `/api/image/resize` | GET/POST | 调整图片尺寸(支持 URL 或上传) | | `/api/image/tosvg` | GET/POST | 将图片转换为 SVG 格式 | | `/api/image/format` | GET/POST | 转换图片格式 | ### 通用工具 API | 端点 | 方法 | 描述 | | --------------------- | ---- | --------------------- | | `/api/common/bmi` | GET | 计算 BMI 指数 | | `/api/common/favicon` | GET | 获取网站 favicon 图标 | | `/api/common/qrcode` | GET | 生成二维码 | | `/api/common/zaobao` | GET | 获取每日早报信息 | | `/api/common/star` | GET | 获取星座运势 | ## 使用示例 ### 图片转黑白 ```bash curl -X GET "http://localhost:8000/api/image/heibai?url=https://example.com/image.jpg&type=json" ``` ### 计算 BMI ```bash curl -X GET "http://localhost:8000/api/common/bmi?weight=70&height=175&wunit=公斤&hunit=厘米" ``` ### 图片抠图 ```bash curl -X GET "http://localhost:8000/api/image/koutu?url=https://example.com/image.jpg&type=json&bg_color=#FF0000" ``` ## 静态文件 静态文件存储在 `/static` 目录,可通过 `/static/*` 路径访问。 ## 许可证 [MIT](LICENSE)