本发明涉及软件开发,尤其涉及一种页面开发方法及装置。
背景技术:
1、目前互联网产品已经步入工业化时代,对于营销活动、宣传活动等页面的诉求已经不仅仅局限于用户体验和活动策略的突破,对开发效率和精细化运营都提出了更高的要求。
2、为提升页面的开发效率和精细化运营程度,建站平台应运而生。目前,大多数建站平台都围绕着“快速建站”、“面向产品和运营”、“定制化能力丰富”等特性开发,主要目的是为了开发人员可以在仅出视觉图的前提下快速搭建出一个能直接交付的页面,从而缩短开发周期及降低开发成本。如上所述,现有的建站平台聚焦在自身能力的丰富上,建站平台一直在试图扩大平台的功能集,涵盖更多的生产场景。然而,不同用户的诉求会存在极大的差异,即使同一用户在不同时间时的诉求也是不断变化的,因此很多场景下建站平台无法完全满足用户诉求,并且不断去迎合用户的诉求还会无限增加建站平台的成本。为了更好的满足用户诉求,现有技术已开始支持用户对通过建站平台开发得到的原生页面进行二次开发,例如:在wix的开发模式下,用户可以在获取通过建站平台开发的原生页面的代码后,对页面代码进行二次开发。然而,受限于平台本身的运行时和二次开发的约束,一般情况下用户二次开发得到的页面与通过建站平台开发的原生页面的用户体验的差距都非常大,且无法再次通过建站平台对用户二次开发的页面进行优化处理,因此现有页面开发方式尚不能很好对用户诉求进行满足。
技术实现思路
1、有鉴于此,本发明实施例提供了一种页面开发方法及装置,用于解决建站平台无法再次对用户二次开发的页面进行编辑的问题。
2、为了实现上述目的,本发明实施例提供技术方案如下:
3、第一方面,本发明的实施例提供了一种页面开发方法,包括:
4、获取待反解页面代码,所述待反解页面代码中包括至少一个组件对应的代码片段;
5、确定所述至少一个组件中的自定义组件;所述自定义组件为所述至少一个组件中不属于预设建站平台的组件;
6、获取所述至少一个组件的层级信息;
7、将所述自定义组件对应的代码片段和所述层级信息上传至所述预设建站平台。
8、作为本发明实施例一种可选的实施方式,所述获取待反解页面代码,包括:
9、获取所述预设建站平台的页面代码模版;
10、响应于对所述页面代码模版的编辑操作,生成所述待反解页面代码。
11、作为本发明实施例一种可选的实施方式,所述获取待反解页面代码,包括:
12、获取原始页面的页面代码,所述原始页面为通过所述预设建站平台搭建的页面;
13、响应于对所述原始页面的页面代码的编辑操作,生成所述待反解页面代码。
14、作为本发明实施例一种可选的实施方式,所述对所述原始页面的页面代码的编辑操作,包括:
15、向所述原始页面的页面代码中添加组件对应的代码片段的操作、删除所述原始页面的页面代码中的组件对应的代码片段的操作、修改所述原始页面的页面代码中的组件的对应的代码片段的操作、调整所述原始页面的页面代码中的组件的层级信息的操作中的至少一种操作。
16、作为本发明实施例一种可选的实施方式,所述获取所述至少一个组件的层级信息包括:
17、获取所述待反解页面代码对应的抽象语法树ast;
18、解析所述ast获取所述至少一个组件的层级信息。
19、作为本发明实施例一种可选的实施方式,将所述自定义组件对应的代码片段上传至所述预设建站平台,包括:
20、分别对各个所述自定义组件对应的代码片段进行打包,生成各个所述自定义组件的源码包;
21、将各个所述自定义组件的源码包上传至指定对象存储obs服务器,并获取各个所述自定义组件的源码包对应的obs存储路径;
22、将各个所述自定义组件的源码包对应的obs存储路径上传至所述预设建站平台。
23、作为本发明实施例一种可选的实施方式,将所述自定义组件对应的代码片段上传至所述预设建站平台,包括:
24、分别对各个所述自定义组件的对应的代码片段进行编译,生成各个所述自定义组件的编译包;
25、将各个所述自定义组件的编译包上传至指定内容分发网络cdn,并获取各个所述自定义组件的编译包对应的cdn地址;
26、将各个所述自定义组件的编译包对应的cdn地址上传至所述预设建站平台。
27、作为本发明实施例一种可选的实施方式,所述自定义组件,包括:新增组件和修改组件,所述新增组件为所述预设建站平台中不存在的组件,所述修改组件为对所述预设建站平台中的已有组件进行编辑得到的组件;所述方法还包括:
28、在所述预设建站平台中对所述自定义组件中的所述新增组件进行注册。
29、作为本发明实施例一种可选的实施方式,将所述层级信息上传至所述预设建站平台,包括:
30、将所述层级信息转换为映射为所述预设建站平台的领域涉及语言dsl文件;
31、将所述dsl文件上传至所述预设建站平台。
32、作为本发明实施例一种可选的实施方式,在将所述自定义组件对应的代码片段和所述层级信息上传至所述预设建站平台之后,所述方法还包括:
33、根据所述自定义组件对应的代码片段和所述层级信息在所述预设建站平台的页面搭建界面中显示所述待反解页面代码对应的页面;
34、接收用户对所述待反解页面代码对应的页面的编辑操作;
35、响应于所述编辑操作对所述待反解页面代码进行编辑。
36、第二方面,本发明实施例提供一种页面开发装置,包括:
37、获取单元,用于获取待反解页面代码,所述待反解页面代码中包括至少一个组件对应的代码片段;
38、组件识别单元,用于确定所述至少一个组件中的自定义组件;所述自定义组件为所述至少一个组件中不属于预设建站平台的组件;
39、层级解析单元,用于获取所述至少一个组件的层级信息;
40、通信单元,用于将所述自定义组件对应的代码片段和所述层级信息上传至所述预设建站平台。
41、作为本发明实施例一种可选的实施方式,所述获取单元,具体用于获取所述预设建站平台的页面代码模版;响应于对所述页面代码模版的编辑操作,生成所述待反解页面代码。
42、作为本发明实施例一种可选的实施方式,所述获取单元,具体用于获取原始页面的页面代码,所述原始页面为通过所述预设建站平台搭建的页面;响应于对所述原始页面的页面代码的编辑操作,生成所述待反解页面代码。
43、作为本发明实施例一种可选的实施方式,所述对所述原始页面的页面代码的编辑操作,包括:
44、向所述原始页面的页面代码中添加组件对应的代码片段的操作、删除所述原始页面的页面代码中的组件对应的代码片段的操作、修改所述原始页面的页面代码中的组件的对应的代码片段的操作、调整所述原始页面的页面代码中的组件的层级信息的操作中的至少一种操作。
45、作为本发明实施例一种可选的实施方式,所述层级解析单元,具体用于获取所述待反解页面代码对应的抽象语法树ast;解析所述ast获取所述至少一个组件的层级信息。
46、作为本发明实施例一种可选的实施方式,所述通信单元,具体用于分别对各个所述自定义组件的对应的代码片段进行打包,生成各个所述自定义组件的源码包;将各个所述自定义组件的源码包上传至指定对象存储obs服务器,并获取各个所述自定义组件的源码包对应的obs存储路径;将各个所述自定义组件的源码包对应的obs存储路径上传至所述预设建站平台。
47、作为本发明实施例一种可选的实施方式,所述通信单元,具体用于分别对各个所述自定义组件的对应的代码片段进行编译,生成各个所述自定义组件的编译包;将各个所述自定义组件的编译包上传至指定内容分发网络cdn,并获取各个所述自定义组件的编译包对应的cdn地址;将各个所述自定义组件的编译包对应的cdn地址上传至所述预设建站平台。
48、作为本发明实施例一种可选的实施方式,所述自定义组件,包括:新增组件和修改组件,所述新增组件为所述预设建站平台中不存在的组件,所述修改组件为对所述预设建站平台中的已有组件进行编辑得到的组件;
49、所述通信单元,还用于在所述预设建站平台中对所述自定义组件中的所述新增组件进行注册。
50、作为本发明实施例一种可选的实施方式,所述通信单元,具体用于将所述层级信息转换为映射为所述预设建站平台的领域涉及语言dsl文件;将所述dsl文件上传至所述预设建站平台。
51、作为本发明实施例一种可选的实施方式,所述页面开发装置,还包括:搭建单元,用于在将所述自定义组件对应的代码片段和所述层级信息上传至所述预设建站平台之后,根据所述自定义组件对应的代码片段和所述层级信息在所述预设建站平台的页面搭建界面中显示所述待反解页面代码对应的页面;接收用户对所述待反解页面代码对应的页面的编辑操作;响应于所述编辑操作对所述待反解页面代码进行编辑。
52、第三方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在执行计算机程序时,使得所述电子设备实现上述任一实施方式所述的页面开发方法。
53、第四方面,本发明实施例提供一种计算机可读存储介质,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施方式所述的页面开发方法。
54、第五方面,本发明实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述任一实施方式所述的页面开发方法。
55、本发明实施例提供的页面开发方法在获取待反解页面代码后,先确定所述待反解页面代码中不属于预设建站平台的自定义组件,再获取所述待反解页面代码中的组件的层级信息,最后将所述自定义组件对应的代码片段和所述层级信息上传至所述预设建站平台。首先,由于本发明实施例提供的页面方法会将待反解页面代码中不属于预设建站平台的组件对应的代码片段上传到了预设建站平台,因此预设建站平台可以获取待反解页面代码中的所有组件对应的代码片段。其次,由于本发明实施例提供的页面方法还会将待反解页面代码中的组件的层级信息上传至预设建站平台,因此预设建站平台可以也获取待反解页面代码中的组件的层级信息。由于建站平台可以根据待反解页面代码中的所有组件对应的代码片段和组件的层级信息搭建出待反解页面代码对应的页面,并对待反解页面代码对应的页面进行优化处理,因此本发明实施例可以解决建站平台无法再次对用户二次开发的页面进行编辑的问题。