列出仪表板
检索您可以查看的仪表板。这包括您创建的仪表板和与您共享的仪表板。
基本示例
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
}
}
}
输入参数
参数 |
类型 |
必需 |
描述 |
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) |
响应字段
字段 |
类型 |
描述 |
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
(最近更新的优先)
- 使用标题排序进行字母顺序组织
- 组合多个排序标准以满足复杂的排序需求
相关操作