Blue 中的專案構成了組織用戶和數據的基本框架。
列出所有專案
projectList
查詢允許您使用強大的過濾、排序和分頁選項來檢索專案。
基本範例
query ProjectListQuery {
projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
items {
id
uid
slug
name
description
archived
color
icon
createdAt
updatedAt
allowNotification
position
unseenActivityCount
todoListsMaxPosition
lastAccessedAt
isTemplate
automationsCount
totalFileCount
totalFileSize
todoAlias
}
pageInfo {
totalPages
totalItems
page
perPage
hasNextPage
hasPreviousPage
}
}
}
具有過濾和排序的進階範例
query FilteredProjectList {
projectList(
filter: {
companyIds: ["company-123", "company-456"]
archived: false
isTemplate: false
search: "marketing"
inProject: true
folderId: null # Get root-level projects only
}
sort: [position_ASC, name_ASC]
skip: 0
take: 50
) {
items {
id
name
slug
position
archived
}
totalCount
pageInfo {
totalItems
hasNextPage
}
}
}
專案字段
以下表格描述了 ProjectListQuery
中每個專案的所有可用字段:
字段 | 類型 | 描述 |
---|---|---|
id | ID! | 專案的唯一標識符 |
uid | String! | 用戶友好的專案唯一標識符 |
slug | String! | 專案的 URL 友好名稱 |
name | String! | 專案的顯示名稱 |
description | String | 專案的簡要描述 |
archived | Boolean | 布林值,指示專案是否已存檔 |
color | String | 與專案相關的顏色,用於視覺識別 |
icon | String | 與專案相關的圖標,用於視覺識別 |
image | Image | 專案封面圖片對象 |
createdAt | DateTime! | 專案創建的時間戳 |
updatedAt | DateTime! | 專案最後更新的時間戳 |
allowNotification | Boolean! | 布林值,指示專案是否啟用通知 |
position | Float! | 代表專案在列表中的位置的數值 |
unseenActivityCount | Int! | 專案中未見活動的數量 |
todoListsMaxPosition | Float! | 專案中待辦事項列表的最大位置值 |
lastAccessedAt | DateTime | 專案最後訪問的時間戳 |
isTemplate | Boolean! | 布林值,指示專案是否為模板 |
isOfficialTemplate | Boolean! | 布林值,指示這是否是官方 Blue 模板 |
automationsCount(isActive: Boolean) | Int! | 與專案相關的自動化數量 |
totalFileCount | Int | 專案中的文件總數 |
totalFileSize | Float | 專案中所有文件的總大小(以字節為單位) |
todoAlias | String | 專案中使用的 "todo" 的自定義別名 |
category | ProjectCategory! | 專案類別(CRM、MARKETING 等) |
hideEmailFromRoles | [UserAccessLevel!] | 應隱藏電子郵件地址的角色數組 |
hideStatusUpdate | Boolean | 隱藏狀態更新的布林值 |
company | Company! | 完整的公司對象詳細信息 |
accessLevel(userId: String) | UserAccessLevel | 獲取用戶對特定專案的訪問級別 |
folder | Folder | 包含此專案的文件夾 |
features | [ProjectFeature!] | 啟用的專案功能數組 |
sequenceCustomField | CustomField | 用於序列編號的自定義字段 |
coverConfig | TodoCoverConfig | 待辦事項封面圖片的配置 |
hideRecordCount | Boolean | 是否隱藏記錄計數 |
showTimeSpentInTodoList | Boolean | 是否顯示待辦事項列表中的花費時間 |
showTimeSpentInProject | Boolean | 是否顯示專案中花費的時間 |
todoFields | [TodoField] | 自定義待辦事項字段定義 |
注意:您可以在 GraphQL 查詢中請求這些字段的任意組合。
分頁字段
pageInfo
對象提供查詢結果的分頁詳細信息:
字段 | 類型 | 描述 |
---|---|---|
totalPages | Int | 結果的總頁數 |
totalItems | Int | 符合查詢的專案總數 |
page | Int | 當前頁碼 |
perPage | Int | 每頁項目的數量 |
hasNextPage | Boolean! | 布林值,指示是否有下一頁的結果 |
hasPreviousPage | Boolean! | 布林值,指示是否有上一頁的結果 |
查詢參數
過濾選項 (ProjectListFilter)
參數 | 類型 | 必需 | 描述 |
---|---|---|---|
companyIds |
[String!]! | ✅ 是 | 要搜索的公司 ID 或 slug 的數組 |
ids |
[String!] | 否 | 按特定專案 ID 過濾 |
archived |
Boolean | 否 | 按存檔狀態過濾(true/false) |
isTemplate |
Boolean | 否 | 過濾模板專案(true/false) |
search |
String | 否 | 按名稱搜索專案(不區分大小寫) |
folderId |
String | 否 | 按文件夾 ID 過濾。使用 null 用於根級專案 |
inProject |
Boolean | 否 | 按用戶成員資格過濾。請參見下面的說明 |
關於 inProject
過濾的注意事項:
true
或undefined
:返回用戶是成員的專案false
:返回用戶不在的專案(需要公司擁有者許可)- 文件夾過濾(
folderId
)僅在inProject
不是false
時有效
排序選項 (ProjectSort)
值 | 描述 |
---|---|
id_ASC |
按 ID 升序排序 |
id_DESC |
按 ID 降序排序 |
name_ASC |
按名稱升序排序(A-Z) |
name_DESC |
按名稱降序排序(Z-A) |
createdAt_ASC |
按創建日期排序(最舊的在前) |
createdAt_DESC |
按創建日期排序(最新的在前) |
updatedAt_ASC |
按最後更新排序(最舊的在前) |
updatedAt_DESC |
按最後更新排序(最新的在前) |
position_ASC |
按位置升序排序* |
position_DESC |
按位置降序排序* |
*位置排序僅在查看用戶是成員的專案時可用(inProject !== false
)
分頁參數
參數 | 類型 | 默認值 | 描述 |
---|---|---|---|
skip |
Int | 0 | 要跳過的記錄數 |
take |
Int | 20 | 要返回的記錄數 |
重要注意事項
-
非成員專案的默認行為(
inProject: false
):- 排除已存檔的專案,除非明確設置
archived
過濾 - 排除模板專案,除非明確設置
isTemplate
過濾
- 排除已存檔的專案,除非明確設置
-
文件夾過濾限制:
- 僅在顯示用戶的專案時有效
- 不能與
inProject: false
一起使用 - 使用
folderId: null
獲取不在任何文件夾中的專案
-
排序回退:
- 在查看非成員專案時忽略位置排序
- 在這種情況下回退到名稱排序
-
已棄用的參數:
orderBy
,after
,before
,first
,last
已棄用- 使用
sort
,skip
和take
替代