0.8.8 • Published 6 months ago

vast-designer v0.8.8

Weekly downloads
-
License
-
Repository
github
Last release
6 months ago

npm.io

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

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

📖文档地址:https://kcz66.gitee.io/vast-designer/

💎项目预览地址:

简介

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

目前还处于 Alpha 阶段,所有的 API 及 Props 都可能在后续迭代中发生变化

同时因为需要维护多套UI组件,也会增加兼容性和测试工作,且作者需要保证不影响到工作,所以开发进度会相对慢一点,但是会尽量利用业余时间更新功能,同时也欢迎各位大佬提供建议和pr

最新版本

npm.io

功能

  • 拖拽设计
  • 自定义 actionBar
  • 布局组件扩展
  • 自定义组件扩展
  • 事件扩展
  • 组件懒加载
  • 完善布局
  • 组件属性自定义
  • 支持不同 UI
  • 插件扩展

核心组件介绍

e-designer 设计器

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

e-builder 生成器

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

安装 vast-designer

npm i vast-designer

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

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

选择 UI 组件库

  • 选择 element-plus

npm i element-plus

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

// 引入Element plus样式
import "element-plus/dist/index.css";
// 引入k-designer样式
import "vast-designer/dist/style.css";
import { pluginManager, setupElementPlus } from "vast-designer";
// 注册Element UI
setupElementPlus(pluginManager);
  • 选择 ant-design-vue

npm i ant-design-vue

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

// 引入antd UI样式
import "ant-design-vue/dist/antd.css";
// 引入k-designer样式
import "vast-designer/dist/style.css";
import { pluginManager, setupAntd } from "vast-designer";
import {  } from "vast-designer";
// 使用Antd UI
setupAntd(pluginManager);
  • 选择 naive-ui

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

// 引入k-designer样式
import "vast-designer/dist/style.css";
import { pluginManager, setupNaiveUi } from "vast-designer";
// 注册Naive Ui
setupNaiveUi(pluginManager);

EDesigner(设计器) 基础用法

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

EBuilder(生成器) 基础用法

<template>
  <div>
    <EBuilder :pageSchema="pageSchema" />
  </div>
</template>
<script setup>
import { EBuilder } from "vast-designer";

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

交流

点击链接加入 qq 群聊

捐赠

如果你觉得vast-designer对你有帮助,欢迎给我捐赠

npm.io