Pixso 开放文档
插件 API
官方工具集
  • 中文
  • English
插件 API
官方工具集
  • 中文
  • English
  • 插件 API

    • 简介
    • 预备知识
    • manifest
    • 开发指南
    • 更新日志
    • Plugin API 文档

      • 概述
      • 全局对象

        • pixso
        • pixso.ui
        • pixso.host
        • pixso.mouse
        • pixso.editor
        • pixso.keyboard
        • pixso.fieldset
        • pixso.viewport
        • pixso.vectorEditor
        • pixso.stickyToolbar
        • pixso.clientStorage
        • pixso.serverStorage
      • 节点类型

        • BooleanOperationNode
        • ComponentNode
        • ComponentSetNode
        • DocumentNode
        • EllipseNode
        • FrameNode
        • GroupNode
        • InstanceNode
        • LineNode
        • PageNode
        • PolygonNode
        • RectangleNode
        • SectionNode
        • SliceNode
        • StarNode
        • TextNode
        • VectorNode
      • 样式类型

        • PaintStyle
        • TextStyle
        • EffectStyle
        • GridStyle
      • 数据类型

        • Action
        • ArcData
        • BlendMode
        • CommandItem
        • ComponentProperties-Related
        • Constraints
        • DialogType
        • DocumentationLink
        • Effect
        • EmbedData
        • ExportSettings
        • FontName
        • Guide
        • HandleMirroring
        • HyperlinkTarget
        • Image
        • LayoutGrid
        • LetterSpacing
        • Library
        • LineHeight
        • NodeChangeProperty
        • OverflowDirection
        • Overlay
        • Paint
        • PublishStatus
        • Reaction
        • Rect-related
        • RGB & RGBA
        • StickyToolbar
        • StrokeCap
        • StrokeJoin
        • StyleChangeProperty
        • TextCase
        • TextDecoration
        • TextListOptions
        • ThemeType
        • ToolType
        • Transition
        • Trigger
        • Vector
    • Host API 文档

      • 概述
      • Host API
  • 服务端 API

    • OpenAPI 文档
    • OpenAPI 文档
    • 事件订阅
    • 事件订阅
  • 客户端 API

    • 简介
    • 唤醒客户端
    • Web API
    • 更新日志

PageNode

PageNode 代表页面节点,即 DocumentNode 的直接子节点。

Page node properties

type

  • Readonly: true
  • Type: PAGE

此节点的类型,由字符串 Page 表示

clone

  • Type: clone(): PageNode

克隆当前页面

guides

  • Type: guides: ReadonlyArray<Guide>

此页面上的指南。

selection

  • Type: selection: ReadonlyArray<SceneNode>

此页面上的选定节点。

backgrounds

  • Type: backgrounds: ReadonlyArray<Paint>

画布的背景颜色(目前只支持单一的纯色绘制)。

prototypeBackgrounds

  • Type: prototypeBackgrounds: ReadonlyArray<Paint>

原型的背景颜色(目前只支持单一的纯色绘制)。

prototypeStartNode

  • Readonly: true
  • Type: FrameNode | GroupNode | ComponentNode | InstanceNode | null

启动原型时的起点。

Base node properties

id

  • Readonly: true
  • Type: string

当前节点的 ID。

parent

  • Readonly: true
  • Type: (BaseNode & ChildrenMixin) | null

获取当前节点的父节点。

index

  • Readonly: true
  • Type: number

获取当前节点在同一层级下的顺序索引。

name

  • Type: string

读取或设置组件的名字,即图层面板中所展示的图层名称。

removed

  • Readonly: true
  • Type: boolean

如果节点被移除了,则返回 true。如果插件保持打开一段时间并存储对节点的引用,您应该防御性地编写代码并检查节点是否未被用户删除。

remove

  • Type: remove():void

从文档中删除此节点及其所有子节点。

toString

  • Type: string

返回节点的字符串表示形式。

setRelaunchData

  • Type: data: {[command: string]: string}): void

在节点上设置状态以在选择节点时显示按钮和描述。

getRelaunchData

  • Type: getRelaunchData(): { [command: string]: string }

检索存储在此节点上的重新启动数据,使用 setRelaunchData。

getPluginData

  • Type: getPluginData(key: string): string

获取节点上存储自定义信息,对您的插件来说是私有的。如果要获取字符串以外的值类型,请先通过 JSON.parse 将其解码。

setPluginData

  • Type: setPluginData(key: string, value: string): void

允许您在任何节点上存储自定义信息,对您的插件来说是私有的。如果要存储字符串以外的值类型,请先通过 JSON.stringify 将其编码。

getPluginDataKeys

  • Type: getPluginDataKeys(): string[]

获取当前插件存储信息的所有键名。

getSharedPluginData

  • Type: getSharedPluginData(namespace: string, key: string): string

获取存储在特定命名空间上的共享数据。

setSharedPluginData

  • Type: setSharedPluginData(namespace: string, key: string, value: string): void

这使您可以在任何节点上存储自定义信息。您可以稍后通过使用相同的命名空间和键调用 getSharedPluginData 来检索它。要查找存储在特定命名空间中的节点上的所有数据,请使用 getSharpedPluginDataKeys。

您使用此 API 编写的任何数据都可以被任何插件读取。目的是允许插件相互操作。如果您不希望其他插件能够读取您的数据,请改用 setPluginData。

您还必须提供命名空间参数以避免与其他插件的键冲突。此参数是强制性的,以防止多个插件使用通用键名(如数据)并相互覆盖。我们建议传递一个标识您的插件的值。可以将此命名空间提供给其他插件的作者,以便他们可以从您的插件中读取数据。

namespace 用于标识您的插件并避免与其他插件发生键冲突的唯一字符串。命名空间必须至少包含 3 个字母数字字符。

getSharedPluginDataKeys

  • Type: getSharedPluginDataKeys(namespace: string): string[]

查找存储在特定命名空间中的节点上的所有数据的键名。

Children-related

children

  • Readonly: true
  • Type: ReadonlyArray<SceneNode>
  • Type Declaration: SceneNode

当前节点的直接子节点。

childrenCount

  • Readonly: true
  • Type: number

获取当前节点的直接子节点的数量。

appendChild

  • Type: appendChild(child: SceneNode, preserveAbsolutePostion?: boolean): void

将给定的节点 child 添加为当前节点的直接子节点。

appendChild 之后,默认保持 child 节点的 relativeTransform,由于 child 的父图层的改变,可能导致 child 节点在画布上的位置发生变更;若想保持 child 节点的位置,可以将 preserveAbsolutePostion 设为 true。

insertChild

  • Type: insertChild(index: number, child: SceneNode, preserveAbsolutePostion?: boolean): void

在指定的位置 index 处插入子节点 child。假设一个组有三个子节点 A、B、C,现在调用 insertChild 方法将插入图层节点 D:

  • insertChild(0, D),子节点顺序为:D、A、B、C。
  • insertChild(1, D),子节点顺序为:A、D、B、C。
  • insertChild(2, D),子节点顺序为:A、B、D、C。
  • insertChild(3, D),子节点顺序为:A、B、C、D。

findChildren

  • Type: findChildren(callback?: (node: SceneNode) => boolean): SceneNode[]

与 findAll 类似,不同之处在于,findChildren 仅会在当前节点的直接子节点(不包括子节点的子节点)中进行查找。

findChild

  • Type: findChild(callback: (node: SceneNode) => boolean): SceneNode | null

与 findOne 类似,不同之处在于,findChild 仅会在当前 ComponentNode 节点的直接子节点(不包括子节点的子节点)中进行查找。

findAll

  • Type: findAll(callback?: (node: SceneNode) => boolean): SceneNode[]

搜索整个子树(此节点的子节点、其子节点的子节点等)。 返回回调为其返回 true 的所有节点。

findOne

  • Type: findOne(callback: (node: SceneNode) => boolean): SceneNode | null

从当前节点开始查找整个节点树,对每个节点调用 callback 函数,并返回第一个对于 callback 函数的返回值为 true 的节点。

findAllWithCriteria

  • Type: findAllWithCriteria<T extends NodeType[]>(criteria: {types: T;}): Array<{ type: T[number] } & SceneNode>
  • Type Declaration: NodeType

搜索整个子树(此节点的子节点、其子节点的子节点等)。返回满足条件中定义的任何类型的所有节点。

Prev
LineNode
Next
PolygonNode