一种页面生成方法、页面生成系统、存储介质和终端
文献发布时间:2023-06-19 13:29:16
技术领域
本申请涉及网络技术领域,特别涉及一种页面生成方法、页面生成系统、存储介质和终端。
背景技术
目前网络页面应用的页面基本用于生成静态页面,不可动态的添加数据源,即模板丰富性较差,此外,该模板单一,功能比较局限,且模板不可以自动组装,复用性较差。
因此,如何增强所生成页面的功能性是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种页面生成方法、页面生成系统、存储介质和终端,通过配置菜单树中的模板使得页面数据源可变更,丰富了页面功能。
为解决上述技术问题,本申请提供一种页面生成方法,具体技术方案如下:
根据接收的页面生成请求,获取菜单树;所述页面生成请求包括页面结构需求和用户数据;
若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;
根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
可选的,还包括:
若所述菜单树中存在满足所述页面结构需求的目标模板,读取所述目标模板;所述目标模板的组件结构至少包括数据源组件,以及菜单栏组件、标题组件、检索组件、图表组件和表格组件中至少一项或任意几项的组合;
将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面。
可选的,若所述菜单树中存在满足所述页面结构需求的目标模板,读取所述目标模板包括:
若所述目标模板对应的模板实例中存在满足所述页面结构需求的目标模板实例,将所述目标模板实例作为所述目标模板进行读取;所述模板实例包含用户自定义组件属性,所述用户自定义组件属性包含组件数量和组件位置;
若所述目标模板对应的模板实例中不存在满足所述页面结构需求的目标模板实例,读取所述目标模板的组件结构。
可选的,若所述目标模板包括目标组件,所述目标组件为所述检索组件、所述图表组件和所述表格组件中的至少一种,则在将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面之前,还包括:
获取所述目标组件对应的注册信息;
若所述注册信息存在对应的内置引擎,在所述目标组件添加所述内置引擎;
若所述注册信息不存在对应的内置引擎,利用所述目标组件代理客制化引擎,并提供客制化引擎接口;其中,所述内置引擎和所述客制化引擎均用于为所述页面提供组件服务。
可选的,在所述目标组件添加所述内置引擎之后,还包括:
将所述内置引擎关联至所述数据源组件的数据源视图;所述数据源视图用于管理所述页面中各组件结构的数据源。
可选的,还包括:
将所述页面作为所述菜单树中所述目标模板对应的模板实例,并保存至自定义目标实例列表。
可选的,将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面之后,还包括:
利用所述数据源组件切换数据源,并刷新所述页面。
本申请还提供一种页面生成系统,包括:
菜单树获取模块,用于接收页面生成请求,获取菜单树;所述页面生成请求包括页面结构需求和用户数据;
模板获取模块,用于若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;
页面生成模块,用于根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的页面生成方法的步骤。
本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的页面生成方法的步骤。
本申请提供一种页面生成方法,包括:根据接收的页面生成请求,获取菜单树;所述页面生成请求包括页面结构需求和用户数据;若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
本申请在接收到用户的页面生成请求后,获取菜单树,并在菜单树中寻找满足页面结构需求的目标模板。若菜单树中不包含目标模板,则获取通用模板,并根据页面结构需求对通用模板中的组件结构进行自定义配置,并填入用户数据,从而实现页面的自定义生成,使得页面内容显示更加动态化,丰富了页面内容。
本申请还提供一种页面生成系统、计算机可读存储介质和终端,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种页面生成方法的流程图;
图2为本申请实施例所提供的另一种页面生成方法的流程图;
图3为本申请实施例所提供的又一种页面生成方法的流程图;
图4为本申请实施例所提供的一种页面生成系统结构示意图:
图5为本申请实施例所提供的一种终端的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例所提供的一种页面生成方法的流程图,该方案包括:
S101:接收页面生成请求,获取菜单树;
本步骤旨在接收页面生成请求,并获取相应的菜单树。在此对于如何接收该请求,以及页面生成请求的具体内容和请求格式等均不作具体限定。例如,该页面生成请求可以由用户点击生成,即在用户操作时,点击相应的按钮或者开始生成页面事件时,均可以视为页面生成请求。而页面生成请求包括页面结构需求和用户数据,但需要注意的是,页面生成请求并非必须为一条请求,而是可以由多组数据相结合所得到的页面生成请求,例如可以先请求生成页面结构,再发送用户数据,在此过程中页面生成请求包括页面结构需求和用户数据,但分两次发送。在本申请的其他应用中,也可以分成更多次进行发送,以组合成页面生成请求。
菜单树即包含了页面生成的模板,其可以包含不同页面类型对应的模板,也可以包含通用模板,还可以二者兼有。菜单树中的模板的组件结构至少包括数据源组件,以及菜单栏组件、标题组件、检索组件、图表组件和表格组件中至少一项或任意几项的组合,则菜单栏组件、标题组件、检索组件、图表组件和表格组件任意的组合构成了不同的模板,适用于不同显示需求的页面。此外,每个模板中,各组件若存在,其数量至少为一,也可以同时包含多个相同组件,例如两个标题组件,分别用于大标题和小标题等等。菜单栏组件并非页面必须包含的组件,在页面内容较多时,可以通过配置菜单栏组件,提供页面内容的菜单,便于用户查看。数据源组件用于切换数据源,即当前页面所展示数据的数据来源,当切换数据源时,页面所展示的数据内容发生相应变化,以便页面展示数据变化情况,实现页面的动态变化,而不必重新生成页面并渲染,可以有效减少页面生成所需要的代码量,提高页面生成效率,并丰富了页面功能。
S102:若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;
本步骤隐含了针对菜单树的检索过程,即检索菜单树中是否存在满足页面结构需求的目标模板。在此对于页面结构需求的具体判断过程不作限定,其可以针对于菜单树中模板包含的组件类型、组件内容、组件位置等进行判断,从而判断是否满足页面结构需求。
若不存在满足页面结构需求的目标模板,可以获取通用模板。所谓通用模板,指能够满足基本用户数据需求的模板,其可以包含不同的数据类型,例如通用模板可以为包含数据源组件、菜单栏组件、标题组件、检索组件、图表组件和表格组件等组件的模板,此外还可以包含文本组件等等。一旦菜单树中不包含满足页面结构需求的模板,可以直接利用通用模板,删除无用的组件,可以快速完成页面结构的设定,提高页面生成效率。
S103:根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
在获得通用模板后,即可根据页面结构需求配置组件结构,并填入用户数据,从而生成所述页面生成请求对应的页面。
本申请实施例在接收到用户的页面生成请求后,获取菜单树,并在菜单树中寻找满足页面结构需求的目标模板。若菜单树中不包含目标模板,则获取通用模板,并根据页面结构需求对通用模板中的组件结构进行自定义配置,并填入用户数据,从而实现页面的自定义生成,使得页面内容显示更加动态化,丰富了页面内容。
此外,最后生成的页面可以作为所述菜单树中所述目标模板的模板实例,并保存至自定义目标实例列表,以便在确定目标模板后,从自定义目标实例列表中寻找目标模板对应的模板实例,便于在后续页面的生成过程中直接应用模板实例,从而无需变更组件结构,只需填入用户数据,进一步提高页面的生成效率。
基于上一实施例,作为优选的实施例,若菜单树中存在满足页面结构需求的目标模板,读取目标模板,从而将用户数据填入目标模板,生成所述页面生成请求对应的页面。该目标模板的组件结构至少包括数据源组件,以及菜单栏组件、标题组件、检索组件、图表组件和表格组件中至少一项或任意几项的组合。即数据源组件是必要的组件,而其他的组件可以根据实际用户需求进行自定义。
本实施例中,若菜单树中存在满足页面结构需求的目标模板,可以直接读取该目标模板。目标模板指满足页面生成请求中页面结构需求的相应模板,页面结构需求通常与用户数据相对应,例如用户数据中包含图表数据,则相应的目标模板中至少需要包含图表组件,用于实现用户数据中图表数据的显示。
容易理解的是,本步骤隐含了对于页面结构需求和模板之间的比对过程。若页面生成请求中并不直接包含页面结构需求,而仅仅包含需要显示的用户数据,则可以先对用户数据进行分析,确定相应的数据类型,作为页面结构需求。进一步,将页面结构需求与各模板进行匹配,从菜单树所包含的模板中选择满足页面结构需求,且包含的所需组件数量最少的模板作为目标模板。需要注意的是,组件类型、但内容不同的组件数量可叠加。举例而言,若用户数据中包含两个图表和一个标题,则模板A包含一个标题组件和两个图表组件,而模板B包含一个标题组件和三个图表组件,很显然模板A和模板B均可以作为本步骤中的目标模板,则在选择时,优选的将包含图表组件较少的模板A作为目标模板,可减少页面生成所需要的工作量,提高页面生成效率。
在选择目标模板时,可以先找出所有满足页面结构需求的模板,再进一步作优选。当然,也并不必须进行模板的优选,可以在满足页面结构需求的模板基础上,删除或者关闭无用的组件亦可。
在确定目标组件后,需要进一步读取目标模板,即获取该模板的组件内容,用于输入用户数据。具体的,若目标模板对应的模板实例中存在满足页面结构需求的目标模板实例,将目标模板实例作为目标模板进行读取。若目标模板对应的模板实例中不存在满足页面结构需求的目标模板实例,读取目标模板的组件结构。
在确定目标模板后,并不直接填入用户数据,而是先判断目标模板中是否存在模板实例,所谓模板实例,包含了用户此前设定的自定义组件属性,包含组件数量和组件位置,甚至可以包含用户数据。由于页面生成时不仅仅需要包含相应的组件,还需要确定组件数量和组件位置,即页面布局,而若存在符合页面布局的模板实例,可以直接获取该模板实例,并读取模板实的组件结构,以便于直接将用户属性图填入。而若是不存在满足页面结构需要的模板实例,则在填入用户数据后,通常还需要调整各组件的位置,避免页面中出现较大空白或者断层,影响页面美观和信息显示。
此后只需向目标模板中的各组件填入相应用户数据,即可生成所述页面生成请求对应的页面。
本申请实施例通过配置菜单树以及相应的模板,使得页面生成过程可以直接选取符合需求的目标模板,而模板中包含了相应组件,使得用户可以自由配置页面结构和内容,将页面中的不同类型内容以组件形式提供,将完整的页面内容分化由各个组件实现,降低了页面生成所需要的代码量,同时,模板提供数据源组件,使得用户可以切换页面显示数据的数据源,支持不同的页面数据展示,使得页面内容显示动态化,丰富了页面内容。
若本实施例与上一实施例相结合,对应的实施过程可以如图2所示,图2为本申请实施例所提供的另一种页面生成方法的流程图,其过程如下:
S201:根据接收的页面生成请求,获取菜单树;
S202:若菜单树中不存在满足页面结构需求的目标模板,获取通用模板;进入S204;
S203:若菜单树中存在满足页面结构需求的目标模板,读取目标模板;进入S205;
S204:根据页面结构需求配置通用模板中的组件结构;进入S206;
S205:将用户数据填入目标模板,生成所述页面生成请求对应的页面。
S206:将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
基于上述实施例,作为优选的实施例,若所述目标模板包括目标组件,则在将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面之前,还可以包括如下步骤:
S301:获取所述目标组件对应的注册信息;
S302:判断所述注册信息是否存在对应的内置引擎;若是,进入S303;若否,进入S304;
S303:在所述目标组件添加所述内置引擎;
S304:利用所述目标组件代理客制化引擎,并提供客制化引擎接口。
当目标组件为所述检索组件、所述图表组件和所述表格组件中的至少一种时,为了便于更好的应用目标组件,在生成所述页面生成请求对应的页面前,可以先对目标组件的服务进行配置,主要用于判断该目标组件是否存在内置引擎,例如检索组件对应的内置检索引擎,图表组件对应的内置图表引擎,以及表格组件对应的内置表格引擎等,内置引擎具有启动速度快、体积小等优点。本实施例中目标组件支持自定义,即支持客制化引擎,支持自定义配置目标组件的实现方式,例如检索组件支持自定义,由用户自行配置检索组件采用的搜索引擎,而检测组件也可以提供默认的检索引擎,即添加至内置引擎,以便实现检索组件的应用。若不包含内置引擎,还可以采用客制化引擎,即利用目标组件代理客制化引擎,接入第三方的客制化引擎,并提供客制化引擎接口供用户选择使用。当然所提供的客制化引擎可以包含若干个,以便用户挑选并适配页面。客制化引擎接口便于用户实现目标组件的客制化,实现组件的自定义使用,能够有效扩充页面的内容丰富度。可以看出,内置引擎和客制化引擎均用于为页面提供组件服务。
更优选的,在在所述目标组件添加所述内置引擎之后,还可以将所述内置引擎关联至所述数据源组件的数据源视图。数据源视图用于管理页面中各组件结构的数据源。即数据源组件用于实现内容来源变更,则可以建立目标组件与数据源组件的关联,以便在数据源发生变化时,同时变更目标组件对应的显示数据和引擎方式,实现同一页面的动态变化。或者对组件结构进行设定变更,例如同时提供多种搜索引擎供用户选择使用,进一步丰富页面的功能性。
基于上述实施例,作为优选的实施例,将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面之后,还利用所述数据源组件切换数据源,并刷新所述页面。通过数据源组件切换页面数据的数据源,用户可以手动选择不同的数据源,从而支持不同的页面数据展示,也可以配置自动轮换数据源,实现数据源的自动切换。此时本实施例对应的完成执行过程如图3所示,图3为本申请实施例所提供的另一种页面生成方法的流程图,包括:
S401:接收页面生成请求,获取菜单树;
S402:若菜单树中存在满足页面结构需求的目标模板,读取目标模板;
S403:将用户数据填入目标模板,生成所述页面生成请求对应的页面;
S404:利用数据源组件切换数据源,并刷新页面。
参见图4,图4为本申请实施例所提供的一种页面生成系统结构示意图,本申请还提供一种页面生成系统,包括:
菜单树获取模块100,用于接收页面生成请求,获取菜单树;所述页面生成请求包括页面结构需求和用户数据;
模板获取模块200,用于若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;
第一页面生成模块300,用于根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
基于上述实施例,作为优选的实施例,还可以包括:
第二页面生成模块,用于若所述菜单树中存在满足所述页面结构需求的目标模板,读取所述目标模板;将所述用户数据填入所述目标模板,生成所述页面生成请求对应的页面;所述目标模板的组件结构至少包括数据源组件,以及菜单栏组件、标题组件、检索组件、图表组件和表格组件中至少一项或任意几项的组合。
基于上述实施例,作为优选的实施例,模板获取模块200包括:
第一模板读取单元,用于若所述目标模板对应的模板实例中存在满足所述页面结构需求的目标模板实例,将所述目标模板实例作为所述目标模板进行读取;所述模板实例包含用户自定义组件属性,所述用户自定义组件属性包含组件数量和组件位置;
第二模板读取单元,用于若所述目标模板对应的模板实例中不存在满足所述页面结构需求的目标模板实例,读取所述目标模板的组件结构。
基于上述实施例,作为优选的实施例,,还包括:
引擎配置模块,用于所述目标模板包括目标组件,且所述目标组件为所述检索组件、所述图表组件和所述表格组件中的至少一种时,获取所述目标组件对应的注册信息;若所述注册信息存在对应的内置引擎,在所述目标组件添加所述内置引擎;若所述注册信息不存在对应的内置引擎,利用所述目标组件代理客制化引擎,并提供客制化引擎接口;其中,所述内置引擎和所述客制化引擎均用于为所述页面提供组件服务。
基于上述实施例,作为优选的实施例,引擎配置模块还可以包括:
关联单元,用于在所述目标组件添加所述内置引擎之后,将所述内置引擎关联至所述数据源组件的数据源视图;所述数据源视图用于管理所述页面中各组件结构的数据源。
基于上述实施例,作为优选的实施例,还包括:
实例保存模块,用于将所述页面作为所述菜单树中所述目标模板的模板实例,并保存至自定义目标实例列表。
基于上述实施例,作为优选的实施例,还包括:
页面刷新模块,用于利用所述数据源组件切换数据源,并刷新所述页面。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的页面生成方法的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的页面生成方法的步骤。当然所述终端还可以包括各种网络接口,电源等组件。请参见图5,图5为本申请实施例所提供的一种终端的结构示意图,本实施例的终端可以包括:处理器2101和存储器2102。
可选的,该终端还可以包括通信接口2103、输入单元2104和显示器2105和通信总线2106。
处理器2101、存储器2102、通信接口2103、输入单元2104、显示器2105、均通过通信总线2106完成相互间的通信。
在本申请实施例中,该处理器2101,可以为中央处理器(Central ProcessingUnit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器2102中存储的程序。具体的,处理器可以执行上文的实施例中终端所执行的操作。
存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
根据接收的页面生成请求,获取菜单树;所述页面生成请求包括页面结构需求和用户数据;
若所述菜单树中不存在满足所述页面结构需求的目标模板,获取通用模板;
根据所述页面结构需求配置所述通用模板中的组件结构;将所述用户数据填入相应的所述组件结构,生成所述页面生成请求对应的页面。
在一种可能的实现方式中,该存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。
此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口2103可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器2105和输入单元2104等等。
图5所示的终端的结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图5所示的更多或更少的部件,或者组合某些部件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
- 一种页面生成方法、页面生成系统、存储介质和终端
- 页面生成方法、页面生成系统和计算机可读存储介质