一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于前后端分离的低代码设计系统及开发方法

2022-06-25 08:09:17 来源:中国专利 TAG:


1.本发明属于计算机技术领域,特别涉及一种基于前后端分离的低代码设计系统及开发方法。


背景技术:

2.随着计算机技术的发展,软件系统的开发和应用越来越高效、安全。以软件系统中的网站类应用软件为例,通常包括前端和后端两部分。其中,前端即网站前台部分,运行在pc端,移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展,html5,css3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,合适的动效设计,给用户带来极高的用户体验。后端根据前端的用户操作请求进行逻辑处理,进一步地,还可以将处理结果反馈到前端,通过前端展示给用户。由此,通过前后端(前端和后端)的配合,实现提供用户交互的网站服务。
3.前后端的数据处理操作概括起来主要是实现数据的curd操作。crud是指在做计算处理时的增加(create)、检索(retr ieve)、更新(update)和删除(delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
4.但现有技术中,前后端的代码重复率高,在一个系统中,对于一种类型的组件,如列表,根据不同的用户和不同的数据,可能存在大量列表组件,对于每个列表组件分别对应指定数据库表的前端操作组件、前端操作接口和对应的后端操作逻辑,从而系统的开发效率低、代码冗余度大、维护性和拓展性差。
5.因此,亟需一种代码重复度低的系统和系统开发方案。


技术实现要素:

6.针对上述问题,本发明提供一种基于前后端分离的低代码设计系统,包括:前端组件层、前端接口层、后端接口层和后端业务层;
7.所述前端组件层用于为用户提供数据访问操作组件,并接收用户的数据访问操作请求后发送数据访问操作请求到前端接口层;
8.所述前端接口层用于根据数据访问操作请求确定数据访问约束字段,并通过数据访问约束字段调用后端接口层;
9.后端接口层用于根据数据访问约束字段调用后端业务层;
10.后端业务层用于根据数据访问约束字段访问数据库。
11.进一步地,所述前端组件层包括根据组件类型封装的统一操作组件,所述组件类型包括:树和/或列表;
12.所述统一操作组件用于实现指定组件类型提供给用户的通用操作功能;
13.所述前端组件层的组件通过引用指定的所述统一操作组件实现。
14.进一步地,所述前端接口层包括根据组件类型封装的统一前端接口组件,所述统一前端接口组件包含多个与数据访问操作请求类型相对应的前端数据访问接口;
15.所述前端数据访问接口用于基于数据访问约束字段调用后端接口层实现数据访问。
16.进一步地,所述后端接口层包括统一后端接口组件,所述统一后端接口组件包含多个与数据访问操作请求类型相对应的后端数据访问接口;
17.所述后端数据访问接口用于基于数据访问约束字段调用后端业务层的数据访问服务,实现数据访问。
18.进一步地,在后端接口层和后端业务层之间还设置有权限验证层,用于根据用户权限确定后端业务层是否执行后端接口层的数据访问调用。
19.进一步地,权限验证层用于根据后端业务层的后端数据访问接口的类型、接口参数和用户信息确定是否运行执行该后端数据访问接口的调用。
20.进一步地,通过关系型数据库的视图方式来实现多数据库表联动操作,前端组件层还用于将视图名作为数据访问约束字段中的关键字。
21.进一步地,在前端组件层根据用户权限设置控件的显示和/或隐藏。
22.本发明还提供一种基于前后端分离的低代码设计系统的开发方法,包括:
23.设置系统开发架构为包含以下层次的架构:前端组件层、前端接口层、后端接口层和后端业务层;
24.所述前端组件层用于为用户提供数据访问操作组件,并接收用户的数据访问操作请求后发送到前端接口层;
25.所述前端接口层用于根据数据访问操作请求确定数据访问约束字段,并通过数据访问约束字段调用后端接口层;
26.后端接口层用于根据数据访问约束字段调用后端业务层;
27.后端业务层用于根据数据访问约束字段访问数据库;
28.基于所述系统开发架构生成整体的系统软件。
29.进一步地,在后端接口层和后端业务层之间还设置权限验证层,根据用户权限确定后端业务层是否执行后端接口层的数据访问调用。
30.本发明基于前后端分离的低代码设计系统及开发方法,解决了现下前后端分离项目开发时代码高重复问题,设计前后端展示、传输和处理规则,避免在项目开发中使用高重复的crud代码和前端展示代码,提高了开发效率,优化了系统结构,便于扩展维护。
31.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1示出了根据本发明实施例的基于前后端分离的低代码设计系统的结构示意图;
34.图2示出了根据本发明实施例的基于前后端分离的低代码设计系统的层级接口示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.本发明实施例提供一种基于前后端分离的低代码设计系统,如图1所示,系统包括:前端组件层、前端接口层、后端接口层和后端业务层。
37.其中,前端组件层用于为用户提供数据访问操作组件,并接收用户的数据访问操作请求后发送到前端接口层;前端接口层用于根据数据访问操作请求确定数据访问约束字段,并通过数据访问约束字段调用后端接口层;后端接口层用于根据数据访问约束字段调用后端业务层;后端业务层用于根据数据访问约束字段访问数据库。
38.其中,数据访问操作组件类型如树、列表。本发明实施例中,数据访问操作是指对数据库进行的crud操作中的一种或多种。示例性地,数据库为关系型数据库。
39.分析常用数据库表的结构,确定基于关系型数据库的表结构主要有两类:列表结构和树形结构。首先,对于这两种表结构的单表(一张表,不涉及多个表的联动)的crud操作进行抽象封装。对于某一业务可能出现的多数据库表联动操作,通过关系型数据库的视图方式来实现,前端组件层只需要将视图名作为关键字提交给后端接口层即可。
40.在前端组件层,设置包括根据组件类型封装的统一操作组件,组件类型包括树、列表中的一种或多种。前端组件层不仅包括同一操作组件,还包括其他前端业务组件,用于实现多样的、复杂的前端业务。前端业务组件如:消息组件、展示组件、弹出组件等,这些组件在展示数据层面都可以通过嵌套树或者列表的统一操作组件来实现。示例性地,在系统开发过程中,将前端业务组件设置在view包/目录下,将统一操作组件设置在dlg包/目录下。统一操作组件用于实现指定组件类型提供给用户的通用操作功能。前端组件层的组件通过引用指定的统一操作组件实现。现有技术中,前端在进行不同表的数据展示时,往往也会有大量的代码重复。本发明实施例中,将通用的单表crud的数据展示封装成通用组件,使得前端开发时只要按需求引用即可,大幅度减少前端页面代码的开发量。
41.示例性地,如图2所示,在前端组件层形成统一操作组件,包括树形结构组件和列表结构组件。树形结构组件实现了树形结构的初始化,提供树形结构的数据访问操作接口(通过界面组件元素提供的操作接口):树形结构的查询、删除、增加节点、修改节点、调整父子关系等。列表结构组件实现了列表结构的初始化、列表结构的删除、数据导入、数据导出、分页、排序、增加行列、修改内容、查询等。当需要在前端页面上实现一个列表结构时,只需要直接使用同一操作组件中的树形结构组件,或者继承该列表结构组件或者以实现该列表结构组件接口的形式引用该组件。本发明实施例中,组件的引用包括:直接使用或继承或实现接口。
42.前端接口层根据数据访问操作请求确定数据访问约束字段,并通过数据访问约束字段调用后端接口层。具体地,前端接口层根据用户操作的统一操作组件的类型、关键字
(数据库表名和/或视图名)和用户操作内容(增加行、删除树形节点、查看列表等),形成数据访问约束字段。数据访问约束字段用作统一前端接口组件的参数。如图2所示,统一前端接口组件的参数包括keywords(业务表名或视图名)、nodeid(数据库主键id)、formdata(需要操作的数据库字段名集合)、pageid(分页的第几页)、pageinfo(分页要求,如每页几条记录)、sort(排序方式)等,用于调用后端接口层时传递到后端接口层,请求接口后的返回参数包括:status(自定义的http返回状态码)、message(返回的信息)、data(返回的数据)、httpstatus(http自带的状态码),用于接收后端接口层返回的数据。
43.前端接口层包括根据组件类型封装的统一前端接口组件,统一前端接口组件包含多个与数据访问操作请求类型相对应的前端数据访问接口。前端数据访问接口用于基于数据访问约束字段调用后端接口层实现数据访问。前端在获取数据时只需将表名、分页要求、排序方式(若是树形表还需节点编号)等数据访问约束字段(约束条件)作为关键字提交给后端接口,从而大幅度减少了传统后端处理不同表时都要写的基本crud代码。示例性地,如图2所示,统一前端接口组件包括列表统一前端接口组件和树形统一前端接口组件,分别实现为list.js和tree.js。数据访问操作请求类型即操作的组件类型。列表统一前端接口组件包含多个与数据访问操作请求类型相对应的前端数据访问接口。
44.示例性地,在列表统一前端接口组件中,包括以下接口:
45.readalllistnodes获取所有列表单元
46.getsomerecords查询记录
47.editonenode编辑一个单元
48.deloneormanynodes删除一个或多个单元
49.changetwonodes调换两个单元
50.commonsearch查询
51.在树形统一前端接口组件中,包括以下接口:
52.getallnodes获取所有节点
53.changetwonodes调换两个节点
54.del0nenode删除一个节点
55.delmanynode删除多个节点
56.editonenode编辑一个节点
57.geta1lparentindex获取所有父节点
58.getallbrotherindex获取所有兄弟节点
59.getsomerecords查询记录
60.后端接口层包括统一后端接口组件,统一后端接口组件包含多个与数据访问操作请求类型相对应的后端数据访问接口。
61.示例性地,如图2所示,统一后端接口组件实现为commoncontroller类,包括以下接口:
62.readalllistnodes读取所有列表节点
63.getsomerecords查询记录
64.editonenode编辑一个节点/单元
65.del0neormanynodes删除一个或多个节点/单元
66.changetwonodes调换两个节点
67.commonsearchgetallnodes查询所有节点/单元
68.del0nenode删除一个节点/单元
69.delmanynode删除多个节点/单元
70.getallparentindex获取所有父节点索引
71.getallbrotherindex获取所有兄弟节点索引
72.由于将所有表的通用crud操作都封装成通用的后端接口,这使得在接口层面的权限控制被打破,会引发安全性的问题。为解决这一问题,在前端组件层根据用户权限设置控件的显示、隐藏。例如,在前端上通过菜单的隐藏来实现权限的限制。
73.为了提高后端接口的安全性,在后端接口层和后端业务层之间还设置有权限验证层,根据用户权限确定后端业务层是否执行后端接口层的数据访问调用。权限验证层对来自用户的数据访问操作,都进行权限验证层,以判断当前用户是否对指定数据库表或视图拥有指定的操作权限,若用户没有对指定数据库表或视图的指定操作权限,则拒绝当前数据访问操作。例如,没有删除权限操作的用户登录后,不被允许执行列表单元或树形节点的删除。
74.具体地,权限验证层根据后端业务层的后端数据访问接口的类型、接口参数和用户信息确定是否运行执行该后端数据访问接口的调用。进一步地,在数据库中保存用户权限表,存储用户对于指定数据库表或视图的操作权限,如用户a对表a具有查询权限而不具有删除权限等。权限验证层根据端数据访问接口的类型、接口参数和用户信息查询用户权限表,通过查询用户权限表,确定用户是否有执行该接口的权限。如后端数据访问接口的类型为删除操作,关键字为“表a”,用户信息为“用户a”,则不具有执行该接口的权限,拒绝此次数据访问。
75.前端接口层根据用户操作的统一操作组件的类型、关键字(数据库表名和/或视图名)和用户操作内容(增加行、删除树形节点、查看列表等),形成数据访问约束字段。数据访问约束字段用作统一前端接口组件的参数。
76.后端数据访问接口基于数据访问约束字段调用后端业务层的数据访问服务,实现数据访问。示例性地,后端业务层根据数据访问约束字段反射调用对应的数据访问服务,通过数据访问服务访问对应的数据库表。具体地,后端数据访问接口根据数据访问约束字段中的业务表名keywords,确定要访问的数据库表或者视图,通过反射生成数据访问服务对象和dao,通过数据访问服务对象调用对应的一个或多个dao完成数据访问。dao(data access object,数据访问对象)是一个面向对象的数据库接口。通过dao操作对与数据库表对应的实体类对象entity进行crud操作,从而转换为对数据库表的操作。entity中包括实际的表字段和虚拟的表字段。本发明实施例中,根据数据库表创建对应的entity和dao。数据访问服务service是根据业务需求创建的数据访问服务类,允许service为空的类定义。在另外的实施例中,后端业务层也可以基于数据访问约束字段生成数据库访问语句进行数据库访问。本发明实施例对后端业务层的具体实现方式不作限定。
77.本发明实施例的系统,前后端对通用的单表的crud操作和多表的视图操作按自定义规则进行接口封装,前端对不同表结构的数据展示进行封装;配套地在后端接口层和后端业务层之间添加权限验证层,以判断当前用户是否对该表或视图拥有怎样的操作权限。
本发明实施例的系统结构合理,代码重用率高,便于基于统一封装的组件进行扩展,且具有高安全性。
78.本发明实施例还提供一种基于前后端分离的低代码设计系统的开发方法,包括:设置系统开发架构为包含以下层次的架构:前端组件层、前端接口层、后端接口层和后端业务层;前端组件层用于为用户提供数据访问操作组件,并接收用户的数据访问操作请求后发送到前端接口层;前端接口层用于根据数据访问操作请求确定数据访问约束字段,并通过数据访问约束字段调用后端接口层;后端接口层用于根据数据访问约束字段调用后端业务层;后端业务层用于根据数据访问约束字段访问数据库;基于系统开发架构生成整体的系统软件。在后端接口层和后端业务层之间还设置权限验证层,根据用户权限确定后端业务层是否执行后端接口层的数据访问调用。
79.本发明实施例的基于前后端分离的低代码设计系统的开发方法的具体实施方式,可以根据本发明基于前后端分离的低代码设计系统的任意实施例获得,不再赘述。
80.尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献