逍遥图库系统逍遥图库系统
首页
  • 快速开始

    • 项目介绍
    • 安装指南
    • 快速开始
  • 深入了解

    • 配置说明
    • 部署指南
    • 安全配置
  • 用户系统
  • 图片管理
  • 相册管理
  • 互动功能
  • 管理后台
  • PWA 渐进式应用
  • API 概述
  • 认证接口
  • 图片接口
  • 相册接口
  • 用户接口
  • 管理接口
  • 主题系统
  • 性能优化
  • 常见问题
  • 更新日志
Gitee
首页
  • 快速开始

    • 项目介绍
    • 安装指南
    • 快速开始
  • 深入了解

    • 配置说明
    • 部署指南
    • 安全配置
  • 用户系统
  • 图片管理
  • 相册管理
  • 互动功能
  • 管理后台
  • PWA 渐进式应用
  • API 概述
  • 认证接口
  • 图片接口
  • 相册接口
  • 用户接口
  • 管理接口
  • 主题系统
  • 性能优化
  • 常见问题
  • 更新日志
Gitee
  • API 参考

    • API 概述
    • 认证接口
    • 图片接口
    • 相册接口
    • 用户接口
    • 评论接口
    • 管理接口

图片接口

图片上传、管理、互动等接口。

上传图片

请求

POST /api/photos/upload
Authorization: Bearer {token}
Content-Type: multipart/form-data

参数

参数类型必填说明
filefile是图片文件
titlestring否标题
descriptionstring否描述
album_idint否相册ID
tagsstring否标签,逗号分隔
is_publicint否是否公开:1公开 0私密

响应

{
    "code": 0,
    "message": "上传成功",
    "data": {
        "id": 123,
        "title": "风景照",
        "path": "/storage/photos/2025/01/abc123.jpg",
        "thumb": "/storage/photos/2025/01/abc123_thumb.jpg",
        "width": 1920,
        "height": 1080,
        "size": 1024000
    }
}

获取图片列表

请求

GET /api/photos

参数

参数类型必填说明
pageint否页码,默认1
limitint否每页数量,默认20
sortstring否排序字段
orderstring否排序方向
album_idint否相册ID
tagstring否标签
keywordstring否搜索关键词

响应

{
    "code": 0,
    "data": {
        "list": [
            {
                "id": 123,
                "title": "风景照",
                "thumb": "/storage/photos/2025/01/abc123_thumb.jpg",
                "views": 100,
                "likes": 50,
                "favorites": 20,
                "user": {
                    "id": 1,
                    "username": "user123",
                    "avatar": "/storage/avatars/1.jpg"
                },
                "create_time": "2025-01-18 10:00:00"
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 20,
            "total": 100,
            "pages": 5
        }
    }
}

获取图片详情

请求

GET /api/photos/{id}

响应

{
    "code": 0,
    "data": {
        "id": 123,
        "title": "风景照",
        "description": "美丽的风景",
        "path": "/storage/photos/2025/01/abc123.jpg",
        "thumb": "/storage/photos/2025/01/abc123_thumb.jpg",
        "width": 1920,
        "height": 1080,
        "size": 1024000,
        "views": 100,
        "likes": 50,
        "favorites": 20,
        "downloads": 10,
        "is_liked": false,
        "is_favorited": false,
        "tags": ["风景", "自然"],
        "exif": {
            "camera": "Canon EOS R5",
            "aperture": "f/2.8",
            "shutter": "1/1000",
            "iso": 100
        },
        "user": {
            "id": 1,
            "username": "user123",
            "nickname": "摄影师",
            "avatar": "/storage/avatars/1.jpg"
        },
        "album": {
            "id": 1,
            "name": "风景集"
        },
        "create_time": "2025-01-18 10:00:00"
    }
}

更新图片

请求

PUT /api/photos/{id}
Authorization: Bearer {token}
Content-Type: application/json

参数

参数类型必填说明
titlestring否标题
descriptionstring否描述
album_idint否相册ID
tagsarray否标签数组
is_publicint否是否公开

响应

{
    "code": 0,
    "message": "更新成功"
}

删除图片

请求

DELETE /api/photos/{id}
Authorization: Bearer {token}

响应

{
    "code": 0,
    "message": "删除成功"
}

点赞/取消点赞

请求

POST /api/photos/{id}/like
Authorization: Bearer {token}

响应

{
    "code": 0,
    "message": "点赞成功",
    "data": {
        "is_liked": true,
        "likes": 51
    }
}

收藏/取消收藏

请求

POST /api/photos/{id}/favorite
Authorization: Bearer {token}

响应

{
    "code": 0,
    "message": "收藏成功",
    "data": {
        "is_favorited": true,
        "favorites": 21
    }
}

下载图片

请求

GET /api/photos/{id}/download
Authorization: Bearer {token}

响应

返回图片文件流。

编辑图片

请求

POST /api/photos/{id}/edit
Authorization: Bearer {token}
Content-Type: application/json

参数

参数类型必填说明
actionstring是操作类型
paramsobject是操作参数

操作类型

action说明params
crop裁剪{x, y, width, height}
rotate旋转{angle: 90/180/270}
flip翻转{direction: h/v}
resize调整大小{width, height}
filter滤镜{type, value}

示例

{
    "action": "crop",
    "params": {
        "x": 100,
        "y": 100,
        "width": 800,
        "height": 600
    }
}

响应

{
    "code": 0,
    "message": "编辑成功",
    "data": {
        "path": "/storage/photos/2025/01/abc123_edited.jpg"
    }
}

生成分享链接

请求

POST /api/photos/{id}/share
Authorization: Bearer {token}
Content-Type: application/json

参数

参数类型必填说明
typestring是link/qrcode
expiresint否有效期(天)
passwordstring否访问密码

响应

{
    "code": 0,
    "data": {
        "url": "https://example.com/s/abc123",
        "qrcode": "data:image/png;base64,..."
    }
}

错误码

code说明
20001文件格式不支持
20002文件大小超出限制
20003图片不存在
20004无权操作此图片
在 Gitee 上编辑此页
Prev
认证接口
Next
相册接口