CN115357252B - 源码文件生成方法、装置、电子设备和存储介质 - Google Patents
源码文件生成方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115357252B CN115357252B CN202211219787.1A CN202211219787A CN115357252B CN 115357252 B CN115357252 B CN 115357252B CN 202211219787 A CN202211219787 A CN 202211219787A CN 115357252 B CN115357252 B CN 115357252B
- Authority
- CN
- China
- Prior art keywords
- source code
- data
- target
- template
- service
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种源码文件生成方法、装置、电子设备和存储介质,涉及低代码平台技术领域。该源码文件生成方法应用于电子设备,且该电子设备中存储有各个编程语言与源码生成模板之间的对应关系,该电子设备接收用户输入的业务数据和目标编程语言,根据该目标编程语言以及该对应关系,确定目标编程语言对应的目标源码生成模板,之后根据该业务数据以及目标源码生成模板,生成目标源码文件。通过该方法,可使低代码平台同时适配多种编程语言,以同时满足使用不同变成语言进行开发的开发人员的需求。
Description
技术领域
本发明涉及低代码平台技术领域,具体而言,涉及一种源码文件生成方法、装置、电子设备和存储介质。
背景技术
目前,开发人员可以通过低代码平台生成具体的业务,但目前的低代码平台往往无法同时适配多种编程语言,因此无法同时满足使用不同编程语言进行开发的开发人员的需求。
发明内容
有鉴于此,本发明的目的在于提供一种源码文件生成方法、装置、电子设备和存储介质,以解决低代码平台无法同时适配多种编程语言,进而无法同时满足使用不同编程语言进行开发的开发人员的需求的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种源码文件生成方法,应用于电子设备,所述电子设备中存储有各个编程语言与源码生成模板之间的对应关系,所述方法包括:
接收用户输入的业务数据和目标编程语言;
根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板;
根据所述业务数据以及所述目标源码生成模板,生成目标源码文件。
在可选的实施方式中,所述根据所述业务数据以及所述目标源码生成模板,生成目标源码文件,包括:
将所述目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;
利用预设的模板引擎,根据所述目标源码生成模板中的业务模板以及所述业务数据生成业务源码,并将所述业务源码添加至所述基础文件,以获得目标源码文件。
在可选的实施方式中,在所述接收用户输入的业务数据和目标编程语言的步骤之后,所述方法还包括:
根据预设的冲突校验条件,确定所述业务数据是否存在数据冲突;
所述根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板,包括:
在所述业务数据不存在数据冲突的情况下,根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板。
在可选的实施方式中,所述业务数据包括业务模型数据、表单组件数据以及页面组件数据,所述业务模型数据包括业务模型字段,所述表单组件数据包括表单组件的关联字段以及表单组件的自定义规则,所述页面组件数据包括页面组件的关联字段以及页面组件的自定义规则,所述根据预设的冲突校验条件,确定所述业务数据是否存在数据冲突,包括:
若所述业务模型字段不关联数据字典或者仅关联一个数据字典、所述表单组件的关联字段与所述业务模型字段匹配、所述页面组件的关联字段与所述业务模型字段匹配、所述表单组件的自定义规则与预设的表单规则匹配、以及所述页面组件的自定义规则与预设的页面规则匹配,则确定所述业务数据不存在数据冲突;
若所述业务模型字段关联多个数据字典,或者所述表单组件的关联字段与所述业务模型字段不匹配,或者所述页面组件的关联字段与所述业务模型字段不匹配,或者所述表单组件的自定义规则与预设的表单规则不匹配,或者所述页面组件的自定义规则与预设的页面规则不匹配,则确定所述业务数据存在数据冲突。
在可选的实施方式中,所述方法还包括:
在所述业务数据存在数据冲突的情况下,输出报错信息。
在可选的实施方式中,在所述根据所述业务数据以及所述目标源码生成模板,生成目标源码文件之后,所述方法还包括:
对所述目标源码文件进行压缩打包,生成目标源码压缩包以便用户下载。
第二方面,本发明提供一种源码文件生成装置,应用于电子设备,所述电子设备中存储有各个编程语言与源码生成模板之间的对应关系,所述装置包括:
接收模块,用于接收用户输入的业务数据和目标编程语言;
确定模块,用于根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板;
生成模块,用于根据所述业务数据以及所述目标源码生成模板,生成目标源码文件。
在可选的实施方式中,所述生成模块,还用于将所述目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;利用预设的模板引擎,根据所述目标源码生成模板中的业务模板以及所述业务数据生成业务源码,并将所述业务源码添加至所述基础文件,以获得目标源码文件。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现前述实施方式任一所述的方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
本发明实施例提供的源码文件生成方法、装置、电子设备和存储介质,在电子设备中存储有各个编程语言与源码生成模板之间的对应关系,电子设备接收用户输入的业务数据和目标编程语言,之后可根据该目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板,之后根据业务数据和该目标源码生成对应的目标源码文件。通过在电子设备中预存各个编程语言与源码生成模板之间的对应关系,可根据用户输入的目标编程语言和该对应关系确定目标源码生成模板,生成该目标编程语言对应的目标源码文件,从而可使低代码平台同时适配多种编程语言,以同时满足使用不同变成语言进行开发的开发人员的需求。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的电子设备的结构示意图;
图2示出了本发明实施例提供的源码文件生成方法的一种流程示意图;
图3示出了本发明实施例提供的源码文件生成方法的另一种流程示意图;
图4示出了本发明实施例提供的源码文件生成方法的再一种流程示意图;
图5示出了本发明实施例提供的源码文件生成装置的功能模块图。
图标:10-电子设备;100-存储器;110-处理器;120-通信模块;200-接收模块;210-确定模块;220-生成模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,是电子设备10的方框示意图。该电子设备10可以是PC端,也可以是移动终端,例如手机、平板等。此外,该电子设备还可以与网络进行连接,则用户可通过访问低代码平台进行相应设置,以生成目标编程语言对应的目标源码文件。
可选地,该电子设备中存储有各个编程语言与源码生成模板之间的对应关系,例如Java与Java源码生成模板之间的对应关系、C语言与C语言源码生成模板之间的对应关系等。
可选地,所述电子设备10包括存储器100、处理器110及通信模块120。所述存储器100、处理器110以及通信模块120各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器100用于存储程序或者数据。所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器110用于读/写存储器中存储的数据或程序,并执行相应地功能。
通信模块120用于通过所述网络建立所述电子设备10与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为电子设备10的结构示意图,所述电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,且该计算机程序被处理器执行时实现本申请实施例提供的源码文件生成方法。
接下来以上述图1中的电子设备10为执行主体,结合流程示意图对本申请实施例提供的源码文件生成方法进行示例性介绍。具体的,图2为本申请实施例提供的源码文件生成方法的一种流程示意图,请参见图2,该方法包括:
步骤S20,接收用户输入的业务数据和目标编程语言;
可选地,用户可在低代码平台根据项目需求,通过鼠标拖拽组件等方式设计前端页面,则该业务数据即为用户所设计的前端页面所包含的数据。
可选地,该低代码平台可以设置有编程语言选择界面,例如编程语言选择框等,以供用户在对前端页面设计完成后,通过该编程语言选择界面选择其熟悉的编程语言作为目标编程语言。
步骤S21,根据目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板;
步骤S22,根据业务数据以及目标源码生成模板,生成目标源码文件。
可选地,电子设备可以根据接收到的目标编程语言和预存的对应关系,确定目标编程语言对应的目标源码生成模板,例如,若用户选择的目标编程语言为Java,则该目标源码生成模板即为Java源码生成模板。
在本实施例中,电子设备可以根据业务数据以及该目标源码生成模板,生成目标源码文件。
本发明实施例提供的源码文件生成方法,在电子设备中存储有各个编程语言与源码生成模板之间的对应关系,电子设备接收用户输入的业务数据和目标编程语言,之后可根据该目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板,之后根据业务数据和该目标源码生成对应的目标源码文件。通过在电子设备中预存各个编程语言与源码生成模板之间的对应关系,可根据用户输入的目标编程语言和该对应关系确定目标源码生成模板,生成该目标编程语言对应的目标源码文件,从而可使低代码平台同时适配多种编程语言,以同时满足使用不同变成语言进行开发的开发人员的需求。
可选地,为了减少下载带宽损耗、减小服务器内存压力,同时便于用户下载目标源码文件,在上述步骤S22之后,电子设备还可以对生成的目标源码文件进行压缩打包,生成目标源码压缩包以便用户下载。
在本实施例中,电子设备可在生成目标源码压缩包之后,释放内部资源,并将该目标源码压缩包通过低代码平台的页面显示,以便用户通过鼠标点击等操作将该目标源码压缩包下载至本地。
可选地,考虑到用户在设计前端页面时,有时会存在业务数据冲突的问题,而业务数据冲突可能会导致电子设备在生成源码文件时频繁报错,从而导致源码文件的生成效率较低。因此,为了避免电子设备在生成源码文件时出现频繁报错,导致源码文件生成效率较低的问题,电子设备可在接收到用户输入的业务数据后,先对该业务数据进行冲突校验,在校验通过后再确定目标源码生成模板以生成目标源码文件。
具体的,在图2的基础上,图3为本申请实施例提供的源码文件生成方法的另一种流程示意图,请参见图3,在上述步骤S20之后,该方法还包括:
步骤S10,根据预设的冲突校验条件,确定业务数据是否存在数据冲突;
可选地,该冲突校验条件用于校验用户输入的业务数据是否存在数据冲突问题,例如前端页面的某些组件是否存在相互冲突的设置规则等。
在此基础上,上述步骤S21还可以通过如下步骤实现:
步骤S21-1,在业务数据不存在数据冲突的情况下,根据目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板。
在本实施例中,电子设备可在接收到用户输入的业务数据之后,首先根据预设的冲突校验条件确定业务数据是否存在数据冲突,之后在业务数据不存在数据冲突的情况下,根据目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板。
在一种可能实现的方式中,用户在设计前端页面时可以包括以下三个方面的设计,即业务模型设计、创建表单以及创建页面。其中,业务模型设计用于项目的数据承载;创建表单指的是基于业务模型,通过拖拽表单组件的方式设计表单的呈现形式;创建页面指的是基于业务模型和表单,通过拖拽页面组件的形式设计页面的展示内容。
基于此,该业务数据可以包括业务模型数据、表单组件数据以及页面组件数据。其中,该业务模型数据包括业务模型字段,该表单组件数据包括表单组件的关联字段以及表单组件的自定义规则,该页面组件数据包括页面组件的关联字段以及页面组件的自定义规则,在此基础上,上述步骤S10还可以通过如下步骤实现:
若业务模型字段不关联数据字典或者仅关联一个数据字典、表单组件的关联字段与业务模型字段匹配、页面组件的关联字段与业务模型字段匹配、表单组件的自定义规则与预设的表单规则匹配、以及页面组件的自定义规则与预设的页面规则匹配,则确定业务数据不存在数据冲突;
若业务模型字段关联多个数据字典,或者表单组件的关联字段与业务模型字段不匹配,或者页面组件的关联字段与业务模型字段不匹配,或者表单组件的自定义规则与预设的表单规则不匹配,或者页面组件的自定义规则与预设的页面规则不匹配,则确定业务数据存在数据冲突。
可选地,表单组件的自定义规则包括表单组件的显隐规则、触发规则等;页面组件的自定义规则包括页面组件的显隐规则、触发规则等。
可选地,该预设的表单规则以及预设的页面规则为事先设置并保存在电子设备内的规则,例如,某些组件必须以显示状态呈现,而不能以隐藏状态呈现等。
可以理解的,该冲突校验条件包括,业务模型字段是否关联多个数据字典、表单组件的关联字段与业务模型字段是否匹配、页面组件的关联字段与业务模型字段是否匹配、表单组件的自定义规则与预设的表单规则是否匹配以及页面组件的自定义规则与预设的页面规则是否匹配。
在本实施例中,电子设备在业务模型字段不关联数据字典或者仅关联一个数据字典、表单组件的关联字段与业务模型字段匹配、页面组件的关联字段与业务模型字段匹配、表单组件的自定义规则与预设的表单规则匹配、以及页面组件的自定义规则与预设的页面规则匹配的情况下,确定业务数据不存在数据冲突,反之则确定业务数据存在数据冲突。
可选地,电子设备可在业务数据存在数据冲突的情况下,输出报错信息,以提醒用户对设计的前端页面进行检查。
可选地,源码生成模板可以包括基础模板以及业务模板,则电子设备可以通过目标源码生成模板中的基础模板和业务模板生成目标源码文件。具体地,在图2的基础上,图4为本申请实施例提供的源码文件生成方法的再一种流程示意图,请参见图4,上述步骤S22还可以通过以下步骤实现:
步骤S22-1,将目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;
可选地,该初始文件即为空白文件;该基础模板包括目标源码文件中的前后端基础架构源码以及公共源码。
在本实施例中,电子设备可事先生成初始文件,之后将目标源码生成模板中的基础模板复制至该初始文件中,获得包含有前后端基础架构源码以及公共源码的基础文件。
步骤S22-2,利用预设的模板引擎,根据目标源码生成模板中的业务模板以及业务数据生成业务源码,并将业务源码添加至基础文件,以获得目标源码文件。
可选地,该预设的模板引擎可以是FreeMarker模板引擎等用于生成输出文本的通用工具;该业务模板用于根据用户输入的业务数据生成对应的业务源码。
在本实施例中,电子设备可以利用预设的模板引擎,根据该业务模板以及用户输入的业务数据生成业务源码,之后该电子设备可将该业务源码添加至包含有前后端基础架构源码以及公共源码的基础文件中,进而获得完整的模板源码文件。
在一个示例中,若用户输入的目标编程语言为Java,则电子设备可以在确定用户输入的业务数据不存在数据冲突之后,根据该目标编程语言和事先存储的各个编程语言与源码生成模板之间的对应关系,确定目标源码生成模板为Java源码生成模板,并生成空白的初始文件。
之后电子设备可将Java源码生成模板中的基础模板复制至该初始文件中,获得包含有Java前后端基础架构源码以及Java公共源码的基础文件,并通过FreeMarker模板引擎,根据Java源码生成模板中的业务模板以及业务数据生成Java业务源码。
具体地,该Java业务源码可以包括电子设备根据业务模型数据生成的dao层代码、entity层代码以及ddl数据定义文件、根据表单组件数据生成的controller、vo、service相关增删改查代码以及dml数据、根据页面组件数据生成的controller、service相关分页查询代码以及dml数据。
则电子设备在生成Java业务源码后,可将该Java业务源码添加至包含有Java前后端基础架构源码以及Java公共源码的基础文件中,从而最终获得目标源码文件。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种源码文件生成装置的实现方式。进一步地,请参阅图5,图5为本发明实施例提供的一种源码文件生成装置的功能模块图。需要说明的是,本实施例所提供的源码文件生成装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该源码文件生成装置包括:接收模块200、确定模块210以及生成模块220。
该接收模块200,用于接收用户输入的业务数据和目标编程语言;
可以理解的,该接收模块200可以执行上述步骤S20;
该确定模块210,用于根据目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板;
可以理解的,该确定模块210可以执行上述步骤S21;
该生成模块220,用于根据业务数据以及目标源码生成模板,生成目标源码文件。
可以理解的,该生成模块220可以执行上述步骤S22。
可选地,该生成模块220,还用于将目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;利用预设的模板引擎,根据目标源码生成模板中的业务模板以及业务数据生成业务源码,并将业务源码添加至基础文件,以获得目标源码文件。
可以理解的,该生成模块220还可以执行上述步骤S22-1~步骤S22-2。
可选地,该接收模块200,还用于根据预设的冲突校验条件,确定业务数据是否存在数据冲突;
可以理解的,该接收模块200还可以执行上述步骤S10;
可选地,该确定模块210,还用于在业务数据不存在数据冲突的情况下,根据目标编程语言以及对应关系,确定目标编程语言对应的目标源码生成模板。
可以理解的,该确定模块210还可以执行上述步骤S21-1。
可选地,该接收模块200,还用于若业务模型字段不关联数据字典或者仅关联一个数据字典、表单组件的关联字段与业务模型字段匹配、页面组件的关联字段与业务模型字段匹配、表单组件的自定义规则与预设的表单规则匹配、以及页面组件的自定义规则与预设的页面规则匹配,则确定业务数据不存在数据冲突;若业务模型字段关联多个数据字典,或者表单组件的关联字段与业务模型字段不匹配,或者页面组件的关联字段与业务模型字段不匹配,或者表单组件的自定义规则与预设的表单规则不匹配,或者页面组件的自定义规则与预设的页面规则不匹配,则确定业务数据存在数据冲突。
可选地,该接收模块200,还用于在业务数据存在数据冲突的情况下,输出报错信息。
可选地,该生成模块220,还用于对目标源码文件进行压缩打包,生成目标源码压缩包以便用户下载。
本申请实施例提供的源码文件生成装置,通过接收模块接收用户输入的业务数据和目标编程语言;通过确定模块根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板;通过生成模块根据所述业务数据以及所述目标源码生成模板,生成目标源码文件。通过在电子设备中预存各个编程语言与源码生成模板之间的对应关系,可根据用户输入的目标编程语言和该对应关系确定目标源码生成模板,生成该目标编程语言对应的目标源码文件,从而可使低代码平台同时适配多种编程语言,以同时满足使用不同变成语言进行开发的开发人员的需求。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器中或固化于该电子设备的操作系统(Operating System,OS)中,并可由图1中的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器中。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种源码文件生成方法,其特征在于,应用于电子设备,所述电子设备中存储有各个编程语言与源码生成模板之间的对应关系,所述方法包括:
接收用户输入的业务数据和目标编程语言;
根据预设的冲突校验条件,确定所述业务数据是否存在数据冲突;
所述业务数据包括业务模型数据、表单组件数据以及页面组件数据,所述业务模型数据包括业务模型字段,所述表单组件数据包括表单组件的关联字段以及表单组件的自定义规则,所述页面组件数据包括页面组件的关联字段以及页面组件的自定义规则,所述根据预设的冲突校验条件,确定所述业务数据是否存在数据冲突,包括:
若所述业务模型字段不关联数据字典或者仅关联一个数据字典、所述表单组件的关联字段与所述业务模型字段匹配、所述页面组件的关联字段与所述业务模型字段匹配、所述表单组件的自定义规则与预设的表单规则匹配、以及所述页面组件的自定义规则与预设的页面规则匹配,则确定所述业务数据不存在数据冲突;
若所述业务模型字段关联多个数据字典,或者所述表单组件的关联字段与所述业务模型字段不匹配,或者所述页面组件的关联字段与所述业务模型字段不匹配,或者所述表单组件的自定义规则与预设的表单规则不匹配,或者所述页面组件的自定义规则与预设的页面规则不匹配,则确定所述业务数据存在数据冲突;根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板;
根据所述业务数据以及所述目标源码生成模板,生成目标源码文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务数据以及所述目标源码生成模板,生成目标源码文件,包括:
将所述目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;
利用预设的模板引擎,根据所述目标源码生成模板中的业务模板以及所述业务数据生成业务源码,并将所述业务源码添加至所述基础文件,以获得目标源码文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板,包括:
在所述业务数据不存在数据冲突的情况下,根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述业务数据存在数据冲突的情况下,输出报错信息。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述业务数据以及所述目标源码生成模板,生成目标源码文件之后,所述方法还包括:
对所述目标源码文件进行压缩打包,生成目标源码压缩包以便用户下载。
6.一种源码文件生成装置,其特征在于,应用于电子设备,所述电子设备中存储有各个编程语言与源码生成模板之间的对应关系,所述装置包括:
接收模块,用于接收用户输入的业务数据和目标编程语言;
所述接收模块,还用于根据预设的冲突校验条件,确定所述业务数据是否存在数据冲突;
所述业务数据包括业务模型数据、表单组件数据以及页面组件数据,所述业务模型数据包括业务模型字段,所述表单组件数据包括表单组件的关联字段以及表单组件的自定义规则,所述页面组件数据包括页面组件的关联字段以及页面组件的自定义规则;
所述接收模块,还用于若所述业务模型字段不关联数据字典或者仅关联一个数据字典、所述表单组件的关联字段与所述业务模型字段匹配、所述页面组件的关联字段与所述业务模型字段匹配、所述表单组件的自定义规则与预设的表单规则匹配、以及所述页面组件的自定义规则与预设的页面规则匹配,则确定所述业务数据不存在数据冲突;若所述业务模型字段关联多个数据字典,或者所述表单组件的关联字段与所述业务模型字段不匹配,或者所述页面组件的关联字段与所述业务模型字段不匹配,或者所述表单组件的自定义规则与预设的表单规则不匹配,或者所述页面组件的自定义规则与预设的页面规则不匹配,则确定所述业务数据存在数据冲突;
确定模块,用于根据所述目标编程语言以及所述对应关系,确定所述目标编程语言对应的目标源码生成模板;
生成模块,用于根据所述业务数据以及所述目标源码生成模板,生成目标源码文件。
7.根据权利要求6所述的装置,其特征在于,所述生成模块,还用于将所述目标源码生成模板中的基础模板复制至预先生成的初始文件中,获得基础文件;利用预设的模板引擎,根据所述目标源码生成模板中的业务模板以及所述业务数据生成业务源码,并将所述业务源码添加至所述基础文件,以获得目标源码文件。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-5任一所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219787.1A CN115357252B (zh) | 2022-10-08 | 2022-10-08 | 源码文件生成方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219787.1A CN115357252B (zh) | 2022-10-08 | 2022-10-08 | 源码文件生成方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115357252A CN115357252A (zh) | 2022-11-18 |
CN115357252B true CN115357252B (zh) | 2022-12-27 |
Family
ID=84007773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211219787.1A Active CN115357252B (zh) | 2022-10-08 | 2022-10-08 | 源码文件生成方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357252B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115774565B (zh) * | 2023-02-10 | 2023-04-18 | 成都数联云算科技有限公司 | 一种单代码仓库建设方法及系统及装置及介质 |
CN116185372B (zh) * | 2023-04-26 | 2023-07-21 | 山东浪潮科学研究院有限公司 | 一种后端源码生成方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
CN107646105A (zh) * | 2015-05-26 | 2018-01-30 | 微软技术许可有限责任公司 | 云计算基础架构 |
CN111258590A (zh) * | 2020-05-06 | 2020-06-09 | 华控清交信息科技(北京)有限公司 | 一种代码执行方法、装置和用于代码执行的装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135976B (zh) * | 2011-11-30 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN104484192B (zh) * | 2015-01-07 | 2017-11-14 | 南威软件股份有限公司 | 一种复杂多分支结构代码自动生成的方法 |
CN106873949A (zh) * | 2015-12-11 | 2017-06-20 | 泰康保险集团股份有限公司 | 代码生成方法及其装置 |
US10545730B2 (en) * | 2018-05-07 | 2020-01-28 | Red Hat, Inc. | Automatically generating code for application programming interfaces |
CN109857745A (zh) * | 2019-02-20 | 2019-06-07 | 平安科技(深圳)有限公司 | 数据库操作控制方法、装置、计算机设备和存储介质 |
CN110109697B (zh) * | 2019-04-03 | 2023-08-18 | 北京旷视科技有限公司 | 神经网络模型的sdk输出方法、装置、电子设备及存储介质 |
CN111443909B (zh) * | 2020-03-23 | 2023-09-29 | 北京百度网讯科技有限公司 | 用于生成页面的方法及装置 |
CN111427578B (zh) * | 2020-04-15 | 2023-08-29 | 赞同科技股份有限公司 | 一种数据转换方法、装置及设备 |
CN113934412A (zh) * | 2020-07-14 | 2022-01-14 | 北京奇虎科技有限公司 | 程序生成方法、装置、设备及存储介质 |
CN112527286A (zh) * | 2020-12-17 | 2021-03-19 | 平安消费金融有限公司 | 业务代码的生成方法、装置、计算机设备及存储介质 |
CN114924771A (zh) * | 2022-06-16 | 2022-08-19 | 平安科技(深圳)有限公司 | 非覆盖更新代码方法、装置、设备及介质 |
-
2022
- 2022-10-08 CN CN202211219787.1A patent/CN115357252B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237136B1 (en) * | 1997-12-02 | 2001-05-22 | National Instruments Corporation | System and method for automatically creating source code example files for an application program in a plurality of programming languages |
CN107646105A (zh) * | 2015-05-26 | 2018-01-30 | 微软技术许可有限责任公司 | 云计算基础架构 |
CN111258590A (zh) * | 2020-05-06 | 2020-06-09 | 华控清交信息科技(北京)有限公司 | 一种代码执行方法、装置和用于代码执行的装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115357252A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115357252B (zh) | 源码文件生成方法、装置、电子设备和存储介质 | |
CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
CN109857389B (zh) | 模型数据生成方法、装置、计算机设备及存储介质 | |
CN109062572B (zh) | 一种组件调用方法、装置、设备及存储介质 | |
CN110688145B (zh) | Android MVP代码自动生成方法、装置、介质、电子设备 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN114047970A (zh) | 一种autosar架构软件的配置方法及系统 | |
CN110737431B (zh) | 软件开发方法、开发平台、终端设备及存储介质 | |
CN110633258B (zh) | 日志插入方法、装置、计算机装置及存储介质 | |
CN111008017A (zh) | 一种基于oclint的待提交文件预审方法及相关组件 | |
CN113094776B (zh) | 可视化组件模型数据构建的方法、系统及电子设备 | |
CN108959508B (zh) | Sql数据生成方法及装置 | |
CN116628141B (zh) | 信息处理方法、装置、设备及存储介质 | |
CN117194389A (zh) | 基于sql的数据库兼容方法和装置、电子设备和存储介质 | |
US20060143207A1 (en) | Cyrillic to Latin script transliteration system and method | |
CN117406995A (zh) | 一种代码编写的辅助方法、在线代码编辑器、设备及介质 | |
CN112256252B (zh) | 接口生成方法、装置、存储介质及电子设备 | |
CN116466927A (zh) | 批处理任务的代码生成方法、系统、电子设备及存储介质 | |
CN110532526A (zh) | 数据转化方法、电子装置及计算机可读存储介质 | |
KR102480375B1 (ko) | 문서들 간에 연동 적합성을 검증하는 시스템 및 방법 | |
CN112748915B (zh) | 一种基于StimulSoft的动态扩展业务函数的方法及设备 | |
CN113312025B (zh) | 组件库生成方法及装置、存储介质、电子设备 | |
CN113590057A (zh) | 一种自定义小票打印方法、引擎、设备及存储介质 | |
KR20220035610A (ko) | 파이프라인 기반의 기계 학습 통합 플랫폼 제공 시스템 및 방법 |
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 |