列出儀表板
檢索您有權查看的儀表板。這包括您創建的儀表板和與您共享的儀表板。
基本範例
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
(最近更新的優先)
- 使用標題排序以進行字母順序組織
- 組合多個排序標準以滿足複雜的排序需求
相關操作