本节提供了在 Blocklet 中管理用户、角色、权限、邀请和访问密钥的变更操作的详细参考。这些操作对于控制访问和管理应用程序中的身份至关重要。
要获取用户和访问控制数据,请参阅 用户与访问管理查询 文档。
用户管理
用于创建、更新、删除和管理用户个人资料及属性的变更操作。
角色与权限管理
用于定义角色和分配细粒度权限以控制资源访问的操作。
邀请管理
用于创建和管理用户邀请以加入团队或转移所有权的方法。
访问密钥管理
用于创建、更新和删除 API 访问密钥以进行程序化访问的函数。
标签管理
用于创建、更新和删除用于组织用户的标签的变更操作。
凭证管理
与颁发和配置可验证凭证 (Passports) 相关的操作。
用户管理
这些变更操作允许对用户账户进行全面管理。
removeUser
从团队中永久移除一名用户。
参数
- input
RequestTeamUserInput(required) — 一个包含 teamDid 和用户 did 的对象。 - teamDid
string(required) — 团队的 DID。 - user
UserInfoInput(required) — 用户信息。 - did
string(required) — 要移除的用户的 DID。
示例
removeUser
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.removeUser({
input: {
teamDid: 'zdfw...',
user: {
did: 'z8...',
},
},
});
console.log('用户已移除:', user.did);
} catch (error) {
console.error('移除用户时出错:', error);
}响应
返回一个 ResponseUser 对象,其中包含被移除用户的详细信息。
Response
{
"removeUser": {
"code": "ok",
"user": {
"did": "z8...",
"fullName": "John Doe"
}
}
}updateUserTags
更新与特定用户关联的标签。
参数
- input
RequestUpdateUserTagsInput(required) — 一个包含 teamDid、用户 did 和标签 ID 数组的对象。 - teamDid
string(required) — 团队的 DID。 - did
string(required) — 用户的 DID。 - tags
number[](required) — 要与该用户关联的标签 ID 数组。
示例
updateUserTags
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.updateUserTags({
input: {
teamDid: 'zdfw...',
did: 'z8...',
tags: [1, 3],
},
});
console.log('用户标签已更新:', user.tags);
} catch (error) {
console.error('更新用户标签时出错:', error);
}响应
返回一个带有用户更新信息的 ResponseUser 对象。
Response
{
"updateUserTags": {
"code": "ok",
"user": {
"did": "z8...",
"tags": [
{ "id": 1, "title": "Developer" },
{ "id": 3, "title": "Early Adopter" }
]
}
}
}updateUserExtra
更新用户的 remark 和 extra (一个 JSON 字符串) 字段。
参数
- input
RequestUpdateUserExtraInput(required) — 一个包含 teamDid、用户 DID 和额外数据的对象。 - teamDid
string(required) — 团队的 DID。 - did
string(required) — 要更新的用户的 DID。 - remark
string— 用户的新备注。 - extra
string— 一个包含自定义数据的 JSON 字符串。
示例
updateUserExtra
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.updateUserExtra({
input: {
teamDid: 'zdfw...',
did: 'z8...',
remark: '内部用户账户',
extra: JSON.stringify({ department: 'Engineering' }),
},
});
console.log('用户额外数据已更新:', user.extra);
} catch (error) {
console.error('更新用户额外数据时出错:', error);
}响应
返回一个包含更新后用户详细信息的 ResponseUser 对象。
Response
{
"updateUserExtra": {
"code": "ok",
"user": {
"did": "z8...",
"remark": "Internal user account",
"extra": {
"department": "Engineering"
}
}
}
}updateUserApproval
设置用户的批准状态。
参数
- input
RequestTeamUserInput(required) — 一个包含 teamDid 和用户详细信息的对象,其中包括 did 和新的批准状态。 - teamDid
string(required) — 团队的 DID。 - user
UserInfoInput(required) — 用户信息。 - did
string(required) — 用户的 DID。 - approved
boolean(required) — 新的批准状态。
示例
updateUserApproval
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.updateUserApproval({
input: {
teamDid: 'zdfw...',
user: {
did: 'z8...',
approved: true,
},
},
});
console.log('用户批准状态:', user.approved);
} catch (error) {
console.error('更新用户批准状态时出错:', error);
}响应
返回一个包含更新后批准状态的 ResponseUser 对象。
Response
{
"updateUserApproval": {
"code": "ok",
"user": {
"did": "z8...",
"approved": true
}
}
}issuePassportToUser
为用户颁发一个新的凭证 (verifiable credential),通常是为他们分配一个角色。
参数
- input
RequestIssuePassportToUserInput(required) — 一个包含 teamDid、userDid、角色和显示详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - userDid
string(required) — 接收凭证的用户的 DID。 - role
string(required) — 通过此凭证分配的角色。 - display
PassportDisplayInput— 凭证的显示信息。 - type
string(required) — 显示类型(例如 'text')。 - content
string(required) — 要显示的内容。 - notify
boolean— 是否向用户发送通知。
示例
issuePassportToUser
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.issuePassportToUser({
input: {
teamDid: 'zdfw...',
userDid: 'z8...',
role: 'guest',
display: {
type: 'text',
content: '访客通行证',
},
notify: true,
},
});
console.log('已为用户颁发凭证:', user.did);
} catch (error) {
console.error('颁发凭证时出错:', error);
}响应
返回一个 ResponseUser 对象,其中可能在用户的 passports 数组中包含新颁发的凭证。
Response
{
"issuePassportToUser": {
"code": "ok",
"user": {
"did": "z8...",
"passports": [
{
"id": "...",
"role": "guest"
}
]
}
}
}revokeUserPassport
从用户处撤销先前颁发的凭证。
参数
- input
RequestRevokeUserPassportInput(required) — 一个包含 teamDid、userDid 和要撤销的 passportId 的对象。 - teamDid
string(required) — 团队的 DID。 - userDid
string(required) — 用户的 DID。 - passportId
string(required) — 要撤销的凭证的 ID。
示例
revokeUserPassport
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.revokeUserPassport({
input: {
teamDid: 'zdfw...',
userDid: 'z8...',
passportId: 'z...',
},
});
console.log('用户凭证已撤销。');
} catch (error) {
console.error('撤销凭证时出错:', error);
}响应
返回一个 ResponseUser 对象,反映用户凭证的变化。
Response
{
"revokeUserPassport": {
"code": "ok",
"user": {
"did": "z8..."
}
}
}enableUserPassport
重新启用先前被撤销的凭证。
参数
- input
RequestRevokeUserPassportInput(required) — 一个包含 teamDid、userDid 和要启用的 passportId 的对象。 - teamDid
string(required) — 团队的 DID。 - userDid
string(required) — 用户的 DID。 - passportId
string(required) — 要重新启用的凭证的 ID。
示例
enableUserPassport
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.enableUserPassport({
input: {
teamDid: 'zdfw...',
userDid: 'z8...',
passportId: 'z...',
},
});
console.log('用户凭证已重新启用。');
} catch (error) {
console.error('启用凭证时出错:', error);
}响应
返回一个包含用户更新后凭证状态的 ResponseUser 对象。
Response
{
"enableUserPassport": {
"code": "ok",
"user": {
"did": "z8..."
}
}
}removeUserPassport
从用户的记录中永久移除一个凭证。
参数
- input
RequestRevokeUserPassportInput(required) — 一个包含 teamDid、userDid 和要移除的 passportId 的对象。 - teamDid
string(required) — 团队的 DID。 - userDid
string(required) — 用户的 DID。 - passportId
string(required) — 要移除的凭证的 ID。
示例
removeUserPassport
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.removeUserPassport({
input: {
teamDid: 'zdfw...',
userDid: 'z8...',
passportId: 'z...',
},
});
console.log('用户凭证已永久移除。');
} catch (error) {
console.error('移除凭证时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"removeUserPassport": {
"code": "ok"
}
}updateUserInfo
更新用户的一般信息,例如 fullName、email 和 avatar。
参数
- input
RequestUpdateUserInfoInput(required) — 一个包含 teamDid 和带有要更新字段的用户对象的对象。 - teamDid
string(required) — 团队的 DID。 - user
UserInfoInput(required) — 一个带有要更新的用户字段的对象。 - did
string(required) — 用户的 DID。 - fullName
string— 用户的全名。 - email
string— 用户的电子邮件地址。
示例
updateUserInfo
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { user } = await client.updateUserInfo({
input: {
teamDid: 'zdfw...',
user: {
did: 'z8...',
fullName: 'Johnathan Doe',
email: 'john.doe.new@example.com',
},
},
});
console.log('用户信息已更新:', user.fullName);
} catch (error) {
console.error('更新用户信息时出错:', error);
}响应
返回一个包含更新后用户信息的 ResponseUser 对象。
Response
{
"updateUserInfo": {
"code": "ok",
"user": {
"did": "z8...",
"fullName": "Johnathan Doe",
"email": "john.doe.new@example.com"
}
}
}角色与权限管理
这些变更操作用于定义角色并管理与之关联的权限。
createRole
在团队中创建一个新角色。
参数
- input
RequestCreateRoleInput(required) — 一个包含 teamDid、name、title 以及可选的 permissions 的对象。 - teamDid
string(required) — 团队的 DID。 - name
string(required) — 角色的唯一名称(例如 'editor')。 - title
string(required) — 角色的可读标题(例如 'Editor')。 - description
string— 角色的简要描述。 - permissions
string[]— 要授予此角色的权限名称数组。
示例
createRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { role } = await client.createRole({
input: {
teamDid: 'zdfw...',
name: 'editor',
title: 'Editor',
description: '可以创建和编辑内容',
permissions: ['content:create', 'content:edit'],
},
});
console.log('角色已创建:', role.name);
} catch (error) {
console.error('创建角色时出错:', error);
}响应
返回一个 ResponseRole 对象,其中包含新创建角色的详细信息。
Response
{
"createRole": {
"code": "ok",
"role": {
"name": "editor",
"title": "Editor",
"grants": ["content:create", "content:edit"]
}
}
}updateRole
更新现有角色的详细信息。
参数
- input
RequestTeamRoleInput(required) — 一个包含 teamDid 和带有要更新字段的角色对象的对象。 - teamDid
string(required) — 团队的 DID。 - role
RoleUpdateInput(required) — 一个带有要更新的角色字段的对象。 - name
string(required) — 要更新的角色的名称。 - title
string— 角色的新标题。 - description
string— 角色的新描述。
示例
updateRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { role } = await client.updateRole({
input: {
teamDid: 'zdfw...',
role: {
name: 'editor',
title: '内容编辑员',
},
},
});
console.log('角色已更新:', role.title);
} catch (error) {
console.error('更新角色时出错:', error);
}响应
返回一个包含更新后角色信息的 ResponseRole 对象。
Response
{
"updateRole": {
"code": "ok",
"role": {
"name": "editor",
"title": "Content Editor"
}
}
}deleteRole
永久删除一个角色。
参数
- input
RequestDeleteRoleInput(required) — 一个包含 teamDid 和要删除的角色名称的对象。 - teamDid
string(required) — 团队的 DID。 - name
string(required) — 要删除的角色的名称。
示例
deleteRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deleteRole({
input: {
teamDid: 'zdfw...',
name: 'editor',
},
});
console.log('角色 "editor" 已删除。');
} catch (error) {
console.error('删除角色时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"deleteRole": {
"code": "ok"
}
}createPermission
创建一个可以授予给角色的新权限。
参数
- input
RequestCreatePermissionInput(required) — 一个包含 teamDid、name 和 description 的对象。 - teamDid
string(required) — 团队的 DID。 - name
string(required) — 权限的唯一名称(例如 'content')。 - description
string— 权限的简要描述。
示例
createPermission
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { permission } = await client.createPermission({
input: {
teamDid: 'zdfw...',
name: 'content:publish',
description: '允许发布内容',
},
});
console.log('权限已创建:', permission.name);
} catch (error) {
console.error('创建权限时出错:', error);
}响应
返回一个包含新权限详细信息的 ResponsePermission 对象。
Response
{
"createPermission": {
"code": "ok",
"permission": {
"name": "content:publish",
"description": "Allows publishing content"
}
}
}updatePermission
更新现有权限的描述。
参数
- input
RequestTeamPermissionInput(required) — 一个包含 teamDid 和要更新的权限详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - permission
PermissionInput(required) — 一个包含权限名称和新描述的对象。 - name
string(required) — 要更新的权限的名称。 - description
string(required) — 权限的新描述。
示例
updatePermission
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { permission } = await client.updatePermission({
input: {
teamDid: 'zdfw...',
permission: {
name: 'content:publish',
description: '允许将内容发布到线上网站。',
},
},
});
console.log('权限已更新:', permission.description);
} catch (error) {
console.error('更新权限时出错:', error);
}响应
返回一个包含更新后权限详细信息的 ResponsePermission 对象。
Response
{
"updatePermission": {
"code": "ok",
"permission": {
"name": "content:publish",
"description": "Allows publishing content to the live site."
}
}
}deletePermission
永久删除一个权限。这也将从拥有该权限的任何角色中撤销它。
参数
- input
RequestDeletePermissionInput(required) — 一个包含 teamDid 和要删除的权限名称的对象。 - teamDid
string(required) — 团队的 DID。 - name
string(required) — 要删除的权限的名称。
示例
deletePermission
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deletePermission({
input: {
teamDid: 'zdfw...',
name: 'content:publish',
},
});
console.log('权限已删除。');
} catch (error) {
console.error('删除权限时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"deletePermission": {
"code": "ok"
}
}grantPermissionForRole
将特定权限授予一个角色。
参数
- input
RequestGrantPermissionForRoleInput(required) — 一个包含 teamDid、roleName 和 grantName (权限) 的对象。 - teamDid
string(required) — 团队的 DID。 - roleName
string(required) — 角色的名称。 - grantName
string(required) — 要授予的权限的名称。
示例
grantPermissionForRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.grantPermissionForRole({
input: {
teamDid: 'zdfw...',
roleName: 'editor',
grantName: 'content:publish',
},
});
console.log('权限已授予。');
} catch (error) {
console.error('授予权限时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"grantPermissionForRole": {
"code": "ok"
}
}revokePermissionFromRole
从一个角色中撤销特定权限。
参数
- input
RequestRevokePermissionFromRoleInput(required) — 一个包含 teamDid、roleName 和 grantName (权限) 的对象。 - teamDid
string(required) — 团队的 DID。 - roleName
string(required) — 角色的名称。 - grantName
string(required) — 要撤销的权限的名称。
示例
revokePermissionFromRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.revokePermissionFromRole({
input: {
teamDid: 'zdfw...',
roleName: 'editor',
grantName: 'content:publish',
},
});
console.log('权限已撤销。');
} catch (error) {
console.error('撤销权限时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"revokePermissionFromRole": {
"code": "ok"
}
}updatePermissionsForRole
为角色设置完整的权限列表,替换任何现有权限。
参数
- input
RequestUpdatePermissionsForRoleInput(required) — 一个包含 teamDid、roleName 和权限名称数组的对象。 - teamDid
string(required) — 团队的 DID。 - roleName
string(required) — 角色的名称。 - grantNames
string[](required) — 要为该角色设置的权限名称数组。
示例
updatePermissionsForRole
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { role } = await client.updatePermissionsForRole({
input: {
teamDid: 'zdfw...',
roleName: 'editor',
grantNames: ['content:create', 'content:edit', 'content:delete'],
},
});
console.log('角色权限已更新:', role.grants);
} catch (error) {
console.error('更新角色权限时出错:', error);
}响应
返回一个包含更新后权限列表的 ResponseRole 对象。
Response
{
"updatePermissionsForRole": {
"code": "ok",
"role": {
"name": "editor",
"grants": ["content:create", "content:edit", "content:delete"]
}
}
}邀请管理
这些变更操作用于管理用户邀请。
createMemberInvitation
创建一个邀请,邀请新成员以特定角色加入团队。
参数
- input
RequestCreateInvitationInput(required) — 一个包含 teamDid、角色和其他邀请详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - role
string(required) — 要分配给受邀成员的角色。 - remark
string— 邀请的备注或说明。
示例
createMemberInvitation
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { inviteInfo } = await client.createMemberInvitation({
input: {
teamDid: 'zdfw...',
role: 'guest',
remark: '新团队成员邀请',
},
});
console.log('邀请已创建:', inviteInfo.inviteId);
} catch (error) {
console.error('创建邀请时出错:', error);
}响应
返回一个 ResponseCreateInvitation 对象,其中包含有关已创建邀请的详细信息。
Response
{
"createMemberInvitation": {
"code": "ok",
"inviteInfo": {
"inviteId": "...",
"role": "guest"
}
}
}createTransferInvitation
创建一个转移节点所有权的邀请。
参数
- input
RequestCreateTransferNodeInvitationInput(required) — 一个包含 teamDid 和备注的对象。 - teamDid
string(required) — 团队的 DID。 - remark
string— 转移邀请的备注。
示例
createTransferInvitation
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { inviteInfo } = await client.createTransferInvitation({
input: {
teamDid: 'zdfw...',
remark: '转移节点所有权',
},
});
console.log('转移邀请已创建:', inviteInfo.inviteId);
} catch (error) {
console.error('创建转移邀请时出错:', error);
}响应
返回一个包含邀请详细信息的 ResponseCreateTransferNodeInvitation 对象。
Response
{
"createTransferInvitation": {
"code": "ok",
"inviteInfo": {
"inviteId": "...",
"role": "owner"
}
}
}deleteInvitation
永久删除一个邀请。
参数
- input
RequestDeleteInvitationInput(required) — 一个包含 teamDid 和要删除的 inviteId 的对象。 - teamDid
string(required) — 团队的 DID。 - inviteId
string(required) — 要删除的邀请的 ID。
示例
deleteInvitation
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deleteInvitation({
input: {
teamDid: 'zdfw...',
inviteId: '...',
},
});
console.log('邀请已删除。');
} catch (error) {
console.error('删除邀请时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"deleteInvitation": {
"code": "ok"
}
}访问密钥管理
这些变更操作用于管理用于程序化访问的 API 访问密钥。
createAccessKey
创建一个新的访问密钥。
参数
- input
RequestCreateAccessKeyInput(required) — 一个包含 teamDid、备注和其他密钥详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - remark
string— 用于识别密钥用途的备注。 - authType
string— 认证类型(例如 'role')。
示例
createAccessKey
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { data } = await client.createAccessKey({
input: {
teamDid: 'zdfw...',
remark: '用于 CI/CD 流水线的密钥',
authType: 'role',
},
});
console.log('访问密钥已创建:', data.accessKeyId);
console.log('密钥:', data.accessKeySecret); // 请安全地保存此密钥
} catch (error) {
console.error('创建访问密钥时出错:', error);
}响应
返回一个 ResponseCreateAccessKey 对象,其中包含新密钥的 ID 和密钥。密钥仅在创建时返回一次。
Response
{
"createAccessKey": {
"code": "ok",
"data": {
"accessKeyId": "...",
"accessKeySecret": "...",
"remark": "Key for CI/CD pipeline"
}
}
}updateAccessKey
更新现有访问密钥的详细信息,例如其备注或过期时间。
参数
- input
RequestUpdateAccessKeyInput(required) — 一个包含 teamDid、accessKeyId 和要更新字段的对象。 - teamDid
string(required) — 团队的 DID。 - accessKeyId
string(required) — 要更新的访问密钥的 ID。 - remark
string— 密钥的新备注。
示例
updateAccessKey
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { data } = await client.updateAccessKey({
input: {
teamDid: 'zdfw...',
accessKeyId: '...',
remark: '用于 CI/CD 流水线的更新备注',
},
});
console.log('访问密钥已更新:', data.remark);
} catch (error) {
console.error('更新访问密钥时出错:', error);
}响应
返回一个包含更新后密钥详细信息的 ResponseUpdateAccessKey 对象。
Response
{
"updateAccessKey": {
"code": "ok",
"data": {
"accessKeyId": "...",
"remark": "Updated remark for CI/CD pipeline"
}
}
}deleteAccessKey
永久删除一个访问密钥。
参数
- input
RequestDeleteAccessKeyInput(required) — 一个包含 teamDid 和要删除的 accessKeyId 的对象。 - teamDid
string(required) — 团队的 DID。 - accessKeyId
string(required) — 要删除的访问密钥的 ID。
示例
deleteAccessKey
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deleteAccessKey({
input: {
teamDid: 'zdfw...',
accessKeyId: '...',
},
});
console.log('访问密钥已删除。');
} catch (error) {
console.error('删除访问密钥时出错:', error);
}响应
返回一个 ResponseDeleteAccessKey 对象,指示成功或失败。
Response
{
"deleteAccessKey": {
"code": "ok"
}
}verifyAccessKey
验证一个访问密钥是否有效,以及是否对特定资源具有访问权限。
参数
- input
RequestVerifyAccessKeyInput(required) — 一个包含 teamDid、accessKeyId 和资源详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - accessKeyId
string(required) — 要验证的访问密钥的 ID。 - resourceType
string— 资源的类型(例如 'blocklet')。 - resourceId
string— 资源的 ID。 - componentDid
string— 与资源关联的组件的 DID。
示例
verifyAccessKey
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { data } = await client.verifyAccessKey({
input: {
teamDid: 'zdfw...',
accessKeyId: '...',
},
});
console.log('访问密钥有效:', data);
} catch (error) {
console.error('访问密钥验证失败:', error);
}响应
如果验证成功,返回一个包含密钥详细信息的 ResponseAccessKey 对象。
Response
{
"verifyAccessKey": {
"code": "ok",
"data": {
"accessKeyId": "...",
"remark": "Key for CI/CD pipeline"
}
}
}标签管理
这些变更操作用于管理用户标签。
createTag
创建一个新标签。
参数
- input
RequestTagInput(required) — 一个包含 teamDid 和要创建的标签详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - tag
TagInput(required) — 一个包含标签详细信息的对象。 - title
string(required) — 标签的标题。 - description
string— 标签的描述。 - color
string— 标签的十六进制颜色代码。
示例
createTag
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { tag } = await client.createTag({
input: {
teamDid: 'zdfw...',
tag: {
title: 'VIP',
description: '非常重要的人物',
color: '#FFD700',
},
},
});
console.log('标签已创建:', tag.title);
} catch (error) {
console.error('创建标签时出错:', error);
}响应
返回一个包含新创建标签详细信息的 ResponseTag 对象。
Response
{
"createTag": {
"code": "ok",
"tag": {
"id": 4,
"title": "VIP",
"color": "#FFD700"
}
}
}updateTag
更新一个现有标签。
参数
- input
RequestTagInput(required) — 一个包含 teamDid 和带有 id 及要更新字段的标签对象的对象。 - teamDid
string(required) — 团队的 DID。 - tag
TagInput(required) — 一个包含标签 ID 和要更新字段的对象。 - id
number(required) — 要更新的标签的 ID。 - title
string— 标签的新标题。 - color
string— 标签的新颜色。
示例
updateTag
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { tag } = await client.updateTag({
input: {
teamDid: 'zdfw...',
tag: {
id: 4,
color: '#E5C100',
},
},
});
console.log('标签已更新:', tag.color);
} catch (error) {
console.error('更新标签时出错:', error);
}响应
返回一个包含更新后标签信息的 ResponseTag 对象。
Response
{
"updateTag": {
"code": "ok",
"tag": {
"id": 4,
"title": "VIP",
"color": "#E5C100"
}
}
}deleteTag
永久删除一个标签。
参数
- input
RequestTagInput(required) — 一个包含 teamDid 和要删除的标签 id 的对象。 - teamDid
string(required) — 团队的 DID。 - tag
TagInput(required) — 一个包含要删除的标签 ID 的对象。 - id
number(required) — 要删除的标签的 ID。
示例
deleteTag
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deleteTag({
input: {
teamDid: 'zdfw...',
tag: {
id: 4,
},
},
});
console.log('标签已删除。');
} catch (error) {
console.error('删除标签时出错:', error);
}响应
返回被删除标签的 ResponseTag 对象。
Response
{
"deleteTag": {
"code": "ok",
"tag": {
"id": 4
}
}
}凭证管理
这些变更操作用于管理凭证颁发和信任配置。
createPassportIssuance
为团队创建一个新的凭证颁发配置。
参数
- input
RequestCreatePassportIssuanceInput(required) — 一个包含 teamDid、ownerDid、名称和显示详细信息的对象。 - teamDid
string(required) — 团队的 DID。 - ownerDid
string(required) — 此颁发配置所有者的 DID。 - name
string(required) — 凭证颁发配置的名称。 - display
PassportDisplayInput— 凭证的显示信息。 - type
string(required) — 显示类型。 - content
string(required) — 显示内容。
示例
createPassportIssuance
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
const { info } = await client.createPassportIssuance({
input: {
teamDid: 'zdfw...',
ownerDid: 'z8...',
name: '社区贡献者',
display: {
type: 'text',
content: '社区贡献者徽章',
},
},
});
console.log('凭证颁发配置已创建:', info.id);
} catch (error) {
console.error('创建凭证颁发配置时出错:', error);
}响应
返回一个包含新颁发配置详细信息的 ResponseCreatePassportIssuance 对象。
Response
{
"createPassportIssuance": {
"code": "ok",
"info": {
"id": "...",
"name": "Community Contributor"
}
}
}deletePassportIssuance
删除一个凭证颁发配置。
参数
- input
RequestDeleteTeamSessionInput(required) — 一个包含 teamDid 和要删除的 sessionId (颁发 ID) 的对象。 - teamDid
string(required) — 团队的 DID。 - sessionId
string(required) — 要删除的凭证颁发配置的 ID。
示例
deletePassportIssuance
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.deletePassportIssuance({
input: {
teamDid: 'zdfw...',
sessionId: '...',
},
});
console.log('凭证颁发配置已删除。');
} catch (error) {
console.error('删除凭证颁发配置时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"deletePassportIssuance": {
"code": "ok"
}
}configPassportIssuance
为团队启用或禁用凭证颁发。
参数
- input
RequestConfigPassportIssuanceInput(required) — 一个包含 teamDid 和一个布尔启用标志的对象。 - teamDid
string(required) — 团队的 DID。 - enable
boolean(required) — 设置为 true 表示启用,false 表示禁用。
示例
configPassportIssuance
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.configPassportIssuance({
input: {
teamDid: 'zdfw...',
enable: true,
},
});
console.log('凭证颁发已启用。');
} catch (error) {
console.error('配置凭证颁发时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"configPassportIssuance": {
"code": "ok"
}
}configTrustedPassports
配置一个受信任的凭证颁发者列表及其角色映射。
参数
- input
RequestConfigTrustedPassportsInput(required) — 一个包含 teamDid 和受信任凭证列表的对象。 - teamDid
string(required) — 团队的 DID。 - trustedPassports
TrustedPassportInput[](required) — 一个受信任凭证配置的数组。 - issuerDid
string(required) — 受信任颁发者的 DID。 - mappings
TrustedPassportMappingInput[](required) — 角色映射规则。 - from
TrustedPassportMappingFromInput(required) — 源凭证详细信息。 - passport
string(required) — 源凭证的名称或类型。 - to
TrustedPassportMappingToInput(required) — 目标角色详细信息。 - role
string(required) — 要映射到的本地角色。
示例
configTrustedPassports
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.configTrustedPassports({
input: {
teamDid: 'zdfw...',
trustedPassports: [
{
issuerDid: 'z...', // 另一个受信任 blocklet 的 DID
mappings: [
{
from: { passport: 'developer_badge' },
to: { role: 'developer' },
},
],
},
],
},
});
console.log('受信任的凭证已配置。');
} catch (error) {
console.error('配置受信任的凭证时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"configTrustedPassports": {
"code": "ok"
}
}configTrustedFactories
配置一个受信任的 NFT 工厂列表。
参数
- input
RequestConfigTrustedFactoriesInput(required) — 一个包含 teamDid 和受信任工厂列表的对象。 - teamDid
string(required) — 团队的 DID。 - trustedFactories
TrustedFactoryInput[](required) — 一个受信任工厂配置的数组。 - factoryAddress
string(required) — NFT 工厂的地址。 - remark
string— 工厂的备注。
示例
configTrustedFactories
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
try {
await client.configTrustedFactories({
input: {
teamDid: 'zdfw...',
trustedFactories: [
{
factoryAddress: '0x...',
remark: '官方社区 NFT 工厂',
},
],
},
});
console.log('受信任的工厂已配置。');
} catch (error) {
console.error('配置受信任的工厂时出错:', error);
}响应
返回一个 GeneralResponse 对象,指示成功或失败。
Response
{
"configTrustedFactories": {
"code": "ok"
}
}