本发明涉及信息,尤其是涉及一种骨架屏生成方法、装置、存储介质及计算机设备。
背景技术:
1、骨架屏是指在页面数据尚未加载前先给用户展示出页面的大致结构,进而等到数据请求返回后再显示页面的数据内容,从而替换它。骨架屏常用于文章列表、新闻动态列表,个人健康档案列表等内容结构相一致的页面。基于此,在页面渲染完成之前,为了缓解用户的枯燥等待,需要先向用户展示骨架屏页面。
2、目前,通常通过人工编写代码来生成骨架屏。然而,这种人工编写代码的方式,每新增一个页面,都需要编写与之对应的骨架屏页面代码,导致骨架屏的生成效率较低,与此同时,由于技术人员技术水平的参差不齐,会导致骨架屏代码编写错误的情况,从而导致骨架屏的生成精度较低。
技术实现思路
1、本发明提供了一种骨架屏生成方法、装置、存储介质及计算机设备,主要在于能够提高骨架屏的生成效率和生成精度。
2、根据本发明的第一个方面,提供一种骨架屏生成方法,包括:
3、响应于待加载页面的请求信号,获取所述待加载页面对应的页面代码;
4、对所述页面代码进行词法分析和语法分析,得到所述页面代码对应的抽象语法树;
5、在所述抽象语法树的节点中确定待生成骨架屏对应的骨架屏属性节点;
6、在所述骨架屏属性节点中配置所述待生成骨架屏的样式类名,得到所述待生成骨架屏对应的骨架屏代码;
7、基于所述骨架屏代码,生成所述待加载页面对应的骨架屏。
8、可选地,所述对所述页面代码进行词法分析和语法分析,得到所述页面代码对应的抽象语法树,包括:
9、对所述页面代码进行词法分析,得到所述页面代码对应的词法单元序列;
10、对所述词法单元序列进行语法分析,得到所述页面代码对应的抽象语法树。
11、可选地,所述对所述页面代码进行词法分析,得到所述页面代码对应的词法单元序列,包括:
12、确定所述页面代码对应的字符流;
13、将所述字符流输入至预设词法扫描器中进行扫描,得到所述页面代码对应的词法单元序列。
14、可选地,所述对所述词法单元序列进行语法分析,得到所述页面代码对应的抽象语法树,包括:
15、将所述词法单元序列输入至预设语法分析器中进行语法分析,得到所述页面代码对应的抽象语法树。
16、可选地,所述在所述抽象语法树的节点中确定待生成骨架屏对应的骨架屏属性节点,包括:
17、由下至上对所述抽象语法树的节点进行遍历,得到所述抽象语法树中各个节点对应的属性;
18、基于所述各个节点的属性,在所述各个节点中确定待生成骨架屏对应的骨架屏属性节点。
19、可选地,所述基于所述骨架屏代码,生成所述待加载页面对应的骨架屏,包括:
20、确定所述待生成骨架屏对应的骨架屏生成函数,其中,所述骨架屏生成函数中包含待生成骨架屏的动画展示形式、骨架屏页面跳转限制条件、骨架屏页面缩放限制条件;
21、基于所述骨架屏代码、所述动画展示形式、所述骨架屏页面跳转限制条件、所述骨架屏页面缩放限制条件,生成所述待加载页面对应的骨架屏。
22、可选地,在所述基于所述骨架屏代码,生成所述待加载页面对应的骨架屏之后,所述方法还包括:
23、判断所述待加载页面是否加载完成;
24、若所述待加载页面加载完成,则利用加载完成的页面替换所述骨架屏。
25、根据本发明的第二个方面,提供一种骨架屏生成装置,包括:
26、获取单元,用于响应于待加载页面的请求信号,获取所述待加载页面对应的页面代码;
27、语法树确定单元,用于对所述页面代码进行词法分析和语法分析,得到所述页面代码对应的抽象语法树;
28、节点确定单元,用于在所述抽象语法树的节点中确定待生成骨架屏对应的骨架屏属性节点;
29、类名配置单元,用于在所述骨架屏属性节点中配置所述待生成骨架屏的样式类名,得到所述待生成骨架屏对应的骨架屏代码;
30、生成单元,用于基于所述骨架屏代码,生成所述待加载页面对应的骨架屏。
31、根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上骨架屏生成方法。
32、根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上骨架屏生成方法。
33、根据本发明提供的一种骨架屏生成方法、装置、存储介质及计算机设备,与目前人工编写代码来生成生成骨架屏的方式相比,本发明通过响应于待加载页面的请求信号,获取所述待加载页面对应的页面代码;并对所述页面代码进行词法分析和语法分析,得到所述页面代码对应的抽象语法树;与此同时,在所述抽象语法树的节点中确定待生成骨架屏对应的骨架屏属性节点;之后在所述骨架屏属性节点中配置所述待生成骨架屏的样式类名,得到所述待生成骨架屏对应的骨架屏代码;最终基于所述骨架屏代码,生成所述待加载页面对应的骨架屏。由此通过确定待加载页面对应的页面代码的抽象语法树,并在抽象语法树节点中确定骨架屏属性节点,最终直接在骨架屏属性节点上配置样式类名,即可得到骨架屏代码,最终根据骨架屏代码来生成骨架屏页面,即直接在待加载页面中找到骨架屏属性节点,并添加关于骨架屏的样式类名即可,减少了代码介入,能够避免了人工编写代码导致代码编写错误的情况,从而提高了骨架屏的生成效率和生成准确度。
1.一种骨架屏生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述页面代码进行词法分析和语法分析,得到所述页面代码对应的抽象语法树,包括:
3.根据权利要求2所述的方法,其特征在于,所述对所述页面代码进行词法分析,得到所述页面代码对应的词法单元序列,包括:
4.根据权利要求2所述的方法,其特征在于,所述对所述词法单元序列进行语法分析,得到所述页面代码对应的抽象语法树,包括:
5.根据权利要求1所述的方法,其特征在于,所述在所述抽象语法树的节点中确定待生成骨架屏对应的骨架屏属性节点,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述骨架屏代码,生成所述待加载页面对应的骨架屏,包括:
7.根据权利要求1所述的方法,其特征在于,在所述基于所述骨架屏代码,生成所述待加载页面对应的骨架屏之后,所述方法还包括:
8.一种骨架屏生成装置,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。