CN115576858B - 针对低代码前端应用的业务动作执行系统及可读存储介质 - Google Patents

针对低代码前端应用的业务动作执行系统及可读存储介质 Download PDF

Info

Publication number
CN115576858B
CN115576858B CN202211570142.2A CN202211570142A CN115576858B CN 115576858 B CN115576858 B CN 115576858B CN 202211570142 A CN202211570142 A CN 202211570142A CN 115576858 B CN115576858 B CN 115576858B
Authority
CN
China
Prior art keywords
instruction
module
execution engine
execution
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211570142.2A
Other languages
English (en)
Other versions
CN115576858A (zh
Inventor
苏楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Whale Cloud Technology Co Ltd
Original Assignee
Whale Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Whale Cloud Technology Co Ltd filed Critical Whale Cloud Technology Co Ltd
Priority to CN202211570142.2A priority Critical patent/CN115576858B/zh
Publication of CN115576858A publication Critical patent/CN115576858A/zh
Application granted granted Critical
Publication of CN115576858B publication Critical patent/CN115576858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了针对低代码前端应用的业务动作执行系统及可读存储介质,该系统包括调试器单元和抽象指令执行引擎单元;所述调试器单元,用于提供标准化的事件通信协议及识别,并对执行引擎的状态信息进行收集和日志记录;所述抽象指令执行引擎单元,用于屏蔽具体JavaScript技术栈的实现,以标准化的函数定义规定最小动作执行单位,并以异步函数循环的形式运行。本发明提出了低代码技术实现时对于事件动作指令的标准化方法,并基于此方法提供了一种调试系统,调试系统与低代码编排出的应用通过通信模块进行事件信息交互,当应用执行最小动作单元时将由本发明的调试器发出中断信号,以方便进行单步调试。

Description

针对低代码前端应用的业务动作执行系统及可读存储介质
技术领域
本发明涉及软件开发技术领域,具体来说,涉及针对低代码前端应用的业务动作执行系统及可读存储介质。
背景技术
随着前端技术发展,低代码编辑器及低代码应用发展迅猛,已存在诸多商业应用及编辑器。对于页面展示而言,现有低代码技术已经达到较为满意的效果,但对于业务功能和界面交互,则存在运行逻辑各异,针对范围不同、针对客户也不同,导致低代码应用在配置业务功能时极难同时达成使用友好度和最大化扩展性。即现有技术主要存在以下问题:
1)对于不同使用人员的交互配置门槛不统一。低代码编辑器应用目前存在两种常见用户,一种是有一定程度前端开发经验的人员,另一种是倾向于业务需求而没有前端开发经验的需求人员/设计师等。对于前者,在业务功能/界面交互的配置下直接编写JavaScript是可以接受的,但对于后者是完全不能接受,提高了使用门槛;如果在配置下使用封装过的固定动作,对于具备前端开发经验的人员又显得过于笨重,可扩展性差。
2)实际应用的调试成本较高:由于低代码应用的底层技术框架各有差异,难以像常规前端应用一样通过浏览器原生的devTools定位到具体功能模块的逻辑代码,而如果使用封装形式的固定动作配置,由于业务功能的部分根本不存在对应的原生devTools可以读取的JavaScript代码,则几乎无法在浏览器原生的devTools里调试。
虽然在配置应用时用户可以通过在浏览器devTools输出日志、输出debugger语句来弥补不足,但是这必然需要用户修改低代码应用的页面配置,需要用户在诸多位置配置输出日志,并且不同浏览器的devTools表现各异,使得调试体验不统一、也需要分别学习,而输出debugger这样的方式也无法解决封装后的固定动作无法直接进行JavaScript调试的问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出针对低代码前端应用的业务动作执行系统及可读存储介质,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的一个方面,针对低代码前端应用的业务动作执行系统,其特征在于,该系统包括调试器单元和抽象指令执行引擎单元;
所述调试器单元,用于提供标准化的事件通信协议及识别,并对执行引擎的状态信息进行收集和日志记录;
所述抽象指令执行引擎单元,用于屏蔽具体JavaScript技术栈的实现,以标准化的函数定义规定最小动作执行单位,并以异步函数循环的形式运行。
进一步的,所述调试器单元包括事件通信模块、指令序识别模块及日志收集模块;
所述事件通信模块,用于提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信;
所述指令序识别模块,用于感知当前执行引擎的执行状况;
所述日志收集模块,用于记录并处理由所述事件通信模块和所述指令序识别模块得到的信息,供调试工具展示。
进一步的,所述抽象指令执行引擎单元包括标准指令定义模块、指令函数生成模块及指令序调度模块;
所述标准指令定义模块,用于提供JavaScript函数实例、屏蔽具体JavaScript框架实现的标准化接口及转换功能;
所述指令函数生成模块,用于给低代码技术实现的应用提供可重复调用的JavaScript函数实例;
所述指令序调度模块,用于提供具体抽象指令执行过程,并提供在同步、异步、条件分支和提前跳出场景的指令序列调度与跳转功能。
进一步的,所述提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信中采用的通信方式包括同窗口内JSON事件派发与跨域窗口的postMessage方式。
进一步的,所述感知当前执行引擎的执行状况包括以下步骤:
通过事件通信模块获取当前执行引擎正在执行的指令,并在此模块内部维护对应的执行堆栈;
当调试工具(devTools)触发断点、条件断点、监听表达式等操作时,指令序识别模块需取出对应位置的指令ID;
比对当前执行引擎指令,若符合,则发送中断信号和上下文获取请求至指令抽象指令执行引擎单元。
进一步的,所述记录并处理由所述事件通信模块和所述指令序识别模块得到的信息,供调试工具展示包括以下步骤:
记录每一条指令操作的具体时间及其索引;
如遇报错或与执行引擎相关系统信息时,则以指令ID为键值进行保存,并缓存至浏览器本地LocalStorage缓存内。
进一步的,所述标准化的函数定义包括使用TypeScript实现、执行特定逻辑的JavaScript函数。
进一步的,所述可重复调用的JavaScript函数实例包括其内部缓存传入的动作指令序,动作指令序为标准函数定义实现,其内部会模拟原生JavaScript上下文的概念,其返回形式为异步Promise对象。
进一步的,所述指令函数生成模块通过既定的JSON报文格式,生成所述的可重复调用的JavaScript函数实例;
所述JSON报文内容主要包括所需执行的标准指令序列及需要模拟的上下文对象信息。
如遇报错或与执行引擎相关系统信息时,则以指令ID为键值进行保存,并缓存至浏览器本地LocalStorage缓存内。
根据本发明的另一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有针对低代码前端应用的业务动作执行程序,所述针对低代码前端应用的业务动作执行程序可被一个或者多个处理器执行,以实现上述针对低代码前端应用的业务动作执行系统的操作。
本发明的有益效果为:
1、本发明在实际低代码应用中使用的标准化抽象指令执行引擎来完全承担低代码应用页面交互的业务功能职责,低代码应用在组件交互上的配置单位和实际页面在进行业务交互时的运行单位均为本发明所述的标准化指令,能够以更加贴近具体业务的粒度来进行配置,并同时提供了对应的调试功能,企业低代码平台对客户的业务支持可以有效专注于标准指令,可以用任意技术栈替换具体指令的内部实现,而大幅度降低低代码应用调用时受到底层技术栈变动的影响;同时对应的调试器使用户无须接触到具体JavaScript实现,就可对执行流程进行业务功能调试,降低了用户的使用门槛,并且使得调试可以在不改动原始低代码应用配置的前提下实现。
2、本发明针对低代码技术实现的前端应用的标准化抽象指令执行引擎及调试器,本发明可以作为SDK复用到应用系统中并可由调用方自定义扩展指令集合和做对接,可以标准化业务动作,排除不同JavaScript技术栈的干扰,并能在无需对低代码应用额外配置的前提下,进行接近于原生JavaScript源码支持的调试功能,快速使用和开放相关服务,解决了低代码应用在业务动作配置及调试上的使用难题,实现企业业务的快速支撑。
3、本发明提出了低代码技术实现时对于事件动作指令的标准化方法,并基于此方法提供了一种调试系统,调试系统与低代码编排出的应用通过通信模块进行事件信息交互,当应用执行最小动作单元时将由本发明的调试器发出中断信号,以方便进行单步调试。
4、本发明通过通信服务模块与通过低代码编辑器编排出的应用交互并进行跟踪调试,解决了以非JavaScript源码方式配置交互逻辑的低代码应用,无法适用浏览器标准调试工具导致难以调试,且必须修改配置信息才能调试的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的针对低代码前端应用的业务动作执行系统的原理框图;
图2是根据本发明实施例的针对低代码前端应用的业务动作执行系统执行引擎与调试器的工作流程示意图。
图中:
1、调试器单元;11、事件通信模块;12、指令序识别模块;13、日志收集模块;2、抽象指令执行引擎单元;21、标准指令定义模块;22、指令函数生成模块;23、指令序调度模块。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
根据本发明的实施例,提供了针对低代码前端应用的业务动作执行系统及可读存储介质。
以下就本发明中涉及的缩略语进行解释说明如下:
postMessage:postMessage 方法是网页超文本应用技术工作小组(WHATWG)在HTML规范内规定的浏览器标准通信方法,该方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议,端口号,以及主机时,这两个脚本才能相互通信。postMessage 方法提供了一种受控机制来规避此限制。postMessage已经得到了浏览器的完全支持,在所有的浏览器上均可应用该技术。
Promise:Promise对象是ECMAScript(欧洲计算机协会制定的JS规范)在2015年6月提出的ECMAScript6规范中规定的JavaScript内置对象,该对象用于表示一个异步操作的最终完成(或失败)及其结果值。
TypeScript:TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成;TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。
LocalStorage:Web Storage API提供的一种机制,使浏览器能以一种比使用Cookie更直观的方式存储键/值对。LocalStorage的标准特征是它会将存储的数据固化于客户机浏览器中,即使客户关闭浏览器或刷新浏览器窗口,其数据也会一直保留,直至被主动删除;LocalStorage已经得到了浏览器的广泛支持,在几乎所有的浏览器上均可应用该技术。
JSON:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript(欧洲计算机协会制定的JS规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。
现结合附图和具体实施方式对本发明进一步说明,如图1-图2所示,根据本发明实施例的针对低代码前端应用的业务动作执行系统,该系统包括调试器单元1和抽象指令执行引擎单元2;
所述调试器单元1,用于提供标准化的事件通信协议及识别,并对执行引擎的状态信息进行收集和日志记录;
具体的,所述调试器单元包括事件通信模块11、指令序识别模块12及日志收集模块13;
所述事件通信模块11,用于提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信;
其中,所述提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信中采用的通信方式包括同窗口内JSON事件派发与跨域窗口的postMessage方式,这些通信方式均基于浏览器的统一规范实现,本实施例规定了一种事件通信的标准通信格式,用JSON表示如下:
{
msg:`指令自定义提示信息`,
type:'error',//消息的类型
err:e2,//如果本次消息里包含一个错误,这是错误对象
cmd,//对应指令数据的引用
createDate:new Date(),//本次通信触发时刻
}
该JSON报文格式为本实施例可正常工作所需的最低限度,可按照实际需求进行扩展;
所述devTools需要额外开发,也不在本实施例的限制内,低代码应用的配置系统可按其需求自行开发devTools的页面,但该devTools需要支持上述对应通信方式并能处理上述事件通信报文。
所述指令序识别模块12,用于感知当前执行引擎的执行状况;
其中,所述指令序识别模块12其能接受指令序调度模块23的执行信号,对当前指令执行状态进行信息记录或发送中断信号;
其中,所述感知当前执行引擎的执行状况包括以下步骤:
通过事件通信模块11获取当前执行引擎正在执行的指令,并在此模块内部维护对应的执行堆栈;
当devTools触发断点、条件断点、监听表达式等操作时,指令序识别模块需取出对应位置的指令ID;
比对当前执行引擎指令,若符合,则发送中断信号和上下文获取请求至指令抽象指令执行引擎单元。
所述日志收集模块13,用于记录并处理由所述事件通信模块和所述指令序识别模块得到的信息,供调试工具展示;
其中,所述记录并处理由所述事件通信模块11和所述指令序识别模块12得到的信息,供调试工具展示包括以下步骤:
记录每一条指令操作的具体时间及其索引;
如遇报错或与执行引擎相关系统信息时,则以指令ID为键值进行保存,并缓存至浏览器本地LocalStorage缓存内。
所述抽象指令执行引擎单元2,用于屏蔽具体JavaScript技术栈的实现,以标准化的函数定义规定最小动作执行单位,并以异步函数循环的形式运行。
其中,所述标准化的函数定义包括使用TypeScript实现、执行特定逻辑的JavaScript函数;
具体的,所述抽象指令执行引擎单元包括标准指令定义模块21、指令函数生成模块22及指令序调度模块23;
所述标准指令定义模块21,用于提供JavaScript函数实例、屏蔽具体JavaScript框架实现的标准化接口及转换功能;
具体的,标准指令定义是由TypeScript实现的、具备固定出入参形式的异步函数;
本实施例内该函数的接口定义如下:
interface CommandFunction{
(CommandObject,TopParam:any,Context:any):
Promise<CommandFunctionReturn|null|void>
}
interface CommandFunctionReturn{
callback:string,//callback指回调字段如'callback1'
finally:string,//finally指一定会执行的回调字段,如'callback1'
addparam:any,//addparam指需要存放在topparam里的额外数据(这样后续执行指令可以从topparam内获取到)
elseIf:number,//限ifelse命令使用,当结果需要指向else分支时,表示这个else分支的索引号
stopCMD:'success'|'fail',//是否从这个指令开始停止后续指令执行,success表示正常返回(只是为了返回值也使用这个)fail表示错误(会导致指令系统Promise.reject)
returnValue:any,//stopCMD存在时才有意义,表示整个指令递归执行函数的返回值
}
每一条标准指令均由满足上述接口的TypeScript文件构成,具体的指令内容可根据低代码应用本身的对应场景进行业务抽象。为保证与其他原生JavaScript技术实现的应用的兼容性,执行特定类型指令与特定网络请求时,指令内可实现一个JavaScript沙盒用于处理自定义的配置表达式,这些配置表达式用于请求参数或数据引用。JavaScript沙盒不是本发明的限制内容。
由于实际的低代码应用都具有属于自己的组件库,组件库可以由不同的前端技术栈实现,且具备不同的调用API,这些调用API需要包装成对象传入标准指令定义模块,然后就可在标准指令内进行调用。
所述指令函数生成模块22,用于给低代码技术实现的应用提供可重复调用的JavaScript函数实例;
所述指令函数生成模块22通过既定的JSON报文格式,生成所述的可重复调用的JavaScript函数实例;
所述JSON报文内容主要包括所需执行的标准指令序列及需要模拟的上下文对象信息;
其中,所述可重复调用的JavaScript函数实例包括其内部缓存传入的动作指令序,动作指令序为标准函数定义实现,其内部会模拟原生JavaScript上下文的概念,其返回形式为异步Promise对象;
具体的,业务动作配置可以得到一个树形结构的指令序,指令序由多条标准指令的定义构成,指令函数生成模块在接收到指令序后,要将其处理并生成一个可实际执行的JavaScript函数实例,该实例可供低代码应用本身在任意位置调用,以实现执行指令序里标准指令的功能。
所述指令序调度模块23,用于提供具体抽象指令执行过程,并提供在同步、异步、条件分支和提前跳出场景的指令序列调度与跳转功能;
具体的,指令序调度模块23其能接受一套既定的指令序列,形成树形的调用堆栈结构,并能在内部处理条件分支、跳出和异步回调;
所述指令序调度过程需要还原类似于原生JSON的上下文作用域环境,供单一标准指令调用,且要处理单一标准指令执行结果,分析条件分支及后续执行分支、响应调试断点;
其中,所述指令序调度模块23所述指令函数生成模块22生成的函数实例内部实际承担执行职责,当指令函数被调用,先前记录的指令序将进入指令序调度模块23进行逐行执行,如果指令里存在条件分支(ifelse)、跳出返回(return)等特定类型指令,则需要进行对应的指令序调度,取出对应分支的子指令序继续执行,并在该子指令序执行完毕后,返回到原有指令序的执行位置,继续往下执行;
在这个过程中,每执行一条指令前后需要与调试器模块发起通信,将指令的当前执行状态报告给调试器单元1,若调试器单元1发送了断点请求或监视表达式的事件通信报文,则要检查当前指令序和当前上下文的状况。如果当前存在断点列表或条件断点列表,并且当前指令符合断点列表内,或者当前上下文数据满足条件断点的条件,则暂停当前指令执行,将当前上下文信息通过事件通信模块发送给调试器;
若当前存在数据源监视表达式列表,则同时需要把对应的上下文信息进行可读化处理,发送给调试器单元1;
当前指令的暂停执行,需要等待直到调试器单元1给出释放事件后,再继续执行当前指令。
根据本发明的另一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有针对低代码前端应用的业务动作执行程序,所述针对低代码前端应用的业务动作执行程序可被一个或者多个处理器执行,以实现上述针对低代码前端应用的业务动作执行系统的操作。
本发明计算机可读存储介质具体实施方式与上述系统实施例基本相同,在此不作累述。
可选地,在其他实施例中,针对低代码前端应用的业务动作执行程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器中,并由一个或多个微处理器(本实施例为处理器)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述针对低代码前端应用的业务动作执行程序在电子装置中的执行过程。综上所述,借助于本发明的上述技术方案,本发明在实际低代码应用中使用的标准化抽象指令执行引擎来完全承担低代码应用页面交互的业务功能职责,低代码应用在组件交互上的配置单位和实际页面在进行业务交互时的运行单位均为本发明所述的标准化指令,能够以更加贴近具体业务的粒度来进行配置,并同时提供了对应的调试功能,企业低代码平台对客户的业务支持可以有效专注于标准指令,可以用任意技术栈替换具体指令的内部实现,而大幅度降低低代码应用调用时受到底层技术栈变动的影响;同时对应的调试器使用户无须接触到具体JavaScript实现,就可对执行流程进行业务功能调试,降低了用户的使用门槛,并且使得调试可以在不改动原始低代码应用配置的前提下实现。
本发明针对低代码技术实现的前端应用的标准化抽象指令执行引擎及调试器,本发明可以作为SDK复用到应用系统中并可由调用方自定义扩展指令集合和做对接,可以标准化业务动作,排除不同JavaScript技术栈的干扰,并能在无需对低代码应用额外配置的前提下,进行接近于原生JavaScript源码支持的调试功能,快速使用和开放相关服务,解决了低代码应用在业务动作配置及调试上的使用难题,实现企业业务的快速支撑。本发明提出了低代码技术实现时对于事件动作指令的标准化方法,并基于此方法提供了一种调试系统,调试系统与低代码编排出的应用通过通信模块进行事件信息交互,当应用执行最小动作单元时将由本发明的调试器发出中断信号,以方便进行单步调试。本发明通过通信服务模块与通过低代码编辑器编排出的应用交互并进行跟踪调试,解决了以非JavaScript源码方式配置交互逻辑的低代码应用,无法适用浏览器标准调试工具导致难以调试,且必须修改配置信息才能调试的问题。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等执行本发明各个实施例所述的方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.针对低代码前端应用的业务动作执行系统,其特征在于,该系统包括调试器单元和抽象指令执行引擎单元;
所述调试器单元,用于提供标准化的事件通信协议及识别,并对执行引擎的状态信息进行收集和日志记录;
所述抽象指令执行引擎单元,用于屏蔽具体JavaScript技术栈的实现,以标准化的函数定义规定最小动作执行单位,并以异步函数循环的形式运行;
所述抽象指令执行引擎单元包括标准指令定义模块、指令函数生成模块及指令序调度模块;
所述标准指令定义模块,用于提供JavaScript函数实例、屏蔽具体JavaScript框架实现的标准化接口及转换功能;
所述指令函数生成模块,用于给低代码技术实现的应用提供可重复调用的JavaScript函数实例;
所述指令序调度模块,用于提供具体抽象指令执行过程,并提供在同步、异步、条件分支和提前跳出场景的指令序列调度与跳转功能;
所述可重复调用的JavaScript函数实例包括其内部缓存传入的动作指令序,动作指令序为标准函数定义实现,其内部会模拟原生JavaScript上下文的概念,其返回形式为异步Promise对象。
2.根据权利要求1所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述调试器单元包括事件通信模块、指令序识别模块及日志收集模块;
所述事件通信模块,用于提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信;
所述指令序识别模块,用于感知当前执行引擎的执行状况;
所述日志收集模块,用于记录并处理由所述事件通信模块和所述指令序识别模块得到的信息,供调试工具展示。
3.根据权利要求2所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述提供事件响应和绑定机制,供调试器与抽象指令执行引擎进行通信中采用的通信方式包括同窗口内JSON事件派发与跨域窗口的postMessage方式。
4.根据权利要求2所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述感知当前执行引擎的执行状况包括以下步骤:
通过事件通信模块获取当前执行引擎正在执行的指令,并在此模块内部维护对应的执行堆栈;
当调试工具触发断点、条件断点、监听表达式操作时,指令序识别模块需取出对应位置的指令ID;
比对当前执行引擎指令,若符合,则发送中断信号和上下文获取请求至指令抽象指令执行引擎单元。
5.根据权利要求2所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述记录并处理由所述事件通信模块和所述指令序识别模块得到的信息,供调试工具展示包括以下步骤:
记录每一条指令操作的具体时间及其索引;
如遇报错或与执行引擎相关系统信息时,则以指令ID为键值进行保存,并缓存至浏览器本地LocalStorage缓存内。
6.根据权利要求1所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述标准化的函数定义包括使用TypeScript实现、执行特定逻辑的JavaScript函数。
7.根据权利要求1所述的针对低代码前端应用的业务动作执行系统,其特征在于,所述指令函数生成模块通过既定的JSON报文格式,生成所述的可重复调用的JavaScript函数实例;
所述JSON报文内容主要包括所需执行的标准指令序列及需要模拟的上下文对象信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有针对低代码前端应用的业务动作执行程序,所述针对低代码前端应用的业务动作执行程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述针对低代码前端应用的业务动作执行系统的操作。
CN202211570142.2A 2022-12-08 2022-12-08 针对低代码前端应用的业务动作执行系统及可读存储介质 Active CN115576858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211570142.2A CN115576858B (zh) 2022-12-08 2022-12-08 针对低代码前端应用的业务动作执行系统及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211570142.2A CN115576858B (zh) 2022-12-08 2022-12-08 针对低代码前端应用的业务动作执行系统及可读存储介质

Publications (2)

Publication Number Publication Date
CN115576858A CN115576858A (zh) 2023-01-06
CN115576858B true CN115576858B (zh) 2023-03-21

Family

ID=84590387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211570142.2A Active CN115576858B (zh) 2022-12-08 2022-12-08 针对低代码前端应用的业务动作执行系统及可读存储介质

Country Status (1)

Country Link
CN (1) CN115576858B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579586A (zh) * 2020-12-23 2021-03-30 平安普惠企业管理有限公司 数据处理方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008035250A (ja) * 2006-07-28 2008-02-14 Fujitsu Ltd 情報提供サービス制御システム
EP2894903B1 (en) * 2014-01-13 2021-02-24 Alcatel Lucent Bearer offload in dual connectivity operation
CN105843878B (zh) * 2016-03-17 2019-04-26 杭州优云软件有限公司 一种it系统事件标准化实现方法
CN110059794A (zh) * 2018-01-18 2019-07-26 北京京东金融科技控股有限公司 人机识别方法及装置、电子设备、存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579586A (zh) * 2020-12-23 2021-03-30 平安普惠企业管理有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115576858A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
EP2368189B1 (en) Debugging pipeline
CN111176629A (zh) 一种应用开发的方法和装置
US8495593B2 (en) Method and system for state machine translation
CN112486786B (zh) 一种调用链路追踪方法及装置
CN109918310A (zh) 一种建模平台接口测试方法
CN115639980A (zh) 一种低代码平台可拖拽的前端逻辑编排方法及装置
WO2023082654A1 (zh) 一种业务交互图生成方法、装置、设备及存储介质
CN113419969B (zh) 基于浏览器插件的界面自动化成功率保障方法
CN110134380B (zh) 一种基于模板引擎的代码生成方法、装置及电子设备
CN115576858B (zh) 针对低代码前端应用的业务动作执行系统及可读存储介质
CN110045952B (zh) 代码调用方法与装置
CN111258802A (zh) 捕获应用程序崩溃信息的方法及相关设备
WO2020057265A1 (en) Method and system for chat function development, terminal and computer readable storage medium
CN115509913A (zh) 软件自动化测试方法、装置、机器可读介质及设备
US20220050669A1 (en) Representing asynchronous state machine in intermediate code
CN110674355B (zh) 描述数据标注任务的dsl应用系统及其方法
CN109308256B (zh) 一种java程序动态分析方法、设备和存储介质
CN113448874A (zh) 一种单元测试脚本的生成方法及装置
Liu A formal object-oriented test model for testing Web applications
CN117354114B (zh) 一种基于云原生架构的数据服务发布方法和系统
CN116009836B (zh) 基于脚本语言的rpa编程方法、装置、设备及存储介质
CN116414607A (zh) 应用程序的故障排查方法及装置
CN117056197A (zh) 数据处理方法、装置、设备及存储介质
CN113703769A (zh) 一种cli命令执行方法及相关装置
CN111708526A (zh) 一种新型的api撰写方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant