如何只用5分钟完成数据 列表、创建页面
前言
我们当然希望能够更快的完成我们的工作,这样我们才能有更多的时间做其他的事情,比如说测试、学习、放松。
背景
软件一般也就这么几个方面的工作要做,增、删、改、查。如果归结到页面上来说,那么无非也就这么几个页面Form页面(增)、列表页面(查、删)、编辑页面(改)。很大程度上,你的项目就是由不同的实体的这么几个页面组装起来的。既然他们都是这么几个页面,那么,我们是不是可以考虑针对这几个页面进行抽象呢?然后使用数据描述这几个页面的行为。
效果
经典倒叙,先上效果图
列表页面
创建页面
目前就简单实现了列表页面和创建页面。编辑页面,跟创建页面太像了。暂时还没有实现相关内容,不过,这个不是很重要了。
实现过程
需求分析
其实,每个页面都是存在固定的路数的。
比如说:
列表页面里边主要存在这么几个参数:列表名、列表头上的按钮、列表的表头、列表内容、列表每一行中的操作、分页控件。
表单页面列表主要存在这么几个参数:表单名、表单内容项。
主要的参数出现的位置都是固定的。但是什么地方出现什么内容则是可以变化的,一般情况下,我们都是通过代码,一遍一遍的重写这些页面,然后来达到不同的应用之间的变化的目的。其实我们是可以通过数据来描述他们的。比如说向下面这样。
列表页面的定义
Form表单页面的定义
原始数据的定义
然后将这些定义好的属性通过后端渲染到页面上。
就可以达到,前边展示的这种效果了。
数据存储
因为数据类型是自定义的,所以数据存储的字段也是可以自己随便预设的。然后系统就可以直接支持这一数据类型。在这个Demo里边,我是简单粗暴的使用了文件存储Json文件的方式来进行保存的数据。
其实应该链接数据库的。不过我在Demo项目里边留下了相关的接口,只要再实现一个数据库版本的实例就可以无缝对接了。
其实
当然了这只是他的最初级的形态,因为现在写的配置文件都是通过手写来实现,将来可以做一个编辑器。并且可以实时看到调整过的效果。
其实这个做法,是来源于PaaS项目中的一个很小很小的功能块。真正的PaaS项目这一整套东西都是在线上直接编辑看效果的。
最后
系列
这个项目将来会融入到我写的PaaS Demo中作为前端展示部分。 系列的目录在 https://juejin.im/post/5eca2a186fb9a047e96b2884 这个部分会一点点完善。
开源
虽然东西不大,但是还是希望能给你一点点启发。 项目地址 https://gitee.com/anxin1225/Dov.GenericWeb
简单的体验
部署到云端了,可以简单体验一下。