页面菜单的配置方法及装置与流程

文档序号:20082353发布日期:2020-03-13 05:48阅读:182来源:国知局
页面菜单的配置方法及装置与流程

本申请涉及互联网技术领域,尤其涉及一种页面菜单的配置方法及装置。



背景技术:

随着互联网技术的不断发展,研发人员开发出的软件系统所支持的功能越来越多,而对于不同的用户而言,其所需要的功能可能有所不同,因此,针对不同用户的功能需求,可以为不同的用户提供不同的页面菜单。

现有技术中,为了实现为不同的用户提供不同的页面菜单的目的,可以由研发人员开发不同版本的软件系统,如此,不仅极大的增加了开发人员的工作量,同时由于版本数量较多,不利于版本的维护,严重影响用户体验。



技术实现要素:

有鉴于此,本申请提供一种页面菜单的配置方法及装置,以解决的问题。

具体地,本申请是通过如下技术方案实现的:

根据本申请实施例的第一方面,提供一种页面菜单的配置方法,所述方法包括:

接收页面菜单配置命令,所述页面菜单配置命令携带待配置菜单对应的目标页面的页面描述信息;

依据所述页面描述信息获取所述目标页面的页面id;

根据所述页面id查找预设的页面菜单数据库,所述页面菜单数据库中包括多个菜单的菜单配置信息,所述菜单配置信息至少包括菜单对应的页面的页面id、父菜单id,得到包含所述页面id的目标菜单配置信息;

依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id。

可选的,所述页面菜单配置命令为菜单隐藏命令;

所述依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若否,则在所述目标父菜单id中添加所述预设值,以使所述目标父菜单id不同于所述待配置菜单对应的父菜单的父菜单id;

若是,结束流程。

可选的,所述方法还包括:

根据所述页面id确定所述待配置菜单对应的目标命令行模块;

将所述目标命令行模块中的命令设置为不可执行状态。

可选的,所述将所述目标命令行模块中的命令设置为不可执行状态,包括:

在预设的命令行模块位图中删除所述目标命令行模块对应的位图标记,所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

可选的,所述页面菜单配置命令为菜单恢复命令;

所述依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若是,则在所述目标父菜单id中删除所述预设值,以使所述目标父菜单id与所述待配置菜单对应的父菜单的父菜单id相同;

若否,结束流程。

可选的,所述方法还包括:

根据所述页面id确定所述待配置菜单对应的目标命令行模块;

将所述目标命令行模块中的命令设置为可执行状态。

可选的,所述将所述目标命令行模块中的命令设置为可执行状态,包括:

在预设的命令行模块位图中添加所述目标命令行模块对应的位图标记;所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

根据本申请实施例的第二方面,提供一种页面菜单的配置装置,所述装置包括:

命令接收模块,用于接收页面菜单配置命令,所述页面菜单配置命令携带待配置菜单对应的目标页面的页面描述信息;

第一获取模块,用于依据所述页面描述信息获取所述目标页面的页面id;

查找模块,用于根据所述页面id查找预设的页面菜单数据库,所述页面菜单数据库中包括多个菜单的菜单配置信息,所述菜单配置信息至少包括菜单对应的页面的页面id、父菜单id,得到包含所述页面id的目标菜单配置信息;

修改模块,用于依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id。

可选的,所述页面菜单配置命令为菜单隐藏命令;

所述修改模块依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若否,则在所述目标父菜单id中添加所述预设值,以使所述目标父菜单id不同于所述待配置菜单对应的父菜单的父菜单id;若是,结束流程。

可选的,所述装置还包括:

第二获取模块,用于根据所述页面id确定所述待配置菜单对应的目标命令行模块;

第一设置模块,用于将所述目标命令行模块中的命令设置为不可执行状态。

可选的,所述第一设置模块将所述目标命令行模块中的命令设置为不可执行状态,包括:

在预设的命令行模块位图中删除所述目标命令行模块对应的位图标记,所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

可选的,所述页面菜单配置命令为菜单恢复命令;

所述修改模块依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若是,则在所述目标父菜单id中删除所述预设值,以使所述目标父菜单id与所述待配置菜单对应的父菜单的父菜单id相同;若否,结束流程。

可选的,所述装置还包括:

第三获取模块,用于根据所述页面id确定所述待配置菜单对应的目标命令行模块;

第二设置模块,用于将所述目标命令行模块中的命令设置为可执行状态。

可选的,所述第二设置模块将所述目标命令行模块中的命令设置为可执行状态,包括:

在预设的命令行模块位图中添加所述目标命令行模块对应的位图标记;所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

本实施例的方法,通过在接收页面菜单配置命令后,依据菜单配置命令携带的页面描述信息获取目标页面的页面id,根据页面id查找预设的页面菜单数据库,得到包含该页面id的目标菜单配置信息,依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id,可以实现在统一版本的前提下,自定义地控制页面菜单的显示与否,满足用户需求,同时易于版本维护。

附图说明

图1为应用本申请实施例实现页面菜单的配置方法的应用场景示意图;

图2为本申请一示例性实施例提供的一种页面菜单的配置方法的实施例流程图;

图3为本申请一示例性实施例示出的一种步骤204的实现流程;

图4为本申请一示例性实施例示出的另一种步骤204的实现流程;

图5为本申请一示例性实施例示出的一种步骤302之后的实现流程;

图6为本申请一示例性实施例示出的一种步骤402之后的实现流程;

图7为本申请页面菜单的配置装置所在服务器的一种硬件结构图;

图8为本申请一示例性实施例提供的一种页面菜单的配置装置的实施例框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,为应用本申请实施例实现页面菜单的配置方法的应用场景示意图。

如图1(a)所示,为某管理系统提供的标准的用户界面示意图。该用户界面中包括“基本数据”、“人员管理”、“系统维护”三个父菜单,其中,以“基本数据”为例,其下一级又包括“店面群组”、“店面信息”、“店面层级”、“供应商类别”、“供应商信息”、“产品类别”、“产品信息”七个子菜单。

在一应用场景中,假设不期望用户a编辑供应商类别和供应商信息,则可以向用户a提供如图1(b)所示例的用户界面。

现有技术中,为了达到上述效果,可以通过研发人员开发不同的版本实现针对不同的用户显示不同的页面菜单。但是,在实际应用中,用户的需求千差万别,如此不仅极大增加了研发人员的工作量,同时还由于版本数量较多而不利于版本的维护,影响用户体验。

基于此,本申请提出一种页面菜单的配置方法,应用该方法,可以实现。下面通过具体的实施例对本申请提出的页面菜单的配置方法进行说明:。

为了便于理解,首先页面菜单的显示原理进行说明:

将所有页面菜单的菜单配置信息通过页面菜单数据库进行存储,该菜单配置信息可以包括菜单id、菜单名称、父菜单id等,其中,菜单id是页面菜单数据库的主键,通过菜单对应的页面的页面id表示,即菜单id是菜单对应的页面的页面id,父菜单id则是指菜单对应的父菜单的菜单id。例如,假设菜单“基本数据”的菜单id为“id1”,那么,“店面群组”、“店面信息”、“店面层级”、“供应商类别”、“供应商信息”、“产品类别”、“产品信息”七个子菜单各自对应的菜单配置信息中的父菜单id均为“id1”。需要补充说明的是,父菜单对应的菜单配置信息中的父菜单id为“0”。

在显示页面菜单时,首先在页面菜单数据库中查找父菜单id为0的菜单配置信息,之后,针对查找到的菜单配置信息所对应的父菜单,遍历其子菜单,当子菜单对应的菜单配置信息中的父菜单id与该对应的父菜单的菜单id一致时,则可以在页面上显示该子菜单。

至此,完成页面菜单显示原理的相关说明。

请参见图2,为本申请一示例性实施例提供的一种页面菜单的配置方法的实施例流程图,该方法包括以下步骤:

步骤201:接收页面菜单配置命令,页面菜单配置命令携带待配置菜单对应的目标页面的页面描述信息。

在应用中,用户可以通过命令行输入页面菜单配置命令,该页面菜单配置命令用于指示对菜单(以下简称待配置菜单)进行配置。至于页面菜单配置命令的具体作用下文中通过不同的实施例示出,这里暂不赘述。

作为一个示例,页面菜单配置命令中携带待配置菜单对应的页面(以下简称目标页面)的页面描述信息,例如目标页面对应的html代码中content字段的值。由于页面描述信息较页面id而言直观易懂,因此,通过定义页面菜单配置命令中携带页面描述信息,便于用户输入页面菜单配置命令。

步骤202:依据页面描述信息获取目标页面的页面id。

由上述描述可知,在页面菜单数据库中菜单id实为页面id,因此,在本步骤202中,可以进一步获取目标页面的页面id。

作为一个实施例,可以依据页面的结构定义信息获取目标页面的页面id。其中,页面的结构定义信息包括页面id、页面描述信息等,基于此,则可以获取包含步骤201中的页面描述信息的结构定义信息,该结构定义信息中的页面id即为目标页面的页面id。

步骤203:根据页面id查找预设的页面菜单数据库,页面菜单数据库中包括多个菜单的菜单配置信息,菜单配置信息至少包括菜单对应的页面的页面id、父菜单id,得到包含页面id的目标菜单配置信息。

由上述描述可知,页面菜单数据库中包括多个菜单的菜单配置信息,菜单配置信息至少包括菜单id,即菜单对应的页面的页面id、父菜单id。基于此,在本步骤203中,则可以根据步骤202中获取到的页面id查找页面菜单数据库,得到包含该页面id的菜单配置信息(以下简称目标菜单配置信息)。

步骤204:依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id。

由上述描述可知,在进行页面菜单显示时,最终决定页面菜单是否显示的决定因素是:菜单对应的菜单配置信息中的父菜单id与其对应的父菜单的菜单id是否一致。

基于此,在本步骤中,则可以依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id,以实现修改菜单的显示结果,实现页面菜单的配置。至于是如何依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id的,下文中通过不同的实施例举例示出,这里暂不赘述。

由上述实施例可见,通过在接收页面菜单配置命令后,依据菜单配置命令携带的页面描述信息获取目标页面的页面id,根据页面id查找预设的页面菜单数据库,得到包含该页面id的目标菜单配置信息,依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id,可以实现在统一版本的前提下,自定义地控制页面菜单的显示与否,满足用户需求,同时易于版本维护。

下面描述页面菜单配置命令的具体作用,以及在不同的作用下如何依据页面菜单配置命令修改目标菜单配置信息中的目标父菜单id:

在一实施例中,页面菜单配置命令为菜单隐藏命令,通过执行该菜单隐藏命令,可以实现在页面中隐藏菜单。在该实施例中,如图3所示,上述步骤204可以包括以下步骤:

步骤301:检查目标菜单配置信息中的目标父菜单id中是否包含预设值;若否,则执行步骤302;若是,则结束流程。

步骤302:在目标父菜单id中添加预设值,以使目标父菜单id不同于待配置菜单对应的父菜单的父菜单id。

以下对步骤301和步骤302进行统一说明:

作为一个实施例,在页面菜单配置命令为菜单隐藏命令时,可以在目标菜单配置信息中的父菜单id(以下简称目标父菜单id)中添加预设值,例如,假设预设值为“_hiden”,并假设目标父菜单id为“id1”,那么,执行完此步骤之后,目标父菜单id被修改为“id1_hiden”。

由上述页面菜单的显示原理可知,由于待配置菜单的目标父菜单id不同于待配置菜单对应的父菜单的父菜单id,从而不在页面上显示待配置菜单,由此则实现了在页面中隐藏待配置菜单。

作为一个示例,在执行上述步骤302之前,可以首先执行步骤301,检查下目标菜单配置信息中的目标父菜单id中是否包含预设值,也即检查下待配置菜单是否已隐藏;当得到“否”的检查结果后,再进一步执行步骤302。

至此,完成图3所示流程的相关描述。

通过图3所示实施例,最终实现了在页面菜单配置命令为菜单隐藏命令时,通过执行该菜单隐藏命令在页面中隐藏菜单。

此外,在本申请中,可以在系统的用户态注册一个隐藏页面菜单列表,该隐藏页面菜单列表中的每一行对应一个隐藏菜单,且每一行可以包含以下字段:页面id(即隐藏菜单的菜单id)、页面名称(隐藏菜单对应的页面的页面名称)、页面描述信息(隐藏菜单对应的页面的页面描述信息)。通过该隐藏页面菜单列表可以便于隐藏菜单的管理。

在一实施例中,页面菜单配置命令为菜单恢复命令,通过执行该菜单恢复命令,可以实现在页面中显示之前被隐藏的菜单。在该实施例中,如图4所示,上述步骤204可以包括以下步骤:

步骤401:检查目标菜单配置信息中的目标父菜单id中是否包含预设值,若是,则执行步骤402;若否,则结束流程。

步骤402:在目标父菜单id中删除预设值,以使目标父菜单id与待配置菜单对应的父菜单的父菜单id相同。

以下对步骤401和步骤402进行统一说明:

作为一个实施例,在页面菜单配置命令为菜单恢复命令时,可以将目标父菜单id中的预设值删除,例如,假设预设值为“_hiden”,并假设目标父菜单id为“id1_hiden”,那么,执行完此步骤之后,目标父菜单id被修改为“id1”。

由上述页面菜单的显示原理可知,由于待配置菜单的目标父菜单id与待配置菜单对应的父菜单的父菜单id相同,从而在页面上显示待配置菜单,由此则实现了在页面中恢复之前被隐藏的待配置菜单。

作为一个示例,在执行上述步骤402之前,可以首先执行步骤401,检查下目标菜单配置信息中的目标父菜单id中是否包含预设值,也即检查下待配置菜单是否已隐藏;当得到“是”的检查结果后,再进一步执行步骤402。

至此,完成图4所示流程的相关描述。

通过图4所示实施例,最终实现了在页面菜单配置命令为菜单恢复命令时,通过执行该菜单恢复命令在页面中显示之前被隐藏的菜单。

此外,在执行完图4所示流程,还可以在上述隐藏页面菜单列表中删除待配置菜单对应的行。

在应用中,为了实现菜单相应的功能,菜单对应有命令行模块,该命令行模块包括若干条用于实现功能的命令。基于此,在隐藏菜单的同时,还可以将被隐藏的菜单对应的命令行模块中的命令设置为不可执行状态;反之,在恢复之前被隐藏的菜单的同时,还可以将被隐藏的菜单对应的命令行模块中的命令设置为可执行状态。下面通过图5和图6所示实施例分别对此进行说明:

请参见图5,为本申请一示例性实施例示出的一种步骤302之后的实现流程,包括以下步骤:

步骤501:根据页面id确定待配置菜单对应的目标命令行模块。

作为一个实施例,可以依据命令行模块的定义信息获取目标页面的页面id对应的命令行模块(以下简称目标命令行模块)。其中,命令行模块的定义信息包括页面id、模块id、菜单名称等。

步骤502:将目标命令行模块中的命令设置为不可执行状态。

由于命令行在执行命令时,首先确定该命令所属的命令行模块,然后,在命令行模块位图中查找该命令行模块对应的位图标记,其中,命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态,因此,若查找到该命令行模块对应的位图标记,则可以认为该命令可执行,反之,若未查找到该命令行模块对应的位图标记,则可以认为该命令不可执行。

基于此,作为一个实施例,可以通过在上述命令行模块位图中删除步骤501确定出的目标命令行模块对应的位图标记,以实现将目标命令行模块中的命令设置为不可执行状态。

至此,完成图5所示流程的相关描述。

通过图5所示实施例,最终实现了在隐藏菜单的同时,还可以将被隐藏的菜单对应的命令行模块中的命令设置为不可执行状态。

此外,在本申请中,可以在系统的用户态注册一个隐藏命令行模块列表,该隐藏命令行模块列表中的每一行对应一个处于不可执行状态的命令行模块,且每一行可以包含以下字段:页面id(即隐藏菜单的菜单id)、菜单名称(隐藏菜单的菜单名称)、模块id。通过该隐藏命令行模块列表可以便于命令行模块的管理。

请参见图6,为本申请一示例性实施例示出的一种步骤402之后的实现流程,包括以下步骤:

步骤601:根据页面id确定待配置菜单对应的目标命令行模块。

本步骤的详细描述可以参见上述步骤501中的描述,这里不再赘述。

步骤602:将目标命令行模块中的命令设置为可执行状态。

与上述步骤502相反的是,可以通过在上述命令行模块位图中添加步骤601确定出的目标命令行模块对应的位图标记,以实现将目标命令行模块中的命令设置为可执行状态。

至此,完成图6所示流程的相关描述。

通过图6所示实施例,最终实现了在恢复之前被隐藏的菜单的同时,还可以将之前被隐藏的菜单对应的命令行模块中的命令设置为可执行状态。

此外,在执行完图6所示流程,还可以在上述隐藏命令行模块列表中删除待配置菜单对应的行。

与前述页面菜单的配置方法的实施例相对应,本申请还提供了页面菜单的配置装置的实施例。

本申请页面菜单的配置装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请页面菜单的配置装置所在服务器的一种硬件结构图,除了图7所示的处理器71、内存72、网络接口73、非易失性存储器74以及内部总线75之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图8,为本申请一示例性实施例提供的一种页面菜单的配置装置的实施例框图,该装置可包括:命令接收模块81、第一获取模块82、查找模块83,以及修改模块84。

其中,命令接收模块81,用于接收页面菜单配置命令,所述页面菜单配置命令携带待配置菜单对应的目标页面的页面描述信息;

第一获取模块82,用于依据所述页面描述信息获取所述目标页面的页面id;

查找模块83,用于根据所述页面id查找预设的页面菜单数据库,所述页面菜单数据库中包括多个菜单的菜单配置信息,所述菜单配置信息至少包括菜单对应的页面的页面id、父菜单id,得到包含所述页面id的目标菜单配置信息;

修改模块84,用于依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id。

在一实施例中,所述页面菜单配置命令为菜单隐藏命令;

所述修改模块84依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若否,则在所述目标父菜单id中添加所述预设值,以使所述目标父菜单id不同于所述待配置菜单对应的父菜单的父菜单id;若是,结束流程。

在一实施例中,所述装置还包括(图8中未示出):

第二获取模块,用于根据所述页面id确定所述待配置菜单对应的目标命令行模块;

第一设置模块,用于将所述目标命令行模块中的命令设置为不可执行状态。

在一实施例中,所述第一设置模块将所述目标命令行模块中的命令设置为不可执行状态,包括:

在预设的命令行模块位图中删除所述目标命令行模块对应的位图标记,所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

在一实施例中,所述页面菜单配置命令为菜单恢复命令;

所述修改模块84依据所述页面菜单配置命令修改所述目标菜单配置信息中的目标父菜单id,包括:

检查所述目标菜单配置信息中的目标父菜单id中是否包含预设值;

若是,则在所述目标父菜单id中删除所述预设值,以使所述目标父菜单id与所述待配置菜单对应的父菜单的父菜单id相同;若否,结束流程。

在一实施例中,所述装置还包括(图8中未示出):

第三获取模块,用于根据所述页面id确定所述待配置菜单对应的目标命令行模块;

第二设置模块,用于将所述目标命令行模块中的命令设置为可执行状态。

在一实施例中,所述第二设置模块将所述目标命令行模块中的命令设置为可执行状态,包括:

在预设的命令行模块位图中添加所述目标命令行模块对应的位图标记;所述命令行模块位图中位图标记所对应的命令行模块中的命令处于可执行状态。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1