- Notifications
You must be signed in to change notification settings - Fork803
vue3.x + vite2.x + vant + element-plus H5移动端低代码平台 lowcode 可视化拖拽 可视化编辑器 visual editor 类似易企秀的H5制作、建站工具、可视化搭建工具
License
NotificationsYou must be signed in to change notification settings
buqiyuan/vite-vue3-lowcode
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
中文 |English
PS: 此项目为个人半年以前做的实验性小玩具,使用的都是最新的技术栈,后面由于个人时间问题,没有持续维护和完善,暂时计划于2022年下半年开始对项目进行整体的重构和重新设计,实现一个基本可用的简易低代码平台。感谢关注~
- 操作历史快照
- 支持生成 vue 模板组件
- 生成组件大纲树
- 提供常见的表单和列表模板
- v-for 绑定数据源
- 在 sandbox 中执行自定义逻辑
- 基于 monaco-editor 自定义代码补全规则
- 基于 vue3 createRenderer 自定义渲染器
- 使用 Schema 描述数据结构(因为 schema 可以生成校验函数)
- (⊙o⊙)…想到再做了~
从最简单的结构来看,一个模型驱动的视图体系包含以下要素:
模型
- 定义状态结构
- 定义动作
视图
- 订阅状态
- 触发动作
这是很简单的一种渲染模式,可以适用于大多数的场景。
git clone --single-branch https://github.com/buqiyuan/vite-vue3-lowcode.gitorgit clone --depth=1 https://github.com/buqiyuan/vite-vue3-lowcode.git
cd vite-vue3-lowcodepnpm install
- run
pnpm serve
- build
pnpm build
- 编程语言:TypeScript 4.x +JavaScript
- 构建工具:Vite 2.x
- 前端框架:Vue 3.x
- 路由工具:Vue Router 4.x
- 状态管理:Vuex 4.x
- PC 端 UI 框架:Element Plus
- H5 端 UI 框架:vant
- CSS 预编译:Stylus /Sass /Less
- HTTP 工具:Axios
- Git Hook 工具:husky +lint-staged
- 代码规范:EditorConfig +Prettier +ESLint +Airbnb JavaScript Style Guide
- 提交规范:Commitizen +Commitlint
- 单元测试:vue-test-utils +jest +vue-jest +ts-jest
- 自动部署:GitHub Actions
- 动态添加页面
- 拖拽式生成组件
- service worker + indexeddb 实现无服务端的前端交互
- 数据源管理(支持导入 swagger JSON 生成数据模型及接口)
- 提供预置函数
- 更多组件的封装
- 其他...
目前在使用表单时,需要把相关的表单控件
放到表单容器
内部,并且需要将按钮
放到表单容器
内,然后再讲按钮的type
设置为表单提交按钮
这时候点击提交按钮才会自动收集表单容器内部的所有字段和值
// 在vant文档中 chrome控制台输入以下代码,快速生成组件属性letpropObj={string:(config)=>`createEditorInputProp(${JSON.stringify(config)})`,number:(config)=>`createEditorInputNumberProp(${JSON.stringify(config)})`,boolean:(config)=>`createEditorSwitchProp(${JSON.stringify(config)})`,};JSON.stringify($$('#props + table tbody tr').reduce((prev,curr)=>{constchildren=curr.children;constkey=children[0].textContent.replace(/-([a-z])/g,(all,i)=>i.toUpperCase());constchild3Text=children[3].textContent;constdefaultValue=['true','false'].includes(child3Text) ?child3Text :`'${child3Text=='-' ?'' :child3Text}'`;constvalue=(propObj[children[2].textContent]??propObj['string'])({label:`'${children[1].textContent}'`, defaultValue,}).replaceAll('"','');prev[key]=value;returnprev;},{}),).replaceAll('"','');
// 在vant文档中 chrome控制台输入以下代码,快速生成组件事件JSON.stringify($$('#events + table tbody tr').reduce((prev,curr)=>{constchildren=curr.children;constevent={label:children[1].textContent,value:children[0].textContent,};returnprev.concat([event]);},[]),).replaceAll(/(?<!:)\"(?!,|})/g,'').replace(/\"/g,"'");
本地开发推荐使用Chrome 80+
浏览器
支持现代浏览器, 不支持 IE
![]() IE | ![]() Edge | ![]() Firefox | ![]() Chrome | ![]() Safari |
---|---|---|---|---|
not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
feat
增加新功能fix
修复问题/BUGstyle
代码风格相关无影响运行结果的perf
优化/性能提升refactor
重构revert
撤销修改test
测试相关docs
文档/注释build
对构建系统或者外部依赖项进行了修改chore
依赖更新/脚手架配置修改等workflow
工作流改进ci
持续集成types
类型定义文件更改wip
开发中
About
vue3.x + vite2.x + vant + element-plus H5移动端低代码平台 lowcode 可视化拖拽 可视化编辑器 visual editor 类似易企秀的H5制作、建站工具、可视化搭建工具
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.