本申请涉及数据处理领域及金融科技领域,应用于互联网金融产品的设计稿智能生成代码的场景中,尤其涉及一种代码自动化生成方法、系统、计算机设备及存储介质。
背景技术:
1、现如今,在互联网蓬勃发展的背景下,金融与互联网融合进入了互联网金融时代。一个互联网金融产品的完整研发流程,一般需要产品设计师和开发工程师共同参与,通过两者的合作将产品需求转化为代码。
2、然而,基于互联网金融产品对于人们个人财产安全的重要程度,在其开发过程中就需要严谨对待,避免出现错漏。按照传统的合作方式,设计侧和开发侧在研发流程的初期就需要反复确认产品需求,并且在研发流程的中期需要频繁进行沟通,除此之外,在研发流程的后期,设计侧可能存在团队间标准不统一、设计规范不同步的问题,以及开发侧可能存在代码重复开发、ui还原度低的问题,这些问题导致了互联网金融产品在研发完成之后时常会出现验收满意度较低的情况。
3、因此,采用上述的合作方式进行研发,容易因沟通效率低而导致研发效率降低,从而拉长产品的研发周期,增加人力成本、物力成本和时间成本的额外损耗。
技术实现思路
1、本申请实施例的目的在于提出一种代码自动化生成方法、系统、计算机设备及存储介质,其主要目的在于缩短互联网金融产品的研发周期,实现降本增效。
2、为了解决上述技术问题,本申请实施例提供一种代码自动化生成方法,采用了如下所述的技术方案:
3、获取携带有若干图层元信息的设计稿文件,并对所述图层元信息进行预处理,得到预处理后的初始数据;
4、根据所述初始数据,生成规范协议;
5、根据预设的布局算法对所述初始数据进行布局优化,得到代码结构表达数据;
6、根据所述规范协议和所述代码结构表达数据,生成代码元数据;
7、对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码。
8、进一步的,所述布局算法包括空间布局算法和投影布局算法,所述根据预设的布局算法对所述初始数据进行布局优化,得到代码结构表达数据的步骤,具体包括:
9、对所述初始数据进行数据结构转换,得到第一结构数据;
10、采用所述空间布局算法,通过flexbox模型对所述第一结构数据进行行列分割推导,确定所述第一结构数据的空间分布;
11、采用所述投影布局算法,为行列分割推导完成的第一结构数据填充box-shadow属性,得到所述第二结构数据;
12、根据预设的样式计算流程对所述第二结构数据进行样式计算,得到所述代码结构表达数据。
13、进一步的,所述根据所述规范协议和所述代码结构表达数据,生成代码元数据的步骤,具体包括:
14、获取所述代码结构表达数据对应的字节流;
15、按照所述规范协议对所述字节流进行解析和封包,得到所述代码元数据。
16、进一步的,所述根据所述初始数据,生成规范协议的步骤,具体包括:
17、根据所述初始数据建立标准化规则;
18、将所述标准化规则转换为所述规范协议。
19、进一步的,所述对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码的步骤,具体包括:
20、对所述代码元数据的各个元素节点进行节点描述,以添加各个所述元素节点对应的语义组合,得到所述节点描述数据;
21、根据所述节点描述数据进行代码生成,得到所述页面代码。
22、进一步的,所述获取携带有若干图层元信息的设计稿文件,并对所述图层元信息进行预处理,得到预处理后的初始数据的步骤,具体包括:
23、获取所述设计稿文件,对所述设计稿文件进行数据加工,得到待处理图层信息;
24、对所述待处理图层信息进行信息提取和图层筛选,得到所述初始数据。
25、进一步的,在所述对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码的步骤之后,还包括:
26、接收开发者对应的用户端发出的操作指令;
27、响应于所述操作指令,对所述页面代码进行调试,得到调试后的开发代码。
28、为了解决上述技术问题,本申请实施例还提供一种代码自动化生成系统,采用了如下所述的技术方案:
29、预处理模块,用于获取携带有若干图层元信息的设计稿文件,并对所述图层元信息进行预处理,得到预处理后的初始数据;
30、第一生成模块,用于根据所述初始数据,生成规范协议;
31、布局优化模块,用于根据预设的布局算法对所述初始数据进行布局优化,得到代码结构表达数据;
32、第二生成模块,用于根据所述规范协议和所述代码结构表达数据,生成代码元数据;
33、第三生成模块,用于对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码。
34、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
35、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的代码自动化生成方法的步骤。
36、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
37、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的代码自动化生成方法的步骤。
38、与现有技术相比,本申请实施例主要有以下有益效果:
39、本申请公开的代码自动化生成方法,通过获取携带有若干图层元信息的设计稿文件,并对所述图层元信息进行预处理,得到预处理后的初始数据;根据所述初始数据,生成规范协议;根据预设的布局算法对所述初始数据进行布局优化,得到代码结构表达数据;根据所述规范协议和所述代码结构表达数据,生成代码元数据;对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码。本申请通过智能化地提取原始的设计稿文件中的相关数据,并生成标准化的规范协议和结构化的数据描述,最终实现了由设计稿文件到页面代码的自动转换,利用中间语言确保了设计侧和开发侧的无障碍沟通,缩短了互联网金融产品的研发周期,提高了研发效率,降低了人力成本、物力成本和时间成本的损耗。
1.一种代码自动化生成方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的代码自动化生成方法,其特征在于,所述布局算法包括空间布局算法和投影布局算法,所述根据预设的布局算法对所述初始数据进行布局优化,得到代码结构表达数据的步骤,具体包括:
3.根据权利要求1所述的代码自动化生成方法,其特征在于,所述根据所述规范协议和所述代码结构表达数据,生成代码元数据的步骤,具体包括:
4.根据权利要求1所述的代码自动化生成方法,其特征在于,所述根据所述初始数据,生成规范协议的步骤,具体包括:
5.根据权利要求1所述的代码自动化生成方法,其特征在于,所述对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码的步骤,具体包括:
6.根据权利要求1所述的代码自动化生成方法,其特征在于,所述获取携带有若干图层元信息的设计稿文件,并对所述图层元信息进行预处理,得到预处理后的初始数据的步骤,具体包括:
7.根据权利要求1至6任一项所述的代码自动化生成方法,其特征在于,在所述对所述代码元数据进行语义化处理,得到语义化处理后的节点描述数据,并根据所述节点描述数据生成页面代码的步骤之后,还包括:
8.一种代码自动化生成系统,其特征在于,包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的代码自动化生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的代码自动化生成方法的步骤。