# 简搭云在线可视化表单设计,低码平台 **Repository Path**: startstudy/vuefrom1.1.0 ## Basic Information - **Project Name**: 简搭云在线可视化表单设计,低码平台 - **Description**: 🚀🚀🚀简搭云可视化表单设计器致力于无码开发,构建各种管理系统,向简道云方向前进,预览采用vue源码进行预览,同时支持在线编辑各种业务逻辑,可轻松定义各种控件事件。同时完美仿写了简道云的关联数据库控件,关联查询数据控件,逻辑配置等功能,可无码构建各种微系统。 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 534 - **Created**: 2023-03-11 - **Last Updated**: 2023-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🏆简搭云可视化表单设计 仓库代码地址: 【 [码云仓库](https://gitee.com/liuyaping007/vuefrom1.1.0)】 【 [文档地址](http://qifeng.321zou.com)】 【 [体验地址](http://qifeng.321zou.com:81) 用户名:admin 密码:123456】 #### 🏆使用技术点: vue2.0 element-ui monaco vuedraggable jsplumb.js jquery jquerytemplate等插件 #### 🏆安装教程 nodejs其他版本下载地址: [输入链接说明](https://nodejs.org/zh-cn/download/releases/) - 确保已经安装node.js 10-15的版本,高版本没有测试过。 - 首次下载项目后,安装项目依赖: ``` npm install ``` - 本地开发 ``` npm run serve ``` - 构建 ``` npm run build ``` #### 🏆简搭云可视化表单特性与介绍。 简搭云可视化表单最大的优势是直接vue代码直接渲染,而非JSON数组性渲染,市面上大部分vue可视化表单都是json渲染,vue源码渲染具有更好的高类聚,低耦合,复用性高,封装性强,易扩展的等特点。因为vue源码直接渲染模式,只要在线编写的代码和生成vue代码符合vue语法风格,就能进行渲染,无需编译,充分继承了vue强大的扩展性,可读性,聚合性,复用性,封装性等特点,他也可以很轻松集成市面上所有vue组件。如echart,datav,饿了么UI,百度地图,高德地图,antUI,各种自定义组件等。 与市面上表单不一样的特点有: ##### 🚀1.一套表单三种模式一起设计 ##### 🚀2.生成一套代码同时适应PC,ipad,手机端的预览。 ##### 🚀3.支持在线编辑vue代码逻辑,不与可视化设计器生成的vue代码进行冲突。也可支持输入debugger,进行设计同时进行调试。 ##### 🚀4.支持css代码在线编写,可针对表单风格进行编写css。 ##### 🚀5.可下载vue源码到本地,无需更改任何更改,可直接预览。 ##### 🚀6.属性,组件,事件,通用css都可以通过配置文件进行配置。 ##### 🚀7.vue源码生成采用jquery+jquerytemplate模板生成,根据不同业务,框架生成不同风格,业务,框架的代码,如目前已有项目适应的表单有:element-ui表单,ant-ui表单,mini-ui的表单,同样也可以支持也可以生成appui,小程序语法代码等。 ##### 🚀8.根据业务制定不同模板,生成不同的业务表单:如问卷调查表单,可视化大屏,流程表单,通用增删改查表单,只要业务存在一定的通用性,我们就可以创建一个不同的模板解析 ##### 🚀9.支持很多快捷的方式,如点击事件,可切换源码,编辑对应事件的方法。 ##### 🚀10.明细组件拖拽完成自动支持导入,导出。 ##### 🚀11.增加行列控件,能更好的精确布局。 #### 🏆简搭云可视化表单实现无码开发设计运行思维图 ![可视化表单实现无码开发设计运行思维图](public/jiagoutu.png) 由思维图中可以看出可视化平台主要由两个部分构成:表单设计器与mybatis语法解析引擎构成。而生成的代码由jquerytemplate 模板语法生成,所以可以支持element-ui框架,mini——ui框架,ant design框架,uniapp框架的源码生成,但是需要如下解决红色文字问题 ![](public/flow2.png) 好了废话少说,直接上图 | pc端设计 | idad端设计 | 手机端设计 | |------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------| |![pc端设计](public/pcsheji.png) | ![idad端设计](public/ipad.png) | ![手机端设计](public/shouji.png) | | pc端预览 | idad端预览 | 手机端预览 | |![pc端设计](public/yulanpc.png) | ![idad端设计](public/ipadyulan.png) | ![手机端设计](public/yulanshouji.png) | |查看源码js部分 ,可在线编辑代码,可添加函数,与设计生成代码进行融合 | template html部分 | css部分,可根据界面风格进行调整,自行调整| |![pc端设计](public/yuanmabianji.png) | ![idad端设计](public/htmlcode.png) | ![手机端设计](public/csscode.png) | 导出vue源码,直接拷贝到项目中可直接使用,配置路由后就可以访问。 ![输入图片说明](public/xiazaivue.png) #### 🏆Mybatis动态接口 在线动态接口,保存后即可生成增,删,查,导出,导入的动态接口,也可以编辑修改动态接口 ![输入图片说明](public/dynamicapi.png) 动态接口 | 接口编辑,可智能提示表名,表字段 | 接口参数后端验证 | 列表接口字段显示 |接口在线测试| |------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------| ![输入图片说明](public/editapi.png)|![输入图片说明](public/apiparam.png)|![输入图片说明](public/列表接口显示列.png)|![输入图片说明](public/apijieguo.png) #### 🏆动态接口使用方法说明 Mybatis语法是个不错的语法,能够将实体与数据库紧密的结合在一起,减少了存贮过程,视图的编写,而且比存贮过程,视图更多元化,更强大,有人说Mybatis已经很成熟了,为什么自己还需要开发一套这个组件,第一:主要是因为Mybatis语法只能写在Mapping和Dao实体中,写在这里就必须要编译。第二:传入的Map实体不能是解析的。 我的Mybatis语法引擎能够动态解析Json实体,获取其属性值进行拼装SQL,那我将Mybatis语法配置提取到前端网页中,保存到数据库中,设置好两者约定好提交json实体结构, 然后封装一个通用Api接口提供调用,通过请求参数找到Mybatis配置信息,提交约定好的Json实体结构的数据,从而实现对数据库的各交互的一个万能接口。该模式去掉了我们平时开发的实体层,Service层,Dao层,能够实现60%的后端业务功能,配置好接口就可以立马使用,同时也解决了无码开发后端的编码问题。遇到复杂的逻辑需二开,也支持后端java代码的调用。 Mybatis语法引擎设计思路就是参照了Mybatis底层实现原理实现的,在编写时在Mybatis sql语法中约定提交的实体,约定的实体可以是任何JSON 通过#{属性名}映射获取json的属性值.例如:{bb:"323",cc:"434",fff:'fdsf'} 配置获取bb的值,如:#{bb} 获取cc的值,如:#{cc} 通过#{属性名.子属性名称}映射获取属性对应子属性值.例如:提交json为:{bb:{cc:"fdsfds"}} 想获取cc的值#{bb.cc} 通过#{属性名[0].子属性}映射获取数组属性,第一行的子属性值。例如:提交json为:{bb:[{cc:'dsad'},{cc:'324'},{cc:'434'},{cc:'343'}]} 获取bb第一行cc的值,如:#{bb[0].cc} 通过#{属性名[$index0].子属性} 通过循坏获取子属性数组中具体的子属性.例如:提交json为{bb:[{cc:'dsad'},{cc:'324'},{cc:'434'},{cc:'343'}]} 选循坏获取所有的cc select *from table where column=#{bb[$index0].cc} select * from AA 将sql语句查询的结果放入JSON实体对象属性ccc中,后面sql脚本就可以用#{ccc[0].子属性} 并做参数入值。 select * from AA test属性也支持条件判断 也支持#{A属性+B属性},#{A属性*B属性},#{A属性/B属性},#{A属性-B属性},#{A属性==''?B属性:A属性} 最基础的运算与三元表达式的支持。 编写的Mybatis语法代码不是保存在xml中,而是保存在在数据库中,随时更改,随时生效。 结合当前环境变量#{$user}当前登录对象,#{$user.userId} #{$user.userName} #{$user.realaname} #{$user.deptcode} #{$user.deptname} #{$user.organcode} #{$user.organname} #{$user.deptid} #{$user.organid} #{$user.password} #{$user.phone} #{$user.avatar} ##### 🏆优点 ###### 🚀1.可以节省了开发人员的各种实体编写,不同层级之间的调用,直接编写mybastis语法,目标功能实现,效率能够大大提升。 ###### 🚀2.可根据需求变化而变化,灵活更改对应接口,灵活性非常好 ###### 🚀3.后期运维,逻辑简单,响应速度非常快。 ###### 🚀5.迁移与重复非常方便,因为整个配置只有一张表,只要将一条数据迁移过去,功能就迁移过去了,与数据库的藕合性低。 ###### 🚀6.可以与java紧密结合起来,(前期使用配置开发,发现后期需求变变化到无法满足的地步,就需要二次开发,可在java代码中调用。) ##### 🏆扩展思维 ###### 🚀1. 系统之间接口的对接,接口返回的json格式是固定的,如何将接口数据对接我们系统中,结合定时任务的配置是可以完美解决,各种系统数据对接和输出,实现万能对接接口 ###### 🚀2. MQ队列,MQ队列接收也是实体JSON格式,也是可以完美解决各种数据的同步与数据处理入库 ###### 🚀3. 各种xls的导入,导入的模板固定,对应JSON格式也就固定,同样可以适应,实现万能数据导入、导出接口 ###### 🚀4. 各种Api接口的开发,Api接口提交JSON格式数据是固定的,如现在系统的各种功能开发就用到了该接口。 ###### 🚀5. 因为接口是一个组件,也可以支持各种接口微服务,服务器负载均衡部署。 #### 🏆流程平台 流程平台与表单引擎进行了很好融合,每个节点可以控制表单控件的只读,必填,显示,审批人可以是具体人员,角色,机构部门,也可以是表单控件值。 路由支持表单数据为条件控制流程走向,业务数据会自动保存,也可以每个节点进行设置回调Api和执行的动态Mybatis语法接口,表单设计器如下: ![](public/flowtemp.png) 流程发起PC端 | 流程信息 | 审批记录 | 流程走向 | |------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------| ![输入图片说明](public/flowInfo.png)|![输入图片说明](public/flowshenpi.png)|![输入图片说明](public/flowimg.png) 流程发起手机端 | 流程信息 | 审批记录 | |------------------------------------------------------------------|------------------------------------------------------------------------| ![输入图片说明](public/flowphoneinfo.png)|![输入图片说明](public/flowshenpijilu.png)| ## 🏆交流 - QQ群 109434403 - qq联系人:329175905 微信号: 18670793619 扫一扫加好友 | 微信 | qq | qq群 | |------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------| |微信
| ![](public/qq.png#pic_center) | ![](public/qq群.png#pic_center) |