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
    • 更新日志

manifest

manifest.json 是每个 Pixso 插件都必须包含的文件。文件中定义了插件的各种重要信息。

以下是 manifest.json 内容示例:

{
  "name": "pixso-plugin",
  "id": "123456",
  "main": "./main.js",
  "ui": "./ui.html",
  "menu": [
    {
      "name": "主入口",
      "command": "main"
    },
    {
      "name": "测试",
      "command": "test"
    }
  ]
}
// 注:示例只展示部分配置字段,完整配置字段请看下面内容

name

  • Type: name: string

插件的名称

id

  • Type: id: string

插件 id,通常不需要手动指定,在发布插件的时候,会生成一个不重复的 ID 值。在插件开发调试场景下,需要设置一个类型为字符串的 id,以便调试部分使用插件 id 做数据隔离的 API 功能。

main

  • Type: main: string

main的取值需要是一个相对路径,用来指定运行在插件沙箱环境里的 JS 脚本。

ui

  • Type: ui: string

与main类似,用来指定用户界面要加载的 HTML 文件路径。

menu

  • Type: menu?: ManifestMenuItem[]

menu 选项是一个 json 数组,设置 menu 可以为插件添加子菜单入口,以便创建多个命令入口。在运行时会触发插件的 run 事件,其参数为选中的菜单中设置 command 值,也可以通过 pixso.command 获取该值。

type ManifestMenuItem =
  | { name: string; command: string }
  | { name: string; menu: ManifestMenuItem[] }
  | { separator: true };

relaunchButtons

  • Type: relaunchButtons?: ManifestRelaunchButton[]

relaunchButtons 用于配置插件的重启按钮,在 pixso 中会展示在右侧的插件面板中。需要注意的是,重启按钮的展示需要配合setRelaunchData API 使用。

type ManifestRelaunchButton = {
  command: string;
  name: string;
  multipleSelection?: boolean;
};
  • command: 一个命令属性,指定按下按钮后运行插件时,可以通过 pixso.command 拿到运行命令的值。
  • name: 重启按钮的名称。
  • multipleSelection: 默认为 false, 表示仅在单选节点时才会出现重启按钮;设为 true 之后,表示允许在多选节点时显示重启按钮。

目前插件在本地开发调试下暂未接入 relaunchButtons 的调试功能,需要发布插件后才能正常使用。相应的调试功能待后续完善。

HWDC

enableStartByDefault

  • Type: enableStartByDefault?: boolean

enableStartByDefault 决定插件是否支持配置为默认插件。若插件支持配置,则用户在安装了该插件后,可以在插件管理 -> 默认设置菜单配置默认插件。

enableStartByShortcut

  • Type: enableStartByShortcut?: boolean

enableStartByShortcut 决定插件是否支持通过快捷键启动。若插件支持快捷启动,则用户在安装了该插件后,可通过 M 键直接唤起插件。

priority

  • Type: priority?: number

可能存在多个插件配置了 enableStartByShortcut 支持快捷键启动,priority 可决定该优先唤起哪个插件,priority 值越大,插件优先级越高。

Prev
预备知识
Next
开发指南