Skip to content

zsancc/imghost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

异步图片托管服务 (Async Image Host)

这是一个使用 Python FastAPI 构建的异步图片托管服务。它提供了多个第三方图床接口用于上传图片,并提供了 API 来管理图片、相册、标签和用户。

✨ 功能特性

  • 异步处理: 基于 asyncioFastAPI 实现高性能的异步请求处理。
  • 多图床接口: 集成了多个图床接口 (百度百家号, 京东, 美团, TCL)。
  • API 管理: 提供 RESTful API 用于管理图片、相册、标签和用户。
  • 数据库支持: 使用 SQLAlchemy 进行数据持久化 (需要配置数据库)。
  • Web 界面: 包含一个简单的前端界面 (位于 static/dist)。

🚀 安装与设置

  1. 克隆仓库:

    git clone <your-repository-url>
    cd imagehost_async
  2. 创建虚拟环境 (推荐):

    python -m venv venv
    # Windows
    .\venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
  3. 安装依赖:

    pip install -r requirements.txt
  4. 配置环境变量: 复制 .env.example (如果存在) 或创建一个 .env 文件,并根据需要配置数据库连接字符串等环境变量。至少需要配置 DATABASE_URL

    DATABASE_URL="postgresql+asyncpg://user:password@host:port/dbname" # 或者其他 SQLAlchemy 支持的数据库 URL
    # 其他可能的配置...
    SECRET_KEY="your_secret_key"
  5. 初始化数据库: (如果 app/init_db.py 提供了初始化逻辑)

    python app/init_db.py

    或者,如果使用 Alembic 等迁移工具,请按照其说明操作。

🛠️ 运行服务

使用 uvicorn 运行 FastAPI 应用:

uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
  • --reload: 开发模式下启用自动重载。
  • --host 0.0.0.0: 允许从本地网络访问。
  • --port 8000: 指定服务运行的端口。

服务启动后,您可以访问:

  • API 文档 (Swagger UI): http://localhost:8000/docs
  • API 文档 (ReDoc): http://localhost:8000/redoc
  • 前端界面: http://localhost:8000/ (如果静态文件服务已正确配置)

📚 API 端点

主要 API 端点包括:

  • /api/v1/users/: 用户管理
  • /api/v1/images/: 图片上传和管理
  • /api/v1/albums/: 相册管理
  • /api/v1/tags/: 标签管理
  • /api/v1/interfaces/: 图床接口信息
  • /api/v1/image-url/: 通过 URL 上传图片

详细信息请参阅 API 文档 (/docs)。

🤝 贡献

欢迎提交 Pull Requests 或 Issues。

📄 许可证

(如果需要,请添加许可证信息,例如 MIT, Apache 2.0 等)

About

图床项目

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages