相册列表接口

接口说明

获取相册列表。支持分页查询和路径筛选,会过滤私密相册,并对加密相册进行特殊处理。

  • 接口URL: /api/photos/albums/index
  • 请求方法: POST
  • 权限要求: 支持未登录访问,但登录后可查看更多信息

请求参数

参数名 类型 必填 说明 示例值
page_numer number 页码,不传则返回全部数据 1
page_size number 每页条数,不传则返回全部数据 10
album_path string 相册路径 "travel"

响应结构

typescript 复制代码
interface Response {
  code: number;      // 状态码
  message: string;   // 响应消息
  data?: {
    list: Array<{
      album_id: number;        // 相册ID
      album_title: string;     // 相册标题
      album_description: string;// 相册描述
      album_cover: string;     // 相册封面
      album_date: string;      // 创建日期
      album_private: number;   // 是否私密(0:否, 1:是)
      album_password?: string; // 访问密码(加密相册才有)
      album_path: string;      // 相册路径
    }>;
    total: number;            // 总条数
  };
}

响应示例

json 复制代码
{
  "code": 0,
  "message": "success",
  "data": {
    "list": [
      {
        "album_id": 1,
        "album_title": "旅行相册",
        "album_description": "记录美好时光",
        "album_cover": "https://example.com/cover.jpg",
        "album_date": "2024-01-01",
        "album_private": 0,
        "album_path": "travel"
      }
    ],
    "total": 1
  }
}

特殊说明

分页机制

  • page_numerpage_size 都不传时,返回全部数据
  • 分页从第1页开始,每页大小由 page_size 决定

访问控制

  • 私密相册会被过滤,不会出现在返回列表中
  • 加密相册的敏感信息会被隐藏,需要通过密码验证接口获取访问权限
  • 登录用户可以查看更多相册信息

错误码说明

错误码 说明 处理建议
0 成功 -
500 服务器错误 请联系管理员

调用示例

基础查询

typescript 复制代码
const response = await fetch('/api/photos/albums/index', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    page_numer: 1,
    page_size: 10
  })
});

路径筛选

typescript 复制代码
const response = await fetch('/api/photos/albums/index', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    page_numer: 1,
    page_size: 10,
    album_path: 'travel'
  })
});