一种数据转换方法、装置、电子设备及存储介质与流程

文档序号:36326854发布日期:2023-12-09 16:56阅读:47来源:国知局
一种数据转换方法与流程

本申请实施例涉及软件开发,尤其涉及一种数据转换方法、装置、电子设备及存储介质。


背景技术:

1、在现代软件开发中,前端开发通常涉及创建和维护用户界面,包括网站的布局、设计和交互功能。而后端开发则涉及处理数据和业务逻辑,负责服务器端的处理和数据库管理。前后端分离开发已经是一种通用的软件开发架构模式。前后端分离开发将前后端职责分离,使得前端和后端开发各自独立出来,提高开发效率;并以模块化开发的方式,做到高度可扩展、协同开发、支持跨平台。

2、虽然前后端分离开发有如此多的优点,但是还是避免不了的降低了前后端数据通信的可靠性。而在与后端进行接口联调的同时,前端开发人员需要重复验证后端返回的数据格式,这不仅降低了开发效率,而且还带来了线上故障的风险。


技术实现思路

1、本申请提供一种数据转换方法、装置、电子设备及存储介质,以vite插件的形式拓展vite的功能,使用babel工具识别代码中的接口返回的数据,并且在代码将引用到的数据强制转换成安全数据,减少开发人员人工复核代码时间,降低因接口数据格式不符合预期而导致的代码运行错误及生产故障,增强前端项目接口安全性。

2、第一方面,本申请实施例提供了一种数据转换方法,所述方法包括:

3、通过vite插件对原始文件进行过滤,获取到需要进行安全引用代码转换的项目文件;

4、使用babel工具将所述项目文件解析成抽象语法树ast对象;

5、将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象;

6、基于所述修改后的ast对象将所述项目文件转换为目标文件。

7、第二方面,本申请实施例还提供了一种数据转换装置,所述装置包括:获取模块、解析模块、修改模块和转换模块;其中,

8、所述获取模块,用于通过vite插件对原始文件进行过滤,获取到需要进行安全引用代码转换的项目文件;

9、所述解析模块,用于使用babel工具将所述项目文件解析成ast对象;

10、所述修改模块,用于将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象;

11、所述转换模块,用于基于所述修改后的ast对象将所述项目文件转换为目标文件。

12、第三方面,本申请实施例提供了一种电子设备,包括:

13、一个或多个处理器;

14、存储器,用于存储一个或多个程序,

15、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的数据转换方法。

16、第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的数据转换方法。

17、本申请实施例提出了一种数据转换方法、装置、电子设备及存储介质,先通过vite插件对原始文件进行过滤,获取到需要进行安全引用代码转换的项目文件;然后使用babel工具将所述项目文件解析成ast对象;再将ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象;最后基于修改后的ast对象将项目文件转换为目标文件。也就是说,在本申请的技术方案中,使用babel工具识别javascript代码中后端接口数据的引用,并将代码中引用后端接口数据强制转换成安全的数据,这样可以降低因接口数据格式不符合预期而导致的代码运行错误和生产故障,从而增强前端项目的接口安全性。同时,结合vite强大的插件能力,可以按需转换项目中的javascript文件,以满足用户的个性化要求。而在现有技术中,在将前端与后端进行接口联调时,前端开发人员需要重复验证后端返回的数据格式,这不仅降低了开发效率,而且还带来了线上故障的风险。因此,和现有技术相比,本申请实施例提出的数据转换方法、装置、电子设备及存储介质,可以减少开发人员人工复核代码时间,降低因接口数据格式不符合预期而导致的代码运行错误及生产故障,增强前端项目接口安全性;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。



技术特征:

1.一种数据转换方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象,包括:

3.根据权利要求2所述的方法,其特征在于,基于所有的等待表达式节点,将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象,包括:

4.根据权利要求3所述的方法,其特征在于,基于所有的变量标识符号,将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象,包括:

5.根据权利要求4所述的方法,其特征在于,基于所述使用了引用变量标识符的完整的成员表达式节点或者可选成员表达式节点,将所述ast对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的ast对象,包括:

6.根据权利要求2所述的方法,其特征在于,对所述ast对象进行遍历,查找出所有的异步类型函数节点,包括:

7.根据权利要求3所述的方法,其特征在于,在每一项等待表达式节点对应的最近的声明变量语句节点中提取出所有的变量标识符,包括:

8.一种数据转换装置,其特征在于,所述装置包括:获取模块、解析模块、修改模块和转换模块;其中,

9.一种电子设备,其特征在于,包括:

10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的数据转换方法。


技术总结
本申请公开了一种数据转换方法、装置、电子设备及存储介质;该方法包括:通过vite插件对原始文件进行过滤,获取到需要进行安全引用代码转换的项目文件;使用Babel工具将项目文件解析成抽象语法树AST对象;将AST对象中的每一项表达式节点修改为可选成员表达式节点,得到修改后的AST对象;基于修改后的AST对象将项目文件转换为目标文件。本申请实施例以vite插件的形式拓展vite的功能,使用Babel工具识别代码中的接口返回的数据,并且在代码将引用到的数据强制转换成安全数据,减少开发人员人工复核代码时间,降低因接口数据格式不符合预期而导致的代码运行错误及生产故障,增强前端项目接口安全性。

技术研发人员:陈荣辉,孙勇军,王志伟,周斌
受保护的技术使用者:上海识装信息科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1