基于Web应用表达式的实现方法及系统、设备和存储介质技术方案

技术编号:34528912 阅读:13 留言:0更新日期:2022-08-13 21:20
本发明专利技术提供了一种基于Web应用表达式的实现方法及系统、设备和存储介质。其中基于Web应用的表达式实现方法具体包括:响应于用户输入的表达式,选中需要进行操作的表达式进行解析,获取表达式的解析结果;提取表达式对应的字符串写入解析结果中执行数据解释,根据数据解释结果,遍历数据解释后的表达式的数据类型,获取编辑器的待补全变量类型,根据待补全变量类型和预设类型方法,获取表达式的代码补全提示信息;根据补全提示信息实现代码补全。通过本申请提出的技术方案,可以支持响应式数据变更、实现代码的自动补全,进一步提升了开发人员的开发效率。发人员的开发效率。发人员的开发效率。

【技术实现步骤摘要】
基于Web应用表达式的实现方法及系统、设备和存储介质


[0001]本专利技术涉及计算机
,特别是涉及基于Web应用表达式的实现方法及系统、设备和存储介质。

技术介绍

[0002]低代码开发模式是近年来流行的一种企业软件快速开发技术和工具,凭借其低门槛、高效率和易集成等特性,受到越来越多软件开发团队与企业的青睐,并应用于多种场景中。适用于低代码开发的领域以客户端应用为主,而在不同的客户端形态中,又以Web客户端应用最为广泛。通过图形化配置绝大部分应用逻辑之后,仍然可以通过编写少量代码的形式完善应用逻辑,并应用于多种场景中。适用于低代码开发的领域以客户端应用为主,而在不同的客户端形态中,又以Web客户端应用最为广泛。因此目前已有的Web低代码应用开发方案均不同程度的支持编写、嵌入JavaScript代码片段。
[0003]现有技术中,低代码应用中有更为清晰的数据状态管理,编写JavaScript代码片段的方式为直接输入,而客户端在应用开发中,一般存在响应式数据变更的需求,JavaScript代码片段的直接输入,不支持响应式的表达式输入及数据变更,代码自动补全能力弱也就无法使用户获得最佳开发效率。例如地,当填写一个表单时,表单的校验结果随填写过程不断更新,这一需求在低代码开发中还缺少好的实现方式,许多产品的实现只支持编写单一合法JavaScript表达式,不支持内嵌进,限制了代码片段的灵活性。

技术实现思路

[0004]根据现有技术中面临低代码开发过程代码补全能力弱,不支持响应式数据变更等问题,本专利技术提供了一种基于Web应用表达式的实现方法和系统、设备和存储介质。
[0005]在本申请的第一方面提供了一种基于Web应用表达式的实现方法,具体包括:
[0006]响应于用户输入的表达式,表达式至少包括若干个字符串;
[0007]选中需要进行操作的表达式进行解析,获取表达式的解析结果;
[0008]提取表达式对应的字符串写入解析结果中执行数据解释,返回数据解释结果;
[0009]根据数据解释结果,遍历数据解释后的表达式的数据类型,获取编辑器的待补全变量类型,编辑器配置有集数据源,集数据源包括支持编辑器补全的变量集数据源和函数集数据源;
[0010]根据待补全变量类型和预设类型方法,获取表达式的代码补全提示信息;
[0011]根据补全提示信息实现代码补全。
[0012]在上述第一方面的一种可能的实现中,响应于用户输入的表达式包括:
[0013]获取用户输入的表达式的访问数据类型列表,建立表达式与Web应用的状态数据之间的依赖关系表;
[0014]基于依赖关系表响应于用户输入的表达式。
[0015]在上述第一方面的一种可能的实现中,
[0016]选中需要进行操作的表达式进行解析包括:
[0017]获取用于解析预设字符串的预设解析规则,预设字符串包括零个或者多个输入的表达式;
[0018]根据预设解析规则,依次将预设字符串解析为对应的常规字符串和/或动态表达式。
[0019]在上述第一方面的一种可能的实现中,提取表达式对应的字符串写入解析结果中执行数据解释包括:
[0020]根据表达式中的数据搭建沙盒环境,在沙盒环境中生成用于执行数据解释的容器,以获取表达式对应的字符串的数据解释的结果。
[0021]在上述第一方面的一种可能的实现中,提取表达式对应的字符串写入解析结果中执行数据解释还包括:
[0022]建立状态数据与用户输入的表达式之间的订阅关系;
[0023]根据订阅关系更新表达式对应的数据解析的数据解释。
[0024]在上述第一方面的一种可能的实现中,遍历数据解释后的表达式的数据类型,获取编辑器的待补全变量类型包括:
[0025]构建出变量集数据源与函数集数据源类型对应的关系图表,关系图表的起点边界处包括第一类型特征;
[0026]根据第一类型特征依次获取终点边界处的第二类型特征,生成为表达式的待补全变量类型。
[0027]在上述第一方面的一种可能的实现中,预设类型方法支持待补全变量类型。
[0028]本申请的第二方面提供了一种基于Web应用表达式的实现系统,应用于前述表达式的实现方法中,其特征在于,包括:
[0029]响应单元:用于响应于用户输入的表达式,表达式至少包括若干个字符串;
[0030]解析单元,用于根据选中需要进行操作的表达式进行解析,获取表达式的解析结果;
[0031]解释单元,用于提取表达式对应的字符串写入解析结果中执行数据解释,返回数据解释结果;
[0032]获取单元,用于根据数据解释结果,遍历数据解释后的表达式的数据类型,获取编辑器的待补全变量类型,集数据源包括支持编辑器补全的变量集数据源和函数集数据源;
[0033]补全提示单元,用于根据待补全变量类型和预设类型方法,获取表达式的代码补全提示信息;
[0034]实现单元,用于根据补全提示信息实现代码补全。
[0035]本申请的第三方面提供了一种电子设备,包括:
[0036]存储器,存储器用于存储处理程序;
[0037]处理器,处理器执行处理程序时实现如前述的基于Web应用表达式的实现方法。
[0038]本申请的第四方面提供了一种可读存储介质,包括:可读存储介质上存储有处理程序,处理程序被处理器执行时实现如前述的基于Web应用表达式的实现方法。
[0039]本申请提出的技术方案,具备以下有益技术效果:
[0040]当客户端应用开发过程中,通过建立用户输入的表达式与数据源集之间的对应关
系,建立依赖关系表,实现支持用户响应式的表达式的输入,实时获取用户表达式的更新,实现表达式的实时解析和解释;通过对输入的表达式进行数据解析和解释,获取表达式的解释结果,根据数据解释的结果获取编辑器的待补全变量类型,开发人员根据待补全变量类型及预设类型方法实现编辑器代码的补全,支持响应式数据变更、实现代码的自动补全,进一步提升了开发人员的开发效率。
附图说明
[0041]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0042]图1根据本申请实施例,示出了一种基于Web应用表达式的实现方法的流程示意图;
[0043]图2根据本申请实施例,示出了一种基于Web应用表达式的实现系统的框图。
具体实施方式
[0044]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0045]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Web应用表达式的实现方法,其特征在于,所述的方法包括:响应于用户输入的表达式,所述表达式至少包括若干个字符串;选中需要进行操作的所述表达式进行解析,获取所述表达式的解析结果;提取所述表达式对应的所述字符串写入所述解析结果中执行数据解释,并返回数据解释结果;根据所述数据解释结果,遍历数据解释后的所述表达式的数据类型,获取编辑器的待补全变量类型,所述编辑器配置有集数据源,所述集数据源包括支持所述编辑器补全的变量集数据源和函数集数据源;根据所述待补全变量类型和预设类型方法,获取所述表达式的代码补全提示信息;根据所述补全提示信息实现代码补全。2.根据权利要求1所述的一种基于Web应用表达式的实现方法,其特征在于,响应于用户输入的表达式包括:获取用户输入的所述表达式的访问数据类型列表,建立所述表达式与所述Web应用的状态数据之间的依赖关系表;基于所述依赖关系表响应于所述用户输入的所述表达式。3.根据权利要求1所述的一种基于Web应用表达式的实现方法,其特征在于,选中需要进行操作的所述表达式进行解析包括:获取用于解析预设字符串的预设解析规则,所述预设字符串包括零个或者多个输入的所述表达式;根据所述预设解析规则,依次将所述预设字符串解析为对应的常规字符串和/或动态表达式。4.根据权利要求2所述的一种基于Web应用表达式的实现方法,其特征在于,提取所述表达式对应的字符串写入所述解析结果中执行数据解释包括:根据所述表达式中的数据搭建沙盒环境,在所述沙盒环境中生成用于执行数据解释的容器,以获取所述表达式对应的所述字符串的数据解释的结果。5.根据权利要求2所述的一种基于Web应用表达式的实现方法,其特征在于,提取所述表达式对应的字符串写入所述解析结果中执行数据解释还包括:建立所述状态数据与所述用户输入的表达式之间的订阅关系;根据所述订阅关系更新所述表达式...

【专利技术属性】
技术研发人员:余彦臻徐文豪王弘毅张凯
申请(专利权)人:北京志凌海纳科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1