检索您可以查看或修改的仪表板的分页列表


列出仪表板

检索您可以查看的仪表板。这包括您创建的仪表板和与您共享的仪表板。

基本示例

query ListDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

高级示例

query ListDashboardsAdvanced {
  dashboards(
    filter: { 
      companyId: "company_123"
      projectId: "proj_456"  # Optional: filter by project
    }
    sort: [updatedAt_DESC, title_ASC]
    skip: 0
    take: 10
  ) {
    items {
      id
      title
      createdBy {
        id
        name
        email
      }
      dashboardUsers {
        id
        role
        user {
          id
          name
          email
        }
      }
      createdAt
      updatedAt
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
  }
}

输入参数

DashboardFilterInput

参数 类型 必需 描述
companyId String! ✅ 是 用于过滤仪表板的公司 ID
projectId String 可选的项目 ID,用于过滤仪表板

排序选项

排序值 描述
title_ASC 按标题升序排序
title_DESC 按标题降序排序
createdBy_ASC 按创建者升序排序
createdBy_DESC 按创建者降序排序
updatedAt_ASC 按更新时间升序排序
updatedAt_DESC 按更新时间降序排序(默认)

分页参数

参数 类型 默认值 描述
skip Int 0 跳过的项目数量
take Int 20 返回的项目数量(最多 100)

响应字段

DashboardPagination

字段 类型 描述
items [Dashboard!]! 仪表板对象数组
pageInfo PageInfo! 分页信息

Dashboard

字段 类型 描述
id ID! 仪表板的唯一标识符
title String! 仪表板的显示名称
createdBy User! 创建仪表板的用户
dashboardUsers [DashboardUser!] 具有访问此仪表板权限的用户
createdAt DateTime! 仪表板创建时间
updatedAt DateTime! 仪表板最后修改时间

DashboardUser

字段 类型 描述
id ID! 仪表板用户的唯一标识符
role DashboardRole! 用户角色(查看者或编辑者)
user User! 用户信息

访问控制

仪表板可见性

您只能看到您是以下角色的仪表板:

  • 仪表板的创建者
  • 通过仪表板共享明确授予访问权限

所需权限

  • 需要身份验证:您必须登录
  • 公司访问:您必须有权访问指定的公司
  • 项目访问:如果按项目过滤,您必须有权访问该项目

错误响应

找不到公司

{
  "errors": [{
    "message": "Company not found",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

找不到项目

{
  "errors": [{
    "message": "Project not found", 
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

常见用例

列出所有公司仪表板

query CompanyDashboards {
  dashboards(filter: { companyId: "company_123" }) {
    items {
      id
      title
      createdBy { name }
    }
  }
}

列出特定项目的仪表板

query ProjectDashboards {
  dashboards(filter: { 
    companyId: "company_123"
    projectId: "proj_456"
  }) {
    items {
      id
      title
    }
  }
}

分页仪表板列表

query PaginatedDashboards {
  dashboards(
    filter: { companyId: "company_123" }
    skip: 20
    take: 10
  ) {
    items {
      id
      title
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
  }
}

最佳实践

性能

  • 使用分页以提高大型仪表板列表的性能
  • 仅请求您在应用程序中需要的字段
  • 考虑缓存频繁访问的数据的仪表板列表

过滤

  • 始终按公司过滤以确保适当的数据隔离
  • 在处理特定项目的仪表板时使用项目过滤
  • 组合过滤器以有效缩小结果范围

排序

  • 默认排序为 updatedAt_DESC(最近更新的优先)
  • 使用标题排序进行字母顺序组织
  • 组合多个排序标准以满足复杂的排序需求

相关操作

AI助手

响应是通过人工智能生成的,可能包含错误。

我能帮您什么?

随时问我关于 Blue 或本文档的任何问题。

输入发送 • Shift+Enter 换行 • ⌘I 打开