JVS低代码逻辑引擎多种业务场景触发案例配置:涵盖列表页按钮、表单数据、流程审批、外部API接口调用等
逻辑引擎作为JVS低代码开发套件的核心组件,专注于业务逻辑的快速构建与实现,它扮演着程序配置与执行的核心角色,适用于多样化的应用场景。该逻辑引擎设计灵活,能够通过多种配置方式被触发,以精准响应各类业务需求并实现相应功能。
逻辑引擎设计的逻辑体支持多种触发执行的方式,确保能够灵活适应不同的业务场景需求。这些触发方式包括但不限于事件驱动(界面上的点击操作或者业务事件)、定时调度(定时的任务触发)、API调用(三方的系统http调用)、响应消息触发等,每种方式都旨在高效、准确地启动逻辑执行流程。

逻辑引擎是一种专门设计用于拖拽化实现业务功能的引擎组件,它能够根据用户输入的表达式精确计算出相应的值。在诸多实际应用场景中,逻辑引擎广泛应用于规则判断、决策支持、数据加工转换、及业务功能执行等领域,展现出强大的适应性与普适性。
如上图所示的逻辑引擎架构,在复杂的业务系统中,存在着多种业务触发事件,如申请提交、信息回填、系统定时数据处理等,这些事件构成了业务动作的关键节点。逻辑引擎的核心功能在于,当这些业务触发事件发生时,能够高效地实现数据处理自动化流程。此过程强调灵活性与可配置性,降低操作的技术门槛,确保用户能够便捷地根据实际需求调整和优化处理逻辑。
下面,我们就每个调用入口给大家展示下。
列表页按钮触发
列表页的按钮是可以触发逻辑的,选择逻辑后,点击设计进入列表页设计器,找到按钮的相关设置,选择按钮触发的类型“逻辑”,那么实现的结果相当于用户点击这个按钮,就触发对应的逻辑执行。这种场景逻辑设计常常用于对列表页的数据处理,比如批量处理、或者对模型的操作(可以对整个模型,或者模型中的某一条数据)。

①:进入列表页的设计器中
②:添加一个自定义按钮
③:设置按钮触发的类型:“逻辑”
④:点击“设置”可以进入到这个逻辑的 具体设计器之中(所见即所得)
表单数据变动触发
表单页提交数据后的触发,主要用于CRUD之外的业务逻辑触发,常常用于跨数据模型的数据修改等场景,如下图所示

①:根据业务需求找到对应的表单
②:进入对应表单的数据设置页面
③:可以在这个表单提交的按钮点击触发之前设置逻辑,这里称为前置逻辑
④:可以在表单提交按钮点击完成之后触发逻辑,这里称为后置逻辑
⑤:可以设置逻辑是否启用,勾选复选框表示逻辑是否启用。
表单数据录入时失去焦点触发
在很多数据录入的场景中,用户在表单填写数据后,系统为了加速体验的响应,组件失去焦点后自动触发的逻辑,这种常来作为以外部数据接口调用,做远程数据联动或者数据校验等等,例如三要素校验、本地黑名单查询等场景。

①:进入表单设计后,引入对应的数据录入组件
②:在表单的设置面板中,找到交互设置--失焦触发,勾选启用
③:可以设置系统中已经有的逻辑
④:可以重新创建一个新的逻辑
表单提交按钮时触发
提交表单往往 会触发当前主从表单的CRUD,但是实际的场景中需要跟多的业务逻辑,例如触发打印模板、触发另外无相关的业务模型的数据处理。

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

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

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

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

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

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

开源框架:https://gitee.com/software-minister/jvs
在线demo:https://frame.bctools.cn
相关文章:
JVS低代码逻辑引擎多种业务场景触发案例配置:涵盖列表页按钮、表单数据、流程审批、外部API接口调用等
逻辑引擎作为JVS低代码开发套件的核心组件,专注于业务逻辑的快速构建与实现,它扮演着程序配置与执行的核心角色,适用于多样化的应用场景。该逻辑引擎设计灵活,能够通过多种配置方式被触发,以精准响应各类业务需求并实现…...
开发人员笔记本
为开发人员推荐大容量且性能稳定的电脑时,需考虑处理器、内存、存储、显卡和散热等因素。以下是几款适合开发的高性能电脑推荐: 1. Apple MacBook Pro 16英寸 (M2 Max/M2 Pro) 处理器: Apple M2 Max 或 M2 Pro内存: 32GB 或 64GB 统一内存存储: 1TB 或…...
RabbitMQ 从入门到精通:从工作模式到集群部署实战(一)
#作者:闫乾苓 文章目录 RabbitMQ简介RabbitMQ与VMware的关系架构工作流程RabbitMQ 队列工作模式及适用场景简单队列模式(Simple Queue)工作队列模式(Work Queue)发布/订阅模式(Publish/Subscribeÿ…...
计算机网络笔记再战——理解几个经典的协议4
目录 IP——网际协议 IP地址 1. A类地址 2. B类地址 3. C类地址 4. D类地址(组播地址) 5. E类地址(保留地址) 特殊地址与私有地址 广播地址 IP多播 子网掩码 传统分类与CIDR/VLSM的对比 路由控制 默认路由 主机路由…...
Java CountDownLatch 用法和源码解析
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
深度学习在文本情感分析中的应用
引言 情感分析是自然语言处理(NLP)中的一个重要任务,旨在识别和提取文本中的主观信息。随着深度学习技术的发展,我们可以使用深度学习模型来提高情感分析的准确性和效率。本文将介绍如何使用深度学习进行文本情感分析,…...
C++编码规范(六)关于C++标准库STL在使用中的一些规范和建议
C 标准库STL是 C 编程语言的重要组成部分,为开发者提供了丰富的功能和工具,极大地提高了开发效率和代码的可移植性。 其主要包括:标准容器库,输入 / 输出流库,算法库,迭代器库,字符串库…...
两种文件类型(pdf/图片)打印A4半张纸方法
环境:windows10、Adobe Reader XI v11.0.23 Pdf: 1.把内容由横排变为纵排: 2.点击打印按钮: 3.选择打印页范围和多页: 4.内容打印在纸张上部 图片: 1.右键图片点击打印: 2.选择打印类型: 3.打印配置&am…...
Vue3状态管理: Pinia使用技巧与最佳实践
Vue3状态管理: Pinia使用技巧与最佳实践 随着Web应用复杂度的提升,前端状态管理变得愈发重要。而在Vue3中,Pinia作为一种全新的状态管理工具,为我们提供了更加灵活和强大的状态管理解决方案。本文将从Pinia的基本概念入手,深入探讨…...
stm32点灯 GPIO的输出模式
目录 1.选择RCC时钟 2.SYS 选择调试模式 SW 3.GPIO 配置 4.时钟树配置( 默认不变)HSI 高速内部时钟8Mhz 5.项目配置 6.代码 延时1s循环LED亮灭 1.选择RCC时钟 2.SYS 选择调试模式 SW 3.GPIO 配置 4.时钟树配置( 默认不变)…...
K8S运行时切换-从Docker到Containerd的切换实战
1. 切换的原因 性能提升:Containerd通过减少抽象层提升了整体性能。 安全性增强:它提供了更直接的系统调用,减少了潜在的安全风险。 简化架构:Containerd拥有更简洁的设计,使得维护和故障排除更为容易。 官方支持趋…...
腾讯会议win7二维码展示不出来
问题:win64更新后二维码展示不出来,手机等登陆都不行 安装所在位置创建文档命名TBSDEBUG并去掉后缀...
swift 专题三 swift 规范一
一、Swift编码命名规范 对类、结构体、枚举和协议等类型的命名应该采用大驼峰法,如 SplitViewController。 文件名采用大驼峰法,如BlockOperation.swift。 对于扩展文件,有时扩展定义在一个独立的文件中,用“原始类型名 扩展名…...
WPS计算机二级•幻灯片放映与会议
听说这是目录哦 放映PPT时常用的快捷技巧🥬设置放映模式🥕演讲备注的添加和隐藏🫚在PPT中插入附件并放映时打开🫛隐藏幻灯片 不被放映和打印🍄🟫演讲计时模式🥦能量站😚 放映PPT时…...
联想拯救者开机进入bios
如果你的联想拯救者(Lenovo Legion)笔记本电脑开机后直接进入 BIOS 设置界面,可能是以下原因之一导致的。以下是解决方法: 1. 检查启动顺序 进入 BIOS 后,找到 Boot(启动)选项卡。检查启动顺序…...
云原生周刊:K8s引领潮流
开源项目推荐 KWOK KWOK(Kubernetes WithOut Kubelet)是一个开源项目,旨在提供一个轻量级的 K8s 集群模拟环境,允许用户在不依赖真实节点的情况下,本地模拟整个 K8s 集群。它通过模拟 Kubelet 和其他集群组件的行为&…...
FBX SDK的使用:基础知识
Windows环境配置 FBX SDK安装后,目录下有三个文件夹: include 头文件lib 编译的二进制库,根据你项目的配置去包含相应的库samples 官方使用案列 动态链接 libfbxsdk.dll, libfbxsdk.lib是动态库,需要在配置属性->C/C->预…...
计算机网络笔记再战——理解几个经典的协议6——TCP与UDP
目录 先说端口号 TCP 使用序号保证顺序性和应答来保证有效性 超时重传机制 TCP窗口机制 UDP 路由协议 协议分类:IGP和EGP 几个经典的路由算法 RIP OSPF 链路状态数据库(LSDB) LSA(Link State Advertisement࿰…...
Android 单例模式:实现可复用数据存储
引言 在 Java 开发中,我们经常会遇到需要在整个应用程序中共享数据的场景。例如,配置信息、缓存数据等,这些数据需要在不同的模块或类中被访问和使用。为了确保数据的一致性和避免重复创建,我们可以使用单例模式来实现一个可复用的…...
【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制
【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制 一. 数据同步 在之前的学习中有了副本Replica的概念,解决了数据备份的问题。我们还需要面临一个设计难题即:如何处理分区中Leader与Follwer节点数据同步不匹配问题所带来的风险,这也是保证数据高可用的…...
【Linux】curl命令详解
【Linux】curl命令详解 【一】curl命令介绍【1】curl命令简介【2】curl命令的基本语法【3】常用的curl命令选项【4】常用的curl命令参数 【二】curl命令示例用法【1】下载文件【2】发送 POST 请求【3】发送请求时附加头部信息【4】请求方法【5】指定用户名和密码进行身份验证【…...
创建模态框和非模态框
主要的精简代码就这些 #include <QDialog>// 创建模态框 QDialog dialog(this); // 添加各种部件 // ... // 因为创建在栈上面,所以需要阻止程序继续运行 dialog.exec();// 非模态框 QDialog dialog new Dialog(this); // 添加各种部件 // ... dialog.show(…...
电商用户画像数据可视化分析
电商用户画像数据可视化分析 作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论&am…...
Vue3.5常用特性整理
Vue3.5 发布已近半年,抽空整理下常用的新增/改动特性 响应式 Props 解构 Vue3.5 中 Props 正式支持解构了,并添加了响应式跟踪 设置默认值 使用 JavaScript 原生的默认值语法声明 props 默认值 以前 const props withDefaults(defineProps<{ co…...
Android Studio:Application 和 Activity的区别
Application 和 Activity 是 Android 中非常重要的两个组件,它们分别负责不同的生命周期管理和应用的不同层次的操作。 Application 是应用级别的生命周期管理,它在整个应用运行时只有一个实例,负责应用的全局初始化和资源管理。Activity 是…...
深入解析“Self-Contained”——从技术到日常的全方位应用
深入解析“Self-Contained”——从技术到日常的全方位应用 一、引言 在阅读技术文档、编程指南或产品说明时,你可能经常看到 self-contained 这个短语。例如: Our end goal is a self-contained project containing two parts. https://howistart.org/p…...
2024年12月 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试
202412 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试 一、单选题(共25题,共50分) 第 1 题 点击下列哪个按钮,可以将红框处的程序放大?( ) A. B. C. D. 标…...
llama.cpp GGML Quantization Type
llama.cpp GGML Quantization Type 1. GGML Quantization Type2. static const struct ggml_type_traits type_traits[GGML_TYPE_COUNT]3. Q#_K_M and Q#_KReferences 什么神仙妖魔,不过是他们禁锢异族命运的枷锁! GGUF https://huggingface.co/docs/hu…...
【深度学习框架】MXNet(Apache MXNet)
MXNet(Apache MXNet)是一个 高性能、可扩展 的 开源深度学习框架,支持 多种编程语言(如 Python、R、Scala、C 和 Julia),并能在 CPU、GPU 以及分布式集群 上高效运行。MXNet 是亚马逊 AWS 官方支持的深度学…...
游戏引擎学习第87天
当直接使用内存时,可能会发生一些奇怪的事情 在直接操作内存时,一些意外的情况可能会发生。由于内存实际上只是一个大块的空间,开发者可以完全控制它,而不像高级语言那样必须遵守许多规则,因此很容易发生错误。在一个…...
