feat: 编辑器预览功能

This commit is contained in:
wangxuefeng
2025-02-20 17:38:00 +08:00
parent b15a13a223
commit e695a4bf4a
15 changed files with 374 additions and 286 deletions

View File

@@ -0,0 +1,65 @@
{
"name": "Test",
"locked": false,
"inject": [],
"state": {},
"lifeCycles": {},
"methods": {},
"computed": {},
"watch": [],
"css": "",
"props": [],
"emits": [],
"slots": [],
"dataSources": {},
"__VTJ_BLOCK__": true,
"__VERSION__": "1740038923917",
"id": "45tas1fsz",
"nodes": [
{
"id": "7pf8hv3wi",
"name": "ElButtonGroup",
"from": "element-plus",
"invisible": false,
"locked": false,
"children": [
{
"id": "b9167o6ma",
"name": "ElButton",
"from": "element-plus",
"invisible": false,
"locked": false,
"children": "Button1",
"props": {},
"directives": [],
"events": {}
},
{
"id": "esn3xh9c2",
"name": "ElButton",
"from": "element-plus",
"invisible": false,
"locked": false,
"children": "Button2",
"props": {},
"directives": [],
"events": {}
},
{
"id": "ic91nac1u",
"name": "ElButton",
"from": "element-plus",
"invisible": false,
"locked": false,
"children": "Button3",
"props": {},
"directives": [],
"events": {}
}
],
"props": {},
"directives": [],
"events": {}
}
]
}

View File

@@ -5,8 +5,166 @@
"name": "低代码编辑器",
"homepage": "",
"description": "低代码编辑器",
"dependencies": [],
"pages": [],
"dependencies": [
{
"package": "vue",
"version": "latest",
"library": "Vue",
"urls": [
"@vtj/materials/deps/vue/vue.global.prod.js"
],
"assetsLibrary": "VueMaterial",
"required": true,
"official": true,
"enabled": true
},
{
"package": "vue-router",
"version": "latest",
"library": "VueRouter",
"urls": [
"@vtj/materials/deps/vue-router/vue-router.global.prod.js"
],
"assetsLibrary": "VueRouterMaterial",
"required": true,
"official": true,
"enabled": true
},
{
"package": "@vtj/utils",
"version": "latest",
"library": "VtjUtils",
"urls": [
"@vtj/materials/deps/@vtj/utils/index.umd.js"
],
"required": true,
"official": true,
"enabled": true
},
{
"package": "@vtj/icons",
"version": "latest",
"library": "VtjIcons",
"urls": [
"@vtj/materials/deps/@vtj/icons/style.css",
"@vtj/materials/deps/@vtj/icons/index.umd.js"
],
"required": true,
"official": true,
"enabled": true
},
{
"package": "@vueuse/core",
"version": "latest",
"library": "VueUse",
"urls": [
"@vtj/materials/deps/@vueuse/shared/index.iife.min.js",
"@vtj/materials/deps/@vueuse/core/index.iife.min.js"
],
"required": false,
"official": true,
"enabled": true,
"platform": [
"web",
"h5"
]
},
{
"package": "element-plus",
"version": "latest",
"library": "ElementPlus",
"localeLibrary": "ElementPlusLocaleZhCn",
"urls": [
"@vtj/materials/deps/element-plus/dark/css-vars.css",
"@vtj/materials/deps/element-plus/index.css",
"@vtj/materials/deps/element-plus/zh-cn.js",
"@vtj/materials/deps/element-plus/index.full.min.js"
],
"assetsUrl": "@vtj/materials/assets/element/index.umd.js",
"assetsLibrary": "ElementPlusMaterial",
"required": false,
"official": true,
"enabled": true,
"platform": "web"
},
{
"package": "@vtj/ui",
"version": "latest",
"library": "VtjUI",
"urls": [
"@vtj/materials/deps/vxe-table/style.min.css",
"@vtj/materials/deps/@vtj/ui/style.css",
"@vtj/materials/deps/xe-utils/xe-utils.umd.min.js",
"@vtj/materials/deps/vxe-table/index.umd.min.js",
"@vtj/materials/deps/@vtj/ui/index.umd.js"
],
"assetsUrl": "@vtj/materials/assets/ui/index.umd.js",
"assetsLibrary": "VtjUIMaterial",
"required": false,
"official": true,
"enabled": true,
"platform": "web"
},
{
"package": "ant-design-vue",
"version": "latest",
"library": "antd",
"urls": [
"@vtj/materials/deps/ant-design-vue/reset.css",
"@vtj/materials/deps/ant-design-vue/dayjs/dayjs.min.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/customParseFormat.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/weekday.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/localeData.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/weekOfYear.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/weekYear.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/advancedFormat.js",
"@vtj/materials/deps/ant-design-vue/dayjs/plugin/quarterOfYear.js",
"@vtj/materials/deps/ant-design-vue/antd.min.js"
],
"assetsUrl": "@vtj/materials/assets/antdv/index.umd.js",
"assetsLibrary": "AntdvMaterial",
"required": false,
"official": true,
"enabled": false,
"platform": [
"web"
]
},
{
"package": "@vtj/charts",
"version": "latest",
"library": "VtjCharts",
"urls": [
"@vtj/materials/deps/echarts/echarts.min.js",
"@vtj/materials/deps/@vtj/charts/index.umd.js"
],
"assetsUrl": "@vtj/materials/assets/charts/index.umd.js",
"assetsLibrary": "VtjChartsMaterial",
"required": false,
"official": true,
"enabled": true,
"platform": [
"web",
"h5"
]
}
],
"pages": [
{
"dir": false,
"name": "Test",
"title": "123",
"icon": "",
"mask": true,
"hidden": false,
"raw": false,
"pure": false,
"meta": "",
"cache": false,
"id": "45tas1fsz",
"type": "page"
}
],
"blocks": [],
"apis": [],
"meta": [],

View File

@@ -0,0 +1,23 @@
<template>
<ElButtonGroup>
<ElButton> Button1</ElButton>
<ElButton> Button2</ElButton>
<ElButton> Button3</ElButton></ElButtonGroup
>
</template>
<script lang="ts">
// @ts-nocheck
import { defineComponent, reactive } from 'vue';
import { ElButtonGroup, ElButton } from 'element-plus';
import { useProvider } from '@vtj/renderer';
export default defineComponent({
name: 'Test',
components: { ElButtonGroup, ElButton },
setup(props) {
const provider = useProvider({ id: '45tas1fsz', version: '1740038923917' });
const state = reactive<Record<string, any>>({});
return { state, props, provider };
}
});
</script>
<style lang="scss" scoped></style>