当前位置: 首页 > article >正文

JVS低代码逻辑引擎多种业务场景触发案例配置:涵盖列表页按钮、表单数据、流程审批、外部API接口调用等

逻辑引擎作为JVS低代码开发套件的核心组件,专注于业务逻辑的快速构建与实现,它扮演着程序配置与执行的核心角色,适用于多样化的应用场景。该逻辑引擎设计灵活,能够通过多种配置方式被触发,以精准响应各类业务需求并实现相应功能。

逻辑引擎设计的逻辑体支持多种触发执行的方式,确保能够灵活适应不同的业务场景需求。这些触发方式包括但不限于事件驱动(界面上的点击操作或者业务事件)、定时调度(定时的任务触发)、API调用(三方的系统http调用)、响应消息触发等,每种方式都旨在高效、准确地启动逻辑执行流程。

逻辑引擎是一种专门设计用于拖拽化实现业务功能的引擎组件,它能够根据用户输入的表达式精确计算出相应的值。在诸多实际应用场景中,逻辑引擎广泛应用于规则判断、决策支持、数据加工转换、及业务功能执行等领域,展现出强大的适应性与普适性。

如上图所示的逻辑引擎架构,在复杂的业务系统中,存在着多种业务触发事件,如申请提交、信息回填、系统定时数据处理等,这些事件构成了业务动作的关键节点。逻辑引擎的核心功能在于,当这些业务触发事件发生时,能够高效地实现数据处理自动化流程。此过程强调灵活性与可配置性,降低操作的技术门槛,确保用户能够便捷地根据实际需求调整和优化处理逻辑。

下面,我们就每个调用入口给大家展示下。

列表页按钮触发

列表页的按钮是可以触发逻辑的,选择逻辑后,点击设计进入列表页设计器,找到按钮的相关设置,选择按钮触发的类型“逻辑”,那么实现的结果相当于用户点击这个按钮,就触发对应的逻辑执行。这种场景逻辑设计常常用于对列表页的数据处理,比如批量处理、或者对模型的操作(可以对整个模型,或者模型中的某一条数据)。

①:进入列表页的设计器中

②:添加一个自定义按钮

③:设置按钮触发的类型:“逻辑”

④:点击“设置”可以进入到这个逻辑的 具体设计器之中(所见即所得)

表单数据变动触发

表单页提交数据后的触发,主要用于CRUD之外的业务逻辑触发,常常用于跨数据模型的数据修改等场景,如下图所示

①:根据业务需求找到对应的表单

②:进入对应表单的数据设置页面

③:可以在这个表单提交的按钮点击触发之前设置逻辑,这里称为前置逻辑

④:可以在表单提交按钮点击完成之后触发逻辑,这里称为后置逻辑

⑤:可以设置逻辑是否启用,勾选复选框表示逻辑是否启用。

表单数据录入时失去焦点触发

在很多数据录入的场景中,用户在表单填写数据后,系统为了加速体验的响应,组件失去焦点后自动触发的逻辑,这种常来作为以外部数据接口调用,做远程数据联动或者数据校验等等,例如三要素校验、本地黑名单查询等场景。

①:进入表单设计后,引入对应的数据录入组件

②:在表单的设置面板中,找到交互设置--失焦触发,勾选启用

③:可以设置系统中已经有的逻辑

④:可以重新创建一个新的逻辑

表单提交按钮时触发

提交表单往往 会触发当前主从表单的CRUD,但是实际的场景中需要跟多的业务逻辑,例如触发打印模板、触发另外无相关的业务模型的数据处理。

进入数据设置界面,可以通过前置逻辑设置和或者逻辑设置进行设计逻辑:

表单数据回显触发

有些场景中,常常需要进入表单的时候,要显示对应的一些基础数据,用于表单数据的特殊回显数据,相当于在逻辑端拼装好数据并回显到表单之上。配置的方式如下图所示,通过表单的数据回显进行配置,点击回显设置可以触发逻辑的配置:

流程执行过程中触发

在业务配置的场景里,为实现业务流程的自动化,通常需要在流程引擎中嵌入触发逻辑。如下图所示,在流程审批的环节中,我们增设了一个自动处理环节,此步骤能够调用逻辑引擎来执行多种自动化业务的任务,包括但不限于数据处理或调用外部接口等各种业务场景,从而实现了人工业务与自动化业务的相互调用。

流程审批过程中同意/拒绝时触发

在审批流程中,当用户进行同意或拒绝的操作时,系统将触发执行附加的业务逻辑,以支持多样化的流程辅助业务功能,那么实现的方式在 审批相关的按钮点击以后自动触发对应的逻辑功能

设置定时任务自动触发

通过应用设置定制任务,由定时任务自动触发逻辑执行,可以是周期性的循环执行,那么常常用于每日数据汇总日切、接口的状态巡检等等。

外部API接口调用触发

通过外部api调用逻辑引擎,实现逻辑引擎 的能力被其他应用调用。

开源框架:https://gitee.com/software-minister/jvs

在线demo:https://frame.bctools.cn


http://www.kler.cn/a/534155.html

相关文章:

  • 一文讲解Spring如何解决循环依赖
  • C++ 学习:深入理解 Linux 系统中的冯诺依曼架构
  • PyQt6/PySide6 的 QLineEdit 类
  • Linux 的 sysfs 伪文件系统介绍【用户可以通过文件操作与内核交互(如调用内核函数),而无需编写内核代码】
  • PHP XML操作指南
  • 刷题汇总一览
  • Cookie及Session---笔记
  • Java面试题基础篇3:10道基础面试题
  • 安装和卸载RabbitMQ
  • 基于Javascript的封装、方法重载、构造方法
  • 【ArcGIS Pro简介2】
  • 1. Kubernetes组成及常用命令
  • DeepSeek 与 ChatGPT 对比分析
  • Linux 常用命令与实战教程
  • HTTP请求响应周期步骤
  • 基于Ubuntu2404搭建Zabbix7.2
  • 1. 初识spark
  • 在 Spring Boot 项目中,bootstrap.yml 和 application.yml文件区别
  • 智慧楼宇的监控都用上3D形式了,2D要摒弃了。
  • 电脑开机提示按f1原因分析及终极解决方法来了
  • 【力扣】49.字母异位词分组
  • 消费kafka消息示例
  • 100.6 AI量化面试题:如何评估AI量化模型的过拟合风险?
  • 【Elasticsearch】Geo-distance聚合
  • 如何查看docker的containers 那个日志最大
  • Apache HttpClient