本节为用于管理发布项目、发布版本和相关资源的 GraphQL 查询提供了详细的参考。这些查询允许您检索有关 blocklet 发布生命周期的信息。对于修改此数据的操作,例如创建或更新项目和发布版本,请参阅 发布与项目变更文档。
getProjects
检索与特定 blocklet 关联的发布项目列表。
示例
获取项目列表
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchProjects() {
try {
const { projects, paging } = await client.getProjects({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
paging: {
page: 1,
pageSize: 10,
},
},
});
console.log('项目:', projects);
console.log('分页信息:', paging);
} catch (error) {
console.error('获取项目时出错:', error);
}
}
fetchProjects();参数
- input
RequestGetProjectsInput(required) — 查询的输入对象。- did
string(required) — blocklet 的 DID。 - paging
PagingInput— 分页信息。 - componentDid
string— 按组件 DID 筛选项目。 - tenantScope
string— 按租户范围筛选项目。
- did
返回类型
返回一个 ResponseGetProjects 对象,其中包含一个 Project 对象数组和分页详细信息。
响应示例
getProjects 的响应
{
"code": "ok",
"projects": [
{
"id": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"type": "pack",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletTitle": "我的超棒 Blocklet",
"createdAt": "2023-10-27T10:00:00.000Z",
"updatedAt": "2023-10-27T10:00:00.000Z",
"lastReleaseId": "z3t8b..._release_id_...",
"connectedStores": []
}
],
"paging": {
"page": 1,
"pageSize": 10,
"total": 1,
"pageCount": 1
}
}getProject
使用其 ID 检索单个发布项目的详细信息。
示例
获取单个项目
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchProject(projectId) {
try {
const { project } = await client.getProject({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
},
});
console.log('项目详情:', project);
} catch (error) {
console.error('获取项目时出错:', error);
}
}
fetchProject('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3');参数
- input
RequestProjectInput(required) — 查询的输入对象。- did
string(required) — blocklet 的 DID。 - projectId
string(required) — 要检索的项目的唯一标识符。 - messageId
string— 用于跟踪请求的消息标识符。
- did
返回类型
返回一个 ResponseGetProject 对象,其中包含 Project 详细信息。
响应示例
getProject 的响应
{
"code": "ok",
"project": {
"id": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"type": "pack",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletTitle": "我的超棒 Blocklet",
"blockletDescription": "一个能做很棒事情的 blocklet。",
"autoUpload": true,
"connectedStores": []
}
}getReleases
获取给定发布项目的发布版本列表。
示例
获取项目的发布版本
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchReleases(projectId) {
try {
const { releases } = await client.getReleases({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
},
});
console.log('发布版本:', releases);
} catch (error) {
console.error('获取发布版本时出错:', error);
}
}
fetchReleases('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3');参数
- input
RequestGetReleasesInput(required) — 查询的输入对象。- did
string(required) — blocklet 的 DID。 - projectId
string(required) — 要获取其发布版本的项目的 ID。 - paging
PagingInput— 分页信息。
- did
返回类型
返回一个 ResponseGetReleases 对象,其中包含一个 Release 对象数组和分页信息。
响应示例
getReleases 的响应
{
"code": "ok",
"releases": [
{
"id": "z3t8bCDE...",
"projectId": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"blockletDid": "z8ia262k3g55v12a874bf7ae1666c268882b6",
"blockletVersion": "1.2.0",
"note": "包含新功能的初始版本。",
"status": "published",
"createdAt": "2023-10-27T12:00:00.000Z"
}
],
"paging": {
"page": 1,
"pageSize": 10,
"total": 1,
"pageCount": 1
}
}getRelease
使用其 ID 检索单个发布版本的详细信息。
示例
获取单个发布版本
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchRelease(projectId, releaseId) {
try {
const { release } = await client.getRelease({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
releaseId: releaseId,
},
});
console.log('发布版本详情:', release);
} catch (error) {
console.error('获取发布版本时出错:', error);
}
}
fetchRelease('z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3', 'z3t8bCDE...');参数
- input
RequestReleaseInput(required) — 查询的输入对象。- did
string(required) — blocklet 的 DID。 - projectId
string(required) — 父项目的 ID。 - releaseId
string(required) — 要检索的发布版本的唯一标识符。
- did
返回类型
返回一个 ResponseGetRelease 对象,其中包含 Release 详细信息。
响应示例
getRelease 的响应
{
"code": "ok",
"release": {
"id": "z3t8bCDE...",
"projectId": "z2qa7xsgE59VUp2r1LqfE9F2fJ6dZ8cR9yB3",
"blockletVersion": "1.2.0",
"blockletTitle": "我的超棒 Blocklet",
"note": "包含新功能的初始版本。",
"status": "published"
}
}getSelectedResources
获取在发布版本中为特定组件选择的资源标识符列表。
示例
获取发布版本的选定资源
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function fetchSelectedResources(projectId, releaseId, componentDid) {
try {
const { resources } = await client.getSelectedResources({
input: {
did: 'z8ia262k3g55v12a874bf7ae1666c268882b6',
projectId: projectId,
releaseId: releaseId,
componentDid: componentDid,
},
});
console.log('选定资源:', resources);
} catch (error) {
console.error('获取选定资源时出错:', error);
}
}
fetchSelectedResources('z2qa7...', 'z3t8b...', 'z2qa...');参数
- input
RequestGetSelectedResourcesInput(required) — 查询的输入对象。- did
string(required) — blocklet 的 DID。 - projectId
string(required) — 项目的 ID。 - releaseId
string(required) — 发布版本的 ID。 - componentDid
string(required) — 要获取其选定资源的组件的 DID。
- did
返回类型
返回一个 ResponseGetSelectedResources 对象,其中包含一个资源字符串数组。
响应示例
getSelectedResources 的响应
{
"code": "ok",
"resources": [
"resource:zde22a874bf7ae1666c268882b6...",
"resource:zde22a874bf7ae1666c268882b7..."
]
}要创建、更新或删除这些实体,请转到 发布与项目变更 部分。