MCPcopy Index your code
hub / github.com/Kchengz/epic-designer

github.com/Kchengz/epic-designer @v1.1.13

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.13 ↗ · + Follow
345 symbols 920 edges 244 files 94 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

EpicDesigner

一个开箱即用的拖拽式的可视化低代码设计器

vue ant-design-vue license

📦github仓库:https://github.com/Kchengz/epic-designer

📦gitee仓库:https://gitee.com/kcz66/epic-designer

📖文档地址:https://docs.epicjs.cn

📖文档备用地址:https://www.kcz66.com/epic-designer/

💎项目预览地址:

使用必须遵守国家法律法规,⛔不允许非法项目使用,后果自负❗

简介

可以简称epic设计器,是一个功能强大、开箱即用的拖拽式低代码设计器。它基于 Vue3 开发,兼容多套 UI 组件库,除了基础的页面设计功能,EpicDesigner 还提供了强大的扩展功能,可以让开发者根据自己的需求自由扩展和定制组件。此外,EpicDesigner使用 JSON 配置来生成页面,可帮助开发者快速生成页面,提高开发效率。它提供了两个重要组件:e-designer 设计器和 e-builder 生成器。

最新版本

查看更新日志

功能

  • [x] 拖拽设计
  • [x] 自定义动作栏扩展
  • [x] 自定义组件扩展
  • [x] 布局组件扩展
  • [x] 事件扩展
  • [x] 组件懒加载
  • [x] 右侧栏扩展
  • [x] 组件属性自定义
  • [x] 支持不同 UI
  • [x] 插件扩展

核心组件介绍

EDesigner 设计器

EDesigner 是一个可视化设计器组件,用户可以通过拖拽组件的方式快速生成 JSON 配置。它提供了丰富的组件库和配置项,用户可以根据需要选择合适的组件并配置相应的属性、事件和动作。设计器还提供了实时预览功能,用户可以随时查看所设计页面的效果。最终,用户可以将 JSON 配置导出,用于页面的生成和修改。

EBuilder 生成器

EBuilder 是一个页面构建组件,它可以将设计器生成的 JSON 配置构建成页面,完成组件的渲染、事件绑定和数据回显等操作。

安装 epic-designer

npm i epic-designer

epic-designer 目标是支持多 UI 兼容,目前支持以下 UI

  • element-plus
  • ant-design-vue
  • naive-ui

选择 UI 组件库

选择 element-plus

安装ui框架依赖

npm i element-plus @epic-designer/element-plus

main.ts 或者 main.js 引入注册组件

// 引入epic-designer样式
import "epic-designer/dist/style.css";

// 引入Element plus样式
import "element-plus/dist/index.css";

import { setupElementPlus } from "@epic-designer/element-plus";
// 注册Element UI
setupElementPlus();

选择 ant-design-vue v4.x版本(antd推荐使用v4.x版本)

安装ui框架依赖

npm i ant-design-vue @epic-designer/antd

main.ts 或者 main.js 引入注册组件

// 引入epic-designer样式
import "epic-designer/dist/style.css";

// 引入antd UI 重置样式
import "ant-design-vue/dist/reset.css";

import { setupAntd } from "@epic-designer/antd";
// 使用Antd UI
setupAntd();

ant-design-vue v3.x版本需要改成下面方式

为了减少维护精力,后续开发测试主要以 v4.x版本,不再对v3.x版本进行测试,建议升级ant-design-vue到v4.x最新版本

// 引入epic-designer样式
import "epic-designer/dist/style.css";

// 引入antd UI样式
import "ant-design-vue/dist/antd.css";

import { setupAntd } from "@epic-designer/antd";
// 使用Antd UI
setupAntd();

选择 naive-ui

安装ui框架依赖

npm i -D naive-ui @epic-designer/naive-ui

main.ts 或者 main.js 引入注册组件

// 引入epic-designer样式
import "epic-designer/dist/style.css";

import { setupNaiveUi } from "@epic-designer/naive-ui";
// 注册Naive Ui
setupNaiveUi();

EDesigner(设计器) 基础用法

<template>



    <EDesigner />



</template>
<script setup lang="ts">
import { EDesigner } from "epic-designer";
</script>
<style>
.h-full {
  height: 100vh;
}
</style>

EBuilder(生成器) 基础用法

<template>



    <EBuilder :pageSchema="pageSchema" />



</template>
<script setup>
import { EBuilder } from "epic-designer";

const pageSchema = {
  schemas: [
    {
      type: "page",
      id: "root",
      children: [
        {
          label: "输入框",
          type: "input",
          field: "input",
          icon: "epic-icon-write",
          input: true,
          props: {
            defaultValue: "",
            placeholder: "请输入",
            size: "default",
            type: "text",
          },
          id: "gbm1xhrrj5s00",
        },
      ],
    },
  ],
};
</script>

交流

点击链接加入 qq 群聊

Extension points exported contracts — how you extend this code

CollapseContext (Interface)
(no doc)
packages/ui-kit/base-ui/src/collapse/collapseContext.ts
ActivitybarModel (Interface)
(no doc)
packages/types/src/pluginManager.ts
FormulaContext (Interface)
(no doc)
packages/utils/src/formula/formulaEngine.ts
DesignerHotkeysDeps (Interface)
(no doc)
packages/core/src/components/designer/hooks/useHotkeys.ts
MessageApi (Interface)
(no doc)
packages/hooks/src/plugin/useGlobal.ts
PluginManager (Interface)
(no doc)
packages/manager/src/pluginManager.ts
TreeContext (Interface)
(no doc)
packages/ui-kit/base-ui/src/tree/useTreeContext.ts
RightSidebarModel (Interface)
(no doc)
packages/types/src/pluginManager.ts

Core symbols most depended-on inside this repo

findSchemas
called by 23
packages/utils/src/common/data.ts
emit
called by 18
packages/hooks/src/common/createEventBus.ts
interopDefault
called by 17
internal/eslint-config/src/util.ts
deepEqual
called by 15
packages/utils/src/common/data.ts
deepClone
called by 14
packages/utils/src/common/data.ts
deepCompareAndModify
called by 14
packages/utils/src/common/data.ts
useRevoke
called by 13
packages/manager/src/revoke.ts
getValueByPath
called by 11
packages/utils/src/common/data.ts

Shape

Function 300
Interface 39
Method 4
Class 2

Languages

TypeScript100%

Modules by API surface

packages/hooks/src/plugin/useComponentManager.ts23 symbols
packages/utils/src/common/data.ts22 symbols
packages/manager/src/pageManager.ts18 symbols
packages/manager/src/revoke.ts14 symbols
packages/core/src/components/builder/hooks/useBuilder.ts12 symbols
packages/hooks/src/common/element.ts10 symbols
packages/hooks/src/common/createEventBus.ts10 symbols
packages/types/src/pluginManager.ts9 symbols
packages/core/src/components/designer/hooks/useDesigner.ts9 symbols
examples/vite-plugins/nls.js8 symbols
packages/utils/src/formula/formulaEngine.ts7 symbols
packages/ui/elementPlus/src/upload-image/uploadImage.ts7 symbols

For agents

$ claude mcp add epic-designer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page