目录
1. 概述
1.1 产品简介
1.2 名词定义
2. 版本说明
3. 系统整体构架说明
3.1 架构说明
3.2 技术栈
3.3 系统运行环境要求
4. 应用创建与配置
4.1 应用说明
4.2 应用中心介绍
4.3 应用中心显隐权限
4.4 界面介绍
4.5 创建应用
4.6 应用的配置界面
4.6.1 应用创建菜单目录
4.6.2 页面创建
4.6.3 修改页面
4.6.4 配置逻辑
4.7 应用的分类配置
4.8 应用的操作
4.9 应用配置
5. 列表页创建与配置
5.1 列表页配置界面介绍
5.2 新建列表页
5.3 数据项配置
5.4 操作按钮配置
5.5 页面配置
6. 表单创建与配置
6.1 表单界面介绍
6.2 表单的创建
6.3 表单的设计
6.4 表单组件
6.5 组件属性设置
6.6 公式函数
6.6.1 使用场景
6.6.2 公式函数介绍
6.6.3 设置公式函数
6.7 表单预览、保存与发布
6.8 表单样式控制
6.9 权限控制
7. 流程创建与配置
7.1 流程的创建
7.2 设计器的介绍
7.3 流程配置
7.4 节点设置
7.5 流程的保存与发布
8. 逻辑创建与配置
8.1 逻辑的介绍
8.2 逻辑引擎界面介绍
8.3 逻辑的创建
8.4 逻辑的配置
8.5 逻辑的编排
8.6 逻辑执行日志
9. 图表设置
9.1 界面介绍
9.2 数据图表的创建
9.3 设计器介绍
9.4 组件的类型
9.5 筛选条件
10. 配置数据集中管理
10.1 应用管理
10.2 列表页管理
10.3 表单页管理
10.4 图表页管理
10.5 流程管理
10.6 逻辑管理
11. 私有化部署安装
11.1 基础安装
11.2 部署项目
11.3 部署应用
- 概述
本文档供用户了解《JVS快速开发套件》(低代码工具)时参考使用。 为使您有更好的用户体验,建议您使用Chrome浏览器使用本系统。
a.产品简介
JVS是面向软件开发团队可以快速实现应用的基础开发脚手架+快速开发套件。
JVS快速开发套件解决哪些问题:
- 花大量时间在Excel/纸质表单上做数据统计,工作繁琐,采用系统来实现这些功能需要对应的技术人员,很麻烦,周期长,成本高?
- 项目交付的过程中,对产品经理要求非常高,很多客户无法讲清楚自己的需求,只会判断做出来的结果达不到他的心里预期?
- 功能上线的环节多,对各个环节的人员需求都很大,一个好的测试、运维很难找?
开发套件能解决的问题,降成本,提效率,减风险:
- 快速实现用户所见即所得的业务demo,前置确定用户的期望预期,避免后续客户说这个不是我想要的问题。通过可视化的拖拽,快速完成用户可操作的系统原型;
- 通过JVS基础提供的能力,降低底层的开发工作量,将工作量集中在业务上;
- 将业务管理从逻辑层面才分为多种配置化的结构,然后通过业务属性的配置,还原真实的业务功能,实现降低开发工作量;
- 快速集成系统提供的成熟产品,实现通用产品的低成本交付。
快速开发套件是“软开企服”的低代码应用构建的实用工具,通过可视化拖拽的方式,传统模式下需要 2 周才能完成开发的应用,用快速开发套件2小时就能完成。
b.名词定义
名称 | 说明 |
普通表单页面 | 填报数据,并带有数据绑定功能,样式配置,如修改、删除、导入、导出;还可以给不同的人不同的管理权限 |
流程表单页面 | 填报数据,并带有流程审批功能,适合报销、请假申请或其他工作流; |
报表页面 | 可以进行数据分析、结果展示等功能,如数据汇总、趋势分析; |
大屏页面 | 支持所有多种数据集类型,包括跨应用、子表、视图表、数据准备等更累数据进行分析渲染,使数据充满活力,更具表现力。 |
数据展现页面 | 通过低代码搭建展现或其他任何类型的自定义页,借助数据源或更丰富的组件实现应用 Portal、复杂业务场景页。 |
外部链接 | 在当前应用中将已存在的外部系统直接进行展示。 |
审批流程 | 需要人为参与的流程审核 |
逻辑 | 为处理某个事务、某个功能而形成的程序集合 |
应用配置中心 | 应用集成配置核心界面 |
- 版本说明
版本号:V2.1.2 | 上线时间:20220220 | 状态:已上线 |
功能更新说明:
|
版本号:V2.1.3 | 上线时间:20220331 | 状态:已上线 |
功能更新说明:
|
版本号: V2.1.4 | 上线时间:排期中 | 状态:开发中 |
功能更新说明:
|
- 系统整体构架说明
a.架构说明
系统构架如图所示,JVS核心的是提供多种应用的运行环境,底层的数据接入多种数据库,服务管理层的主要包含微服务的管理基础的组建能力,组件是上层应用提供基础的原子化的组件能力,应用可以将原子化的能力与传统的代码融合起来形成不同的应用(低代码开发),当然可以支持各种传动开发模式。
b.技术栈
- 表现层(前端)
组件名称 | 组件作用 | 开源协议 | 备注 |
EsLint | 前端代码质量检测 | MIT | |
Vuex | 前端框架 | MIT | |
Element-ui | 前端组件库 | MIT | |
Crypto-Js | 前端加密 | BSD | |
axios | 基于promise用于浏览器和node.js的http客户端 | MIT | |
data-set | 前端数据绑定 | MIT | |
vue-router | 前端路由 | MIT | |
v-charts | 图形化组件渲染 | MIT | |
E-charts | 图形化组件渲染 | Apache 2.0 | |
WebPack | 前端代码打包 | MIT | |
G2 | 图形化组件渲染 | MIT | |
G6 | 图形化组件渲染 | MIT |
- 应用逻辑层(后端框架)
组件归属 | 组件名称 | 开源协议 | 备注 |
Lombok | 代码精简 | MIT | |
Mybatis plus | 数据持久层 | Apache 2.0 | |
Hutool | 底层工具集 | 木兰宽松许可证 V2 | |
Swagger | 在线接口文档 | Apache 2.0 | |
Groovy | 敏捷脚本语言 | Apache 2.0 | |
Spring boot | 基础脚手架 | Apache 2.0 | |
spring cloud alibaba | 微服务框架 | Apache 2.0 | |
Xxl-job | 定时任务 | GNU 3.0 | 通过端口调用 |
Nacos | 注册中心 | Apache 2.0 | |
Sentinel | 接口限流 | Apache 2.0 | |
seata | 分布式事务处理 | Apache 2.0 | |
Skywalking | 链路跟踪 | Apache 2.0 | |
Redisson | 分布式锁 | Apache 2.0 | |
RabbitMq | 消息队列 | MPL 1.1 | |
Kafka | 分布式消息队列 | Apache 2.0 |
- 数据存储层
组件归属 | 组件名称 | 开源协议 | 备注 |
ElasticSearch | 文件搜索引擎(日志) | Apache 2.0 | |
Mongo | 分布式文件存储数据库 | Apache 2.0 | |
Mysql | 关系型数据库 | GPL | 通过端口调用 |
MariaDB | MYSQL集群 | GNU 2.0 | 通过端口调用 |
Redis | 高性能的key-value数据库 | BSD 3 |
c.系统运行环境要求
- 操作系统:CenOS 7及其以上
- CPU:8核及其以上
- 内存:32G及其以上(建议生产环境根据实际用户规模考虑)
- 硬盘:根据存储的内容的容量考虑
- 应用创建与配置
a.应用说明
JVS系统内支持三种类型的应用,原生应用、轻应用、三方应用。
- 原生应用:基于JVS基础框架,通过正常的编码、发布的应用,定义为原生应用。
原生应用的特点,按照传统的方式正常的开发,系统提供底层的服务能力,延用传统的程序开发,这种方式的特点,JVS已经集成了多种能力,包括用户、角色、权限体系、消息告警、日志审计、业务管理等基础系统能力,开发者只需要按照基础的规范编写即可,开箱即用。缺点:需要有技术开发基础能力、无法做到实时发布。
- 轻应用:基于JVS提供的界面化的应用配置工具生成的简单应用,定义为轻应用。
轻应用采用系统提供的基础的设计器进行业务的界面化的配置拼装,基础设计器包含(图表、列表、表单、逻辑、流程、报表),通过应用管理,将所有的设计出来的页面或者应用串联起来。轻应用特点,业务人员可以进行编辑,即配即用,无需后台配合,缺点:实现应用服务的能力取决于基础组件的提供的能力,定制需要基础组建或者代码扩展。
- 三方应用:对接JVS的权限管理体系,对接的第三方应用,定义为三方应用。
通过用户权限对接,实现应用的单点登录,这种通常是系统之间的SSO,在多系统的企业内部应用比较常见。
b.应用中心介绍
应用中心是轻应的配置器,可以通过应用中心配置与管理轻应用。
c.应用中心显隐权限
应用中心通过“应用管理员”的角色控制功能的显隐,有应用管理员角色的用户登录基础框时,会有如下应用中心的展示。
d.界面介绍
界面包含应用创建区、应用展示区、应用模板区
e.创建应用
点击“创建应用”,创建应用弹出应用的创建表单,需要填写应用的名称、应用的分类、应用的图标以及应用的描述:
f.应用的配置界面
应用管理员,通过应用中心进入应用配置界面,如下图所示,包括应用菜单配置,应用菜单与页面展示, 应用基本型、应用的授权用户,应用的基础页面与逻辑展示。
a1.应用创建菜单目录
应用管理员,创建菜单目录如下图所示,在应用名称上鼠标悬空,点击操作按钮目录设置,进入目录设置弹窗,录入目录名称。
a2.页面创建
应用管理员,选择需要创建页面的目录,右侧展示可以创建的内容页面,选择对应的配置引擎即可,进入对应的配置界面。
a3.修改页面
应用管理员,选择需要创建页面的页面,点击菜单按钮,在弹出的菜单中选择对应的操作
a4.配置逻辑
应用管理员,在配置相关页面的时候,系统会默认创建相关页面的逻辑配置入口,选择对应的逻辑配置入口,进入对应的逻辑配置界面,完成相应逻辑处理的配置。
g.应用的分类配置
应用的分类可以通过系统的字典管理进行增减与调整。
h.应用的操作
应用通过卡片式的管理,点击“…”按钮,出现应用编辑、应用权限、应用卸载、删除与发布模板的操作,其中作为系统管理员才能看到“发布模板”的功能。
- 权限:权限设置是对那些用户可以使用这个应用的设置,可以通过角色与人员来设置,如下图所示:
- 卸载:
应用发布后,可以执行卸载应用的操作,卸载应用后,除了应用管理员,其他人员看不见相关应用
- 删除:
- 发布到模板:
发布到模板后,可以通过模板创建应用。
i.应用配置
点击对应应用,跳转到应用配置界面
应有配置界面包含菜单配置与页面配置两大部分
目录配置:
具体页面的设计与操作,点击“...”展开操作菜单,点击设计或者相应操作,进入对应功能页面。
界面可以配置:简单的OA流程、列表页、表单也、数据统计与图形化展示、自定义页面、大屏等。
- 列表页创建与配置
a.列表页配置界面介绍
如下图所示,列表页配置界面包括配置导航菜单,界面配置窗体、页面设置,权限设置,数据设置等
列表设计包含展示数据设置、相关按钮设置
页面设置如图所示,主要是对页面的相关基础信息进行配置。
页面的权限设置页面,目前提供两种模式的权限,一种是使用应用配置的用户权限,即授权给哪些用户,就授权这部分用户都能操作配置的页面。
另外一种是,可以与应用授权不相同,可以独立设置
支持添加权限组,支持多种权限组
添加用户,通过用户选择器,用户选择器为基础框架提供,支持用户、角色、组织构架。
数据设置,基于表单引擎收集的数据触发逻辑引擎以及其他扩展(待上线),以数据提交为边界,支持前置操作与后置操作,即数据提交前可以触发相应逻辑,提交成功后也可以触发相应逻辑。例如数据提交前,做数据业务层的校验,提交后,做日志编写等场景。
b.新建列表页
- 界面可以配置:简单的OA流程、列表页、表单也、数据统计与图形化展示、自定义页面、大屏等。
- 填入页面名称、页面描述、选择图标,点击确定
- 进入列表页配置页面,页面包含页面展示数据项的配置、页面的按钮配置与页面的整体配置,如下图所示:
c.数据项配置
- 点击“新增一行”,系统会增加一个界面上的展现字段,“显示中文名”是界面上的列表页的展现数据项,如图所示:
- 系统新增展示数据后会自动生成对应的数据字段名,支持人工修改。
- 点击设置,可以配置显示字段的相关样式,例如字段宽度,文字颜色等,如图所示:
- 支持查询条件的设置与前后顺序的展示配置。
- 列表页数据字段系统中预留几个字段,创建人、创建时间、修改人、修改时间
d.操作按钮配置
- 按钮是列表页的核心组成部分,按钮分为行级按钮和表级按钮,对应与列表页的配置即行业按钮与顶部按钮,系统自带内置按钮与自定义按钮,如下图所示
- 系统内置了部分常用的按钮:新增、修改、删除、详情、导入、导出的按钮,这些按钮支持详细设计配置
- 按钮支持对应的操作配置的设计,目前支持跳转表单、系统调用地址、外部链接地址、网络请求,后续会扩展逻辑引擎的处理
- 跳转对应设计器,包括网络请求、链接地址、表单等
e.页面配置
系统提供预览、保存、发布、发布到模板的页面级操作
- 对于列表页的显隐,可以使用轻应用的配置权限,也可以独立设置权限,可以灵活设置多种人员选择的模式
- 表单创建与配置
基础工具,数据的填报采集都需要依赖表单来完成。因此,表单也是数据的来源。
表单有多种使用场景,比如列表页中的按钮触发的表单、在审批流程中使用到的表单。
a.表单界面介绍
表单配置包括表单的配置导航、组件列表、工具栏、配置界面、属性配置面板
页面设置,对表单的基本信息进行设置
页面权限
数据设置
b.表单的创建
创建表单/流程表单的方式如下,进入新创建的应用页面管理 >> 选择新建表单/新建流程表单:
c.表单的设计
表单的设计器如下图所示,包含组件区,画布配置区、属性配置区、表单设置区
d.表单组件
表单组件包含四种类型:容器类组件、基础组件、高级组件和扩展组件,组件如图所示:
e.组件属性设置
组件设置,包含基础设置,事件设置,样式设置,校验设置,如下图所示,不同的组建设置的属性可能存在差异
- 数据绑定
选中对应的组建后,在右侧的字段名称处,可以选择列表配置是数据模型的字段,将字段与画布中的组件关联。
- 校验设置
校验设置包含必填校验、数据的正则校验,正则校验的规则在“正则字典”中可以新增配置
- 对组件特殊性控制与展示,可以直接调用后端提供的服务或接口,用于特殊的内容的处理与展示。
可以对后端的服务发起网络请求
对于特殊的回显
f.公式函数
a1.使用场景
- 在填写表单或修改表单数据时,可以让组件的内容根据公式自动计算得出,不需要手动填写,提高填写效率,减少填写错误
- 在表单数据提交后,可以用公式配置业务规则,增删改其他表单的数据
a2.公式函数介绍
公式,可以使该组件的值根据公式自动计算出来,不需要再手动填写。例如:编辑完单价和数量后自动计算总价;填写完出生日期后自动计算年龄。
a3.设置公式函数
目前支持编辑公式的组件有 2 个:「单行文本」、「数值」。
路径:选择组件 >> 事件设置>> 公式设置 >> 编辑公式,如下图
函数公式配置窗如下图所示,包含配置界面、函数列表、参数列表、功能说明窗。
- 表单预览、保存与发布
g.表单样式控制
针对组件的样式,有单列、双列的样式控制,通过对于按钮直接切换
内容提示与内容之间的对齐方式,左对齐、右对齐、顶对齐
通过这只表单展示模式,表单可以是弹出框或者全屏的表单模式
h.权限控制
和其他的配置器一样,页面可以有自定义的权限,也可以使用轻应用的统一权限
- 流程创建与配置
a.流程的创建
当表单需要多人分步骤完成时,或者需要多人对填写数据进行审批时,就需要使用流程表单了。而流程表单和普通表单设置的最大区别,就是流程表单需要进行流程设计。
创建流程时,需要填写流程的名称、流程的分组、流程的图标、流程的终止模式
在流程创建成功后,系统会在流程的申请入口页面,自动生成对应的申请图标
b.设计器的介绍
流程配置器包括节点配置的画布与节点对应的属性设置
c.流程配置
点击“+”按钮,可以设置对应的节点,目前提供审批人、抄送人、分支条件三种类型的组建,后续还会增加其他的组建,比如逻辑引擎的组建
在流程画布中可以快速配置节点
d.节点设置
节点类型 | 作用 |
审批人 | 审批人的职责是处理该节点上的审批任务,需要做出「同意」、「拒绝」等决策,一个流程至少包含一个审批节点 |
执行人 | 执行人不需要作出决策,只需要去执行工作,然后返回流程审批人继续处理,执行人做的工作与审批无关 |
抄送人 | 用于在审批人审批后给抄送人发送消息提醒,抄送人不需要审批和执行 |
分支节点 | 分支节点可以配置更复杂的分支条件,多个条件组合,解决流程分支多、节点多的问题 |
审批节点、抄送节点设置如图,可设置审批节点人员,审批节点对应的表单,这里可以联动表单设计:
分支节点,分支节点可以将一个流程设计分成多个分支,提交数据时满足不同条件执行不同的流程节点。
通过分支节点可以配置更复杂的分支条件,多个条件组合,解决流程分支多、节点多的问题。对比之前,拥有更丰富的提交规则可以支持更多用户所需的场景。
分支条件中的“其他情况”,是在不满足前面配置的条件情况下,再执行的分支
如果满足多个条件,系统将根据配置的先后顺序优先执行第一个分支,执行的顺序控制如图所示:
在统一个分支下,可以设置多个组合判断的规则
e.流程的保存与发布
- 逻辑创建与配置
a.逻辑的介绍
逻辑配置与页面配置不同,逻辑是为了处理某个事项或者某个功能,逻辑引擎常常用于处理界面上配置无法实现的功能,例如接口数据的巡检,账务对账等等。
逻辑引擎的使用往往需要一定技术知识,与其他几个配置引擎有些差异,对底层程序执行要有一定的了解。
b.逻辑引擎界面介绍
逻辑引擎的界面如下图所示,包括逻辑配置导航、组件列表、拖拽化配置画布、属性配置窗
逻辑配置时,将左侧的组建拖拽的方式拖入画布中,通过系统连线链接起来,在右侧配置每个组件的属性,即可完成逻辑的快速配置。
基础设置页面如下图所示,提供基础的名称信息,异步处理、入参等设置。
定时任务触发,后续将支持逻辑的定时任务触发。
执行日志界面如下图所示:每次执行的时候都将记录每次逻辑执行的具体情况,包括时间,处理的过程的日志信息,便于业务逻辑的排查。
逻辑调试界面,在设置为异步执行时,点击调试按钮,系统将展示执行的过程,可展示每个步骤展示执行的结果数据
c.逻辑的创建
逻辑的创建,包含逻辑的名称、逻辑的介绍,逻辑调用的来源,是外部服务或者是内部服务,外部调用与内部调用的差异存在鉴权不同。
在逻辑创建的过程中,可以设置逻辑的定时触发的相应条件,支持周期性触发
d.逻辑的配置
逻辑引擎类似与流程引擎,将事务按照线性方式进行流转,逻辑配置包含逻辑执行的流程配置、流转条件配置、组件属性配置
逻辑组件:即系统中提供的基础的原子能力,这种能力是有开发人员提前编写的,这些组件和应用或者行业密切相关;组件可以是很基础的系统能力,比如“查询数据库的数据”,并返回对应数据,也可以是业务层的逻辑,比如执行一个“员工转正”,这些组件根据业务需求,可以按照使用者的抽象进行扩展。系统中预制了数据处理类、工具类、网络类、业务类等部分组件。
组件配置:不同的组件配置不同,根据开发组件的设计的属性进行配置,例如对mysql数据库的处理组件的配置如图:
e.逻辑的编排
将不同的原子能力通过有机的串联,形成有业务价值的功能集
在执行的线条上,可以设置流转的条件:
f.逻辑执行日志
- 图表设置
a.界面介绍
图表配置界面包括,图表设置、页面基本信息设置、页面权限设置,其中图表设置即所见即所得的设计模式
组件选择
b.数据图表的创建
在表单/流程表单中收集得到的数据,可通过报表来进行查看、分析和处理
c.设计器介绍
设计器顶部包含对整个页面的操作,包括新增组建、设置筛选条件、预览保存等操作;提供支持拖拽化操作的画布区域,右侧提供对应组件的属性配置;
d.组件的类型
目前组件包括图形展示、列表展示、卡片等组件类型,同时组件可以扩展,可以成为业务界面跳转的入口;
e.筛选条件
- 配置数据集中管理
对于应用配置是按照以应用的角度来管理各种配置,对于系统运维管理来讲,按照各种不同引擎配置的结果提供了统一的管理界面。
a.应用管理
b.列表页管理
c.表单页管理
d.图表页管理
e.流程管理
f.逻辑管理
- 私有化部署安装
a.基础安装
- 安装docker、docker-compose
curl -C- -O --retry 3 https://iptables.cn/file/docker/jvs-docker && chmod a+x jvs-docker && ./jvs-docker -I
- 下载项目
直接下载方式 https://gitee.com/software-minister/jvs-docker-compose
- git下载方式:git clone https://gitee.com/software-minister/jvs-docker-compose.git
b.部署项目
- 部署数据库
请将${ip}修改为本地IP
sed -i -e 's/jvs-minio/${ip}/g' ./mysql/nacos.sql
- 部署数据库
docker-compose -f docker-compose-db.yml up -d
- 查看nacos是启动情况
# 程序依赖nacos 请保证能正常访问nacos后 再执行应用部署
curl -X GET 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=jvs-gateway&group=jvs&tenant=jvs'
c.部署应用
部署应用
- 替换主机ip地址
# 应用启动 根据硬件情况而定 请等待几分钟
docker-compose up -d
- 访问后台http://localhost (帐号:admin 密码: admin)
- 访问知识库 http://localhost:8080
- 测试访问nacos http://localhost:8848/nacos
开发套件体验地址:http://frame.bctools.cn/