插件化架构
核心功能与图形元素均以插件形式注册,按需 installPlugin。装你所需,包体可控,扩展自由。
从插件化架构到毫米级打印,每一个能力都围绕"模板设计与打印排版"打磨。
核心功能与图形元素均以插件形式注册,按需 installPlugin。装你所需,包体可控,扩展自由。
命令模式,所有修改可逆
左/右/上/下/居中、均分
毫米级精度 · 可配 DPM
host.on('element:added')
host.emit(...)
host.off(...)
const p = host.getPlugin(
'rect-plugin'
)
// ↳ RectPlugin
1import { createEditorHost } from 'vkedit' 2import { RectPlugin, TextPlugin, 3 QrcodePlugin, BarcodePlugin } from 'vkedit' 4 5const host = createEditorHost() 6 7host 8 .installPlugin('rect-plugin', RectPlugin) 9 .installPlugin('text-plugin', TextPlugin)10 .installPlugin('qr-plugin', QrcodePlugin)11 .installPlugin('barcode-plugin', BarcodePlugin)装你所需,包体可控
7 种图形元素 · 11 个核心插件 · 按需注册
滚动见证一个画布从空到满--每装一个插件,多一种能力。
createEditorHost()
创建宿主实例,自动安装 11 个核心插件。
.installPlugin('rect-plugin', RectPlugin)注册矩形插件,画布落下第一个矩形。
.installPlugin('text-plugin', TextPlugin)注册文本插件,添加标题与说明。
.installPlugin('qr-plugin', QrcodePlugin)注册二维码插件,像素逐个点亮。
.installPlugin('barcode-plugin', BarcodePlugin)注册条码插件,扫描线生成条码。
装你所需,包体可控
7 种图形元素,11 个核心插件,按需启用。
这是一个自包含的迷你画布演示:从左侧添加元素,拖拽定位,右侧改属性,一键导出 PNG。真实 vkedit 编辑器能力完整一致。
提示:拖拽元素 · 点击选中 · 右侧改属性 · 导出 PNG
点击画布上的元素查看属性,或从左侧工具箱添加新元素。
标签、二维码、条码、票据、名片、证书、数据可视化--按场景装配插件,所见即所得。
安装、配置入口、使用组件--不到 30 行代码,拥有一个完整的可视化画布设计器。
pnpm add vkedit vue konva vue-konvavkedit 将 vue、konva、vue-konva 作为 peerDependencies,由宿主项目提供。
安装文档import { createApp } from 'vue'
import App from './App.vue'
import VueKonva from 'vue-konva'
import 'vkedit/dist/vkedit.css'
const app = createApp(App)
app.use(VueKonva)
app.mount('#app')在 main.ts 中注册 VueKonva 并引入 vkedit 样式。
<template>
<Vkedit :host="host" />
</template>
<script setup lang="ts">
import { createEditorHost, Vkedit } from 'vkedit'
import {
RectPlugin, TextPlugin, TablePlugin, QrcodePlugin,
BarcodePlugin, ChartPlugin, LinePlugin,
} from 'vkedit'
const host = createEditorHost()
// 按需安装图形插件
host
.installPlugin('rect-plugin', RectPlugin)
.installPlugin('text-plugin', TextPlugin)
.installPlugin('table-plugin', TablePlugin)
.installPlugin('qr-plugin', QrcodePlugin)
.installPlugin('barcode-plugin', BarcodePlugin)
.installPlugin('chart-plugin', ChartPlugin)
.installPlugin('line-plugin', LinePlugin)
// A4 纸张,DPM = 8
host.setStatus({ dpm: 8, width: 210 * 8, height: 297 * 8, zoom: 0.4 })
</script>createEditorHost 创建宿主并自动安装核心插件,按需 installPlugin 图形元素。
核心能力内置,功能与图形插件按场景装配--装你所需,包体可控。
createEditorHost 自动安装
ToolbarManagerPlugin 顶部工具栏管理 GraphicToolManagerPlugin 图形工具管理 GraphicManagerPlugin 图形渲染管理 PropertyPanelManagerPlugin 属性面板动态渲染 ElementManagerPlugin 元素生命周期管理 SelectionPlugin 元素选择与多选 KeyDownPlugin 键盘快捷键 SnapPlugin 网格吸附 ClipboardPlugin 复制 / 剪切 / 粘贴 AlignPlugin 对齐与分布 ContextMenuManagerPlugin 右键菜单 通过选项启用
ExportPlugin 导出 JSON / PNG / JPG / PDF ImportPlugin 导入 JSON 文件 PreviewPlugin 预览与打印预览 手动 installPlugin
RectPlugin 矩形 - 填充、描边 TextPlugin 文本 - 字体、对齐、样式 LinePlugin 线条 - 颜色、宽度 TablePlugin 表格 - 行列、合并、边框 QrcodePlugin 二维码 - 前景/背景色 BarcodePlugin 条形码 - CODE128 / EAN-13 ChartPlugin 图表 - 基于 ECharts
插件通过 installPlugin / uninstallPlugin / getPlugin 管理,getPlugin 支持泛型推断。
关于商用、框架、包体、扩展与打印的常见疑问,一次说清。