标签生命周期

标签、字段和选项在其生命周期内会经历特定状态。 此外,标签可能具有不同的修订版本。下图显示了标签生命周期,包括修订版本控制:

标签生命周期图。
图 3.标签的生命周期
  1. 创建标签 (create()) \- 系统会创建标签并将其作为 revision_id=1 存储在数据库中。标签的状态为 UNPUBLISHED_DRAFT。 在此状态下:
    • 用户无法查看标签
    • 用户无法将标签应用于云端硬盘内容。
  2. (可选)更新标签、字段或选项 (delta()) \- 每次更新(即使在发布之前)都会存储在数据库中,并且标签的修订版本会递增。
  3. 发布标签 (publish()) \- 标签的状态为 PUBLISHED,用户可以应用该标签。发布标签会使其修订版本递增。
  4. (可选)更新标签、字段或选项 (delta()) \- 标签、字段或选项会更新并作为草稿标签存储在数据库中。标签的状态为 PUBLISHED,且 hasUnpublishedChanges=true 表示存在草稿更改,但用户无法使用这些更改。每次更新都会使标签的修订版本递增。
  5. (可选)发布标签 (publish()) \- 如果有最新草稿,系统会发布该草稿。标签的状态为 PUBLISHED,用户可以应用该标签。发布标签会使其版本递增。
  6. 停用标签 (disable()) \- 标签的状态为 DISABLED,但用户可以通过 API 应用该标签。不过,除非配置为显示,否则停用的标签不会显示在界面中。弃用标签会使其修订版本递增。
  7. 启用标签 (enable()) \- 标签会恢复为 PUBLISHED 状态,用户可以应用该标签。发布标签会使其修订版本递增。
  8. 删除标签 (delete()) \- 标签的状态为 DELETED,无法应用。删除的标签最终会被清除。

请务必注意,每次更新标签都会使标签的修订版本递增。此外,如果标签已发布,在进行 n 次更新后再次发布该标签意味着,其已发布的修订版本号为修订版本 + n + 1 个连续更新。