菜单生成方法、装置、计算机设备和存储介质
文献发布时间:2023-06-19 11:35:49
技术领域
本申请涉及网页前端技术领域,特别是涉及一种菜单生成方法、装置、计算机设备和存储介质。
背景技术
菜单是前端开发中必不可少的一部分,目前大部分企业级应用的菜单是统一固定的,而且如果组织架构调整,需要在后台程序中调整对应代码,来完成对菜单的修改。
现有技术方案中,随着菜单标识数量的增加,在开发过程中会重复编码,从而使得数据库中的配置文件变得越来越臃肿,降低了菜单的开发效率。
发明内容
基于此,有必要针对上述技术问题,提供一种菜单生成方法、装置、计算机设备和存储介质。
一种菜单生成方法,所述方法包括:当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与所述目标主菜单类型对应的参考主菜单标识;获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
在其中一个实施例中,所述将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单之前,包括:获取所述参考子菜单模型中的子菜单标识的访问地址;获取所述目标主菜单标识对应的路由表;将各个所述子菜单标识的访问地址加载至所述路由表的目的地址中。
在其中一个实施例中,所述基于所述目标主菜单标识和对应的下级菜单得到目标主菜单,之后还包括:当接收到终端发送的针对操作界面中所述目标主菜单标识的触发操作信息时,获取与所述目标主菜单标识的访问地址对应的目标菜单页面数据;向所述终端返回所述目标菜单页面数据;以触发所述终端获取与所述目标菜单页面数据对应的目标主菜单,并在所述操作界面中与所述目标主菜单标识对应的显示区域显示所述目标主菜单;当接收到所述终端发送的针对所述目标主菜单的目标子菜单标识的触发操作信息时,基于所述路由表的目的地址获取与所述目标子菜单标识对应的目标访问地址;根据所述目标访问地址获取对应的目标子菜单页面数据;向所述终端返回所述目标菜单子页面数据,以触发所述终端在所述操作界面中的主显示区域显示与所述目标子菜单页面数据对应的目标子菜单。
在一个实施例中,所述向所述终端返回所述目标菜单子页面数据,以触发所述终端在所述操作界面中的主显示区域显示与所述目标子菜单页面数据对应的目标子菜单之后,还包括:当接收到所述终端发送的针对所述目标子菜单的项目选择操作信息时,确定所述项目选择操作信息对应的目标项目;获取所述目标项目对应的至少一个卡片类型标识下的项目卡片;触发所述终端按照所述项卡片类型标识对所述项目卡片进行排列显示。
在一个实施例中,所述获取为所述参考主菜单标识配置的参考子菜单模型,之前包括:获取终端基于菜单模型配置界面接收的与子菜单配置项对应的参数值;所述子菜单配置项为参考主菜单标识对应的各个子菜单标识的配置项;获取参考主菜单标识以及所述各个子菜单标识之间的拓扑连接关系;基于所述与菜单配置项对应的参数值以及所述拓扑连接关系生成参考子菜单模型。
在一个实施例中,所述确定与所述目标主菜单类型对应的参考主菜单标识,包括:获取预先配置的子菜单模型对应的主菜单标识;所述主菜单标识与主菜单类型对应;将目标主菜单类型与主菜单标识对应的主菜单类型进行匹配性判断,将与所述目标主菜单类型匹配的主菜单类型对应的主菜单标识确定为参考主菜单标识。
在一个实施例中,所述方法还包括:当接收到终端发送的用户登录指令时,获取所述用户登录指令对应的用户属性标识;获取各个主菜单标识对应的目标可见成员属性标识;当所述目标可见成员属性标识存在与所述用户属性标识相匹配的属性标识时,基于相匹配的可见成员属性标识获取对应的主菜单标识的页面数据;向所述终端返回所述主菜单标识的页面数据,以触发所述移动终端显示与所述主菜单标识的页面数据对应的页面。
一种菜单生成装置,所述装置包括:第一确定模块,用于当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;第二确定模块,用于确定与所述目标主菜单类型对应的参考主菜单标识;获取模块,用于获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;生成模块,用于将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单,得到目标主菜单。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与所述目标主菜单类型对应的参考主菜单标识;获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与所述目标主菜单类型对应的参考主菜单标识;获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
上述菜单生成方法、装置、计算机设备和存储介质,当监测到主菜单生成指令时,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识,确定与目标主菜单类型对应的参考主菜单标识,获取为参考主菜单标识配置的参考子菜单模型,将参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单,基于目标主菜单标识和对应的下级菜单得到目标主菜单,可以通过目标主菜单标识和参考子菜单模型自动生成新的目标主菜单,提高了菜单的开发效率。
附图说明
图1为一个实施例中菜单生成方法的应用环境图;
图2为一个实施例中菜单生成方法的流程示意图;
图3为一个实施例中生成的主菜单的示意图;
图4为一个实施例中目标主菜单的生成步骤的流程示意图;
图5为一个实施例中项目卡片在终端的显示图;
图6为另一个实施例中菜单生成方法的流程示意图;
图7为一个实施例中的主菜单项设置示意图;
图8为一个实施例中菜单生成装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的菜单生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104当监测到终端102发送的主菜单生成指令时,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与目标主菜单类型对应的参考主菜单标识;获取为参考主菜单标识配置的参考子菜单模型;参考子菜单模型中包含有存在映射关系的至少一个子菜单;将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单;基于目标主菜单标识和对应的下级菜单得到目标主菜单,并将目标主菜单发送到终端102。此时,终端102可以在界面中显示该目标主菜单。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种菜单生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202,当监测到主菜单生成指令时,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识。
其中,主菜单是指带有主菜单项的菜单;目标主菜单是指与主菜单生成指令对应生成的主菜单;其中主菜单生成指令可以由终端发出,终端通过主菜单生成页面接收用户输入的主菜单标识和目标主菜单类型,据此生成主菜单生成指令,该主菜单生成指令中携带主菜单标识和主菜单类型。其中,主菜单标识是指主菜单的名称,如:“人员架构”、“产品管理”等,主菜单的名称可以由用户拟定。主菜单类型是指主菜单标识的所属类别。例如,当主菜单标识为“北京事业群”、“深圳事业群”时,其主菜单类型可以为事业群。
具体地,当服务器接收主菜单生成指令时,该主菜单生成指令中携带目标主菜单标识和类型标识;获取主菜单生成指令携带的目标主菜单标识并基于主菜单生成指令携带的类型标识确定对应的目标主菜单类型。
S204,确定与目标主菜单类型对应的参考主菜单标识。
其中,参考主菜单是指预先生成的主菜单。参考主菜单的数量可以为至少一个。各个参考主菜单对应有参考主菜单标识,而参考主菜单标识可以为参考主菜单的名称。具体地,获取参考主菜单的类型,将其与S202获取的目标主菜单类型进行对比,当其中一个参考主菜单的类型与目标主菜单类型相同时,则获取该参考主菜单标识。
S206,获取为参考主菜单标识配置的参考子菜单模型;参考子菜单模型中包含有存在映射关系的至少一个子菜单。
其中,参考子菜单模型可以是首次生成网页菜单时,根据用户输入的子菜单生成数据生成。需要生成菜单的菜单项所对应的菜单数据可以通过事先录入的方式预设在目标数据库中,例如可以将预设的菜单数据录入到目标数据库的特定数据表中。其中,子菜单生成数据可以包括菜单标识码、菜单名称、父节点、是否子节点以及网页地址。其中,菜单标识码为数据库自动生成的与菜单项对应的标识码,用于标识该菜单项;菜单名称为与菜单项对应的用于显示的名称;父节点表示此菜单数据对应的菜单项的上一级菜单所对应的菜单标识码,是否子节点表示此菜单数据对应的菜单项是否为最下级菜单,网页地址是指每一子菜单项对应的页面地址。
预设的菜单数据可以由反映数据元素之间的逻辑关系的数据结构展示出来,其中的逻辑关系是指数据元素之间的前后间关系,而与它们在计算机中的存储位置无关。例如,数据结构可以是树形结构,也可以是图形结构,线性结构。在本实施例中,将菜单数据以树形结构的方式展示出来,其中树状结构由一系列赋值代码组成,用于实现将菜单数据以树形结构的方式展示出来,根据预设的菜单数据可以获取菜单项之间的层级关系,将存储在目标数据库中表示菜单项层级关系的字符串转化为实际的表示菜单项之间关系的代码。
参考子菜单模型中可以包含多个子菜单项,其中,多个子菜单项中存在一定的映射关系。例如,第一菜单项可以包含第二菜单项和第三菜单项。
具体地,根据S204得到的参考主菜单标识,获取该参考主菜单标识对应的子菜单数据,该子菜单数据用于生成子菜单标识码,子菜单项名称,子菜单间的映射关系。根据子菜单标识码,子菜单项名称以及子菜单间的映射关系生成子菜单模型,该子菜单模型与参考子菜单相同。
S208,将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单。
具体地,根据S206得到的参考子菜单中的子菜单项并提取各个子菜单项对应的网页地址,并将其依次添加到目标主菜单项的路由服务中。当服务器接收到终端发送的主菜单项触发指令时,服务器首先通过路由服务获取主菜单项对应的网页地址的目标网页数据,并将该目标网页数据发送至终端,以触发终端显示与目标网页数据对应的目标网页页面,该网页页面包含主菜单项和主菜单项的下级菜单,其中,下级菜单为参考子菜单模型中的子菜单。
S210,基于目标主菜单标识和对应的下级菜单得到目标主菜单。
具体地,根据主菜单生成指令生成目标主菜单项和S208获得的目标主菜单标识的下级菜单生成目标主菜单。
上述菜单生成方法中,当监测到主菜单生成指令时,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识,确定与目标主菜单类型对应的参考主菜单标识,获取为参考主菜单标识配置的参考子菜单模型,将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单,基于目标主菜单标识和对应的下级菜单得到目标主菜单,可以通过目标主菜单标识和参考子菜单模型自动生成新的目标主菜单,提高了菜单的开发效率。
在一个实施例中,将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单之前,包括:获取参考子菜单模型中的子菜单标识的访问地址;获取目标主菜单标识对应的路由表;将各个子菜单标识的访问地址加载至路由表的目的地址中。
其中,访问地址可以通过统一资源定位符(Uniform Resource Locator,URL)等来实现。URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,传输与访问地址对应的访问数据可以使用超文本传输协议,也可以使用文件传输协议。
在一个实施例中,获取参考子菜单模型中的子菜单标识的访问地址的实现过程可以为:获取参考子菜单模型中参考主菜单项的路由服务的路由表,通过子菜单标识查找路由表中记录的访问地址,进而得到与子菜单标识对应的访问地址。其中,路由表(routingtable)是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径,路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。最后根据目标主菜单名称找到存储在服务器中的路由表,路由表中存储着数据的下一跳传输的地址信息,将获取的参考子菜单模型中的子菜单标识对应的访问地址添加进路由表中。
将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单,按照本实施例中的菜单生成方法生成的主菜单,如图3所示。图3中显示有3个目标主菜单标识:北京事业群、深圳事业群以及基础技术中心。各个目标主菜单标识下对应有子菜单标识,以北京事业群为例,其对应的子菜单标识为:成员列表、一级团队001、二级团队002。其中的,“深圳事业群”中的子菜单项为预先生成“北京事业群”中的子菜单模型中的子菜单项。
本实施例中,将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单,基于目标主菜单标识和对应的下级菜单得到目标主菜单,可以通过目标主菜单标识和参考子菜单模型自动生成新的目标主菜单,提高了菜单的开发效率。
在一个实施例中,如图4所示,基于目标主菜单标识和对应的下级菜单得到目标主菜单,之后还包括:
S402,当接收到终端发送的针对操作界面中目标主菜单标识的触发操作信息时,获取与目标主菜单标识的访问地址对应的目标菜单页面数据。
具体地,当用户在终端的操作界面针对目标主菜单标识进行触发操作时,服务器接收到该触发操作信息,主动获取与目标主菜单标识的访问地址对应的目标菜单页面数据。
S404,向终端返回目标菜单页面数据;以触发终端获取与目标菜单页面数据对应的目标主菜单,并在操作界面中与目标主菜单标识对应的显示区域显示目标主菜单。
其中,操作界面是指主菜单的显示界面。该操作界面可以全屏显示,覆盖子菜单项中对应的访问地址对应的网页页面,也可以在显示屏的一侧进行显示。
具体地,向终端返回S402获得的目标菜单页面数据,终端根据该目标菜单页面数据在操作界面上显示目标主菜单,该目标主菜单可以全屏显示,也可以显示在显示屏的一侧。
S406,接收到终端发送的针对目标主菜单的目标子菜单标识的触发操作信息时,基于路由表的目的地址获取与目标子菜单标识对应的目标访问地址。
其中,目标子菜单为参考主菜单的子菜单模型里的子菜单项。
具体地,当服务器接收到终端发送的针对目标主菜单的目标子菜单标识的触发操作信息时,基于路由表中添加的访问地址获取与目标子菜单标识对应的目标访问地址。
S408,根据目标访问地址获取对应的目标子菜单页面数据。
具体地,服务器根据S406获得的目标访问地址获取目标子菜单页面数据。
S410,向终端返回目标菜单子页面数据,以触发终端在操作界面中的主显示区域显示与目标子菜单页面数据对应的目标子菜单。
其中,主显示区域显示可以为显示屏中的主要显示区域,可以是显示屏中面积占比较大的显示区域,例如:将显示屏的显示区域的中间区域和右侧区域构成的区域作为主显示区域。
具体地,服务器将根据S408获得的目标子菜单页面数据发送给终端,使得终端在操作界面中的主显示区域显示与目标子菜单页面数据对应的目标子菜单。
本实施例中,通过将参考主菜单的子菜单作为目标主菜单的下级菜单,可以实现只要生成一个主菜单项就可以自动生成子菜单项,提高菜单的生成效率。
在一个实施例中,向终端返回目标菜单子页面数据,以触发终端在操作界面中的主显示区域显示与目标子菜单页面数据对应的目标子菜单之后,还包括:当接收到终端发送的针对目标子菜单的项目选择操作信息时,确定项目选择操作信息对应的目标项目;获取目标项目对应的至少一个卡片类型标识下的项目卡片;触发终端按照项目卡片类型标识对项目卡片进行排列显示。
其中,项目选择操作信息为对目标子菜单中显示的项目卡片进行选择操作对应的信息。该选择操作可以是过滤操作,例如:终端通过过滤框接收用户输入的过滤条件,获取与该过滤条件对应的目标项目。
具体地,当服务器接收到终端上对目标子菜单的触发信息,获取该目标子菜单对应的访问地址的页面数据,并向终端返回目标子菜单对应的目标页面;其中目标页面上包含项目选择项,当服务器接收到终端上对项目选择项的操作信息,服务器获取与该项目选择项对应的页面数据。
其中,目标项目页面包含多个卡片类型,每一种卡片类型标识下都有若干个与该卡片类型相对应的项目卡片;其中项目卡片中可以包含项目文字、项目代码、项目更新历史记录等;其中卡片类型包括已完成项目、待完成项目、正在进行中的项目等。不同的卡片类型在终端的显示页面上可以显示不同的标记,其中重要卡片类型可以使用更为醒目的标志进行标记。
其中,排列显示可以是按照特定的顺序进行显示,可以是横向排列也可以是纵向排列,还可以是其他方式的排列。
根据上述步骤得到的目标项目,获取各种卡片类型标识下的项目卡片信息。服务器将获取的项目卡片信息返回给终端,以触发终端显示与该项目卡片信息相对应的项目卡片内容,并且将其按照卡片类型标识将项目卡片排列显示。
在一个实施例中,如图5所示,终端将显示界面的左侧作为菜单显示区域,菜单显示区域是指菜单栏对应的区域。在菜单显示区域中可以显示各个目标主菜单标识,如:个人、故事、缺陷、客户、版本、运营等,每个主菜单标识对应的主菜单中可以显示对应的子菜单标识。当接收到终端发送的针对菜单界面中“客户”这一目标主菜单标识的触发操作信息时,获取与“客户”的访问地址对应的目标菜单页面数据;向终端返回目标菜单页面数据;以触发终端获取与目标菜单页面数据对应的目标主菜单,并在操作界面中与目标主菜单标识对应的显示区域显示目标主菜单;该目标子菜单中显示有以下子菜单标识:研发工作、客户看板、客户大屏、生产事件看板。当接收到终端发送的针对“研发工作”这一目标主菜单的目标子菜单标识的触发操作信息时,基于路由表的目的地址获取与“研发工作”对应的目标访问地址;根据目标访问地址获取对应的目标子菜单页面数据;向终端返回目标菜单子页面数据,以触发终端在操作界面中菜单栏的右侧显示与目标子菜单页面数据对应的目标子菜单。当接收到终端发送的针对目标子菜单的过滤条件时,确定该过滤条件为“恒丰银行”,则获取与“恒丰银行”对应的目标项目。该目标项目中包含4个代办项目卡片、2个跟进项目卡片、5个开发项目卡片、2个待上线项目卡片、1个待沟通项目卡片以及2个已完成项目卡片。服务器触发终端按照项卡片的类型对项目卡片进行排列显示,排列显示的方式如图5中的右侧所示。各个项目卡片可以配置为操作控件,当终端接收到对应操作控件的触发操作时,可以展开显示项目卡片的具体内容。例如:当代办项目卡片中的“卡片11”被选中时,在弹出窗口中显示“卡片11”的具体内容。另外,可以通过不同的卡片形态来显示不同用户标记下的项目卡片,例如:开发项目卡片中的“卡片34”和“卡片35”被用户标记为重要卡片,则对这两个项目卡片进行区分显示。
本实施例中,将项目信息包装成为一个项目卡片,并将项目卡片按照卡片类型进行分类排列,使得用户能够直白明了的看到项目进展程度。
在一个实施例中,获取为参考主菜单标识配置的参考子菜单模型,之前包括:获取终端基于菜单模型配置界面接收的与子菜单配置项对应的参数值;子菜单配置项为参考主菜单标识对应的各个子菜单标识的配置项;获取参考主菜单标识以及各个子菜单标识之间的拓扑连接关系;基于与菜单配置项对应的参数值以及拓扑连接关系生成参考子菜单模型。
其中,菜单模型配置界面包含各项用于生成子菜单的菜单数据类型和对应的参数值。例如,菜单数据类型包含菜单标识码、菜单名称、父节点、是否子节点以及网页地址等。具体地,服务器获取与菜单数据类型对应的参数值。
其中,拓扑关系是指满足拓扑几何学原理的各空间数据间的相互关系。参考主菜单标识以及各个子菜单标识之间的拓扑连接关系是指主菜单标识与子菜单标识之间的包含关系。例如,第一子菜单项的包含第二菜单项和第三子菜单项。
具体地,根据获得的与菜单配置项对应的参数值和拓扑连接关系生成参考子菜单模型。
在本实施例中,通过菜单配置项对应的参数值以及拓扑连接关系生成参考子菜单模型,当要生成新的目标主菜单时,可以根据直接利用该参考子菜单模型生成目标主菜单,提高了菜单的开发效率。
在一个实施例中,确定与目标主菜单类型对应的参考主菜单标识,包括:
获取预先配置的子菜单模型对应的主菜单标识;主菜单标识与主菜单类型对应;将目标主菜单类型与主菜单标识对应的主菜单类型进行匹配性判断,将与目标主菜单类型匹配的主菜单类型对应的主菜单标识确定为参考主菜单标识。
具体地,服务器首先获取已经配置过子菜单模型的主菜单标识,每一个主菜单标识都有着相对应的主菜单类型。将目标主菜单类型与获取的主菜单标识对应的主菜单类型依次进行匹配性判断,直到匹配到与目标主菜单类型相同的主菜单,并将该主菜单标识确定为参考主菜单标识。
本实施例中,将与目标主菜单类型相同的主菜单的子菜单模型作为目标主菜单的下级菜单,可以自动生成新的目标主菜单,提高了菜单的开发效率。
在一个实施例中,如图6所示,该菜单生成方法还包括:
S602,当接收到终端发送的用户登录指令时,获取用户登录指令对应的用户属性标识。
其中,用户登录指令中携带用户属性标识,用户属性标识根据用户所属部门进行分配,同一用户可能会有多个属性标识。具体地,当终端上的用户登录按钮被触发时,向服务器发送用户登录指令,服务器从该用户登录指令中获取该用户的用户属性标识。
S604,获取各个主菜单标识对应的目标可见成员属性标识。
具体地,当服务器接收到用户登录指令后,获取各个主菜单标识对应的目标可见成员属性标识。
S606,当目标可见成员属性标识存在与用户属性标识相匹配的属性标识时,基于相匹配的可见成员属性标识获取对应的主菜单标识的页面数据。
具体地,当目标可见成员属性标识存在与该用户属性标识相匹配的属性标识时,则获取与可见成员属性标识相对应的目标主菜单的页面数据。
S608,向终端返回主菜单标识的页面数据,以触发移动终端显示与主菜单标识的页面数据对应的页面。
具体地,服务器向终端返回目标主菜单的页面数据,以触发终端显示与目标主菜单标识的页面数据对应的页面,若目标可见成员属性标识中不存在与该用户属性标识相匹配的属性标识时,服务器则不向终端返回任何数据。
本实施例中,通过判断目标可见成员属性标识是否存在与用户属性标识相匹配的属性标识,使得特定用户才能看到目标主菜单,增强了菜单信息的安全性。
在一个实施例中,如图7所示,提出了一种通过配置主菜单项实现自动生成主菜单的方法。
首先,在终端的编辑菜单项页面对参数值进行设置。在本实施例中,通过设置主菜单项就可以自动生成主菜单,因此在菜单生成方式选项中选择动态分组的菜单生成方式,在其他实施例中,主菜单也可以通过自定义的方式来生成。菜单形式选择主菜单,本实施例中对主菜单项进行配置,形成主菜单项。通过设置主菜单项中的参数名称,来确定主菜单项标识;其匹配的主菜单类型可以通过设置主菜单项中的参数类型,来确定主菜单类型。例如本实施例中,参数名称设置为“北京事业群”,参数类型设置为“事业群”。
然后,获取预先生成的主菜单的类型,并从各个预先生成的主菜单的类型中找到与“事业群”相匹配的类型,并获取与该类型对应的其中一个预先生成主菜单标识,通过该主菜单标识,获取该主菜单标识的下级子菜单模型,将子菜单模型中的子菜单项对应的访问地址依次添加进“北京事业群”目标主菜单中的路由服务中的路由表中,即可将预先生成的主菜单标识下的子菜单项作为目标子菜单的下级菜单。
最后,通过主菜单配置项的配置可以看到该菜单的用户选项,选择可以看见该菜单的成员属性集,在成员属性集中选择属于“北京事业部”的用户,将其设为过滤条件,当需要增加特殊用户时,可以继续增加过滤条件,过滤条件之间可以用且、或来连接。
本实施例中,通过在终端的编辑菜单项页面对参数值进行设置,生成主菜单,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识,确定与目标主菜单类型对应的参考主菜单标识,获取为参考主菜单标识配置的参考子菜单模型,将参考子菜单模型中的子菜单作为目标主菜单标识的下级菜单,基于目标主菜单标识和对应的下级菜单得到目标主菜单,可以通过目标主菜单标识和参考子菜单模型自动生成新的目标主菜单,提高了菜单的开发效率。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种菜单生成装置800,包括:第一确定模块、第二确定模块、获取模块、第一生成模块和第二生成模块,其中:
第一确定模块802,用于当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;
第二确定模块804,用于确定与所述目标主菜单类型对应的参考主菜单标识;
获取模块806,用于获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;
第一生成模块808,用于将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;
第二生成模块810,用于基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
上述菜单生成装置800,当监测到主菜单生成指令时,确定主菜单生成指令对应的目标主菜单类型以及目标主菜单标识,确定与目标主菜单类型对应的参考主菜单标识,获取为参考主菜单标识配置的参考子菜单模型,将参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单,基于目标主菜单标识和对应的下级菜单得到目标主菜单,可以通过目标主菜单标识和参考子菜单模型自动生成新的目标主菜单,提高了菜单的开发效率。
在一个实施例中,第一生成模块还包括:地址获取子模块,用于获取所述参考子菜单模型中的子菜单标识的访问地址;路由表获取子模块,用于获取所述目标主菜单标识对应的路由表;加载子模块,用于将各个所述子菜单标识的访问地址加载至所述路由表的目的地址中。
在一个实施例中,第二生成模块还包括:第一数据获取子模块,用于当接收到终端发送的针对操作界面中所述目标主菜单标识的触发操作信息时,获取与所述目标主菜单标识的访问地址对应的目标菜单页面数据;第一数据返回子模块,用于向所述终端返回所述目标菜单页面数据;以触发所述终端获取与所述目标菜单页面数据对应的目标主菜单,并在所述操作界面中与所述目标主菜单标识对应的显示区域显示所述目标主菜单;地址获取子模块,用于当接收到所述终端发送的针对所述目标主菜单的目标子菜单标识的触发操作信息时,基于所述路由表的目的地址获取与所述目标子菜单标识对应的目标访问地址;第二数据获取子模块,用于根据所述目标访问地址获取对应的目标子菜单页面数据;第二数据返回子模块,用于向所述终端返回所述目标菜单子页面数据,以触发所述终端在所述操作界面中的主显示区域显示与所述目标子菜单页面数据对应的目标子菜单。
在一个实施例中,第二数据返回子模块还包括:目标项目确定子模块,用于当接收到所述终端发送的针对所述目标子菜单的项目选择操作信息时,确定所述项目选择操作信息对应的目标项目;项目卡片获取子模块,获取所述目标项目对应的至少一个卡片类型标识下的项目卡片;触发显示模块,用于触发所述终端按照所述项卡片类型标识对所述项目卡片进行排列显示。
在一个实施例中,获取模块包括:参数值获取子模块,用于获取终端基于菜单模型配置界面接收的与子菜单配置项对应的参数值;所述子菜单配置项为参考主菜单标识对应的各个子菜单标识的配置项;连接关系获取子模块,用于获取参考主菜单标识以及所述各个子菜单标识之间的拓扑连接关系;子菜单生成子模块,用于基于所述与菜单配置项对应的参数值以及所述拓扑连接关系生成参考子菜单模型。
在一个实施例中,第二确定模块包括:主菜单标识获取子模块,用于获取预先配置的子菜单模型对应的主菜单标识;所述主菜单标识与主菜单类型对应;参考标识确定子模块,用于将目标主菜单类型与主菜单标识对应的主菜单类型进行匹配性判断,将与所述目标主菜单类型匹配的主菜单类型对应的主菜单标识确定为参考主菜单标识。
在一个实施例中,所述菜单生成装置还包括:第一标识获取子模块,用于获取各个主菜单标识对应的目标可见成员属性标识;第二标识获取子模块,用于获取各个主菜单标识对应的目标可见成员属性标识;页面数据获取子模块,用于当所述目标可见成员属性标识存在与所述用户属性标识相匹配的属性标识时,基于相匹配的可见成员属性标识获取对应的主菜单标识的页面数据;页面数据返回子模块,用于向所述终端返回所述主菜单标识的页面数据,以触发所述移动终端显示与所述主菜单标识的页面数据对应的页面。
关于菜单生成装置的具体限定可以参见上文中对于菜单生成方法的限定,在此不再赘述。上述菜单生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储菜单页面数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种菜单生成方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与所述目标主菜单类型对应的参考主菜单标识;获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述参考子菜单模型中的子菜单标识的访问地址;获取所述目标主菜单标识对应的路由表;将各个所述子菜单标识的访问地址加载至所述路由表的目的地址中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到终端发送的针对操作界面中所述目标主菜单标识的触发操作信息时,获取与所述目标主菜单标识的访问地址对应的目标菜单页面数据;向所述终端返回所述目标菜单页面数据;以触发所述终端获取与所述目标菜单页面数据对应的目标主菜单,并在所述操作界面中与所述目标主菜单标识对应的显示区域显示所述目标主菜单;当接收到所述终端发送的针对所述目标主菜单的目标子菜单标识的触发操作信息时,基于所述路由表的目的地址获取与所述目标子菜单标识对应的目标访问地址;根据所述目标访问地址获取对应的目标子菜单页面数据;向所述终端返回所述目标菜单子页面数据,以触发所述终端在所述操作界面中的主显示区域显示与所述目标子菜单页面数据对应的目标子菜单。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到所述终端发送的针对所述目标子菜单的项目选择操作信息时,确定所述项目选择操作信息对应的目标项目;获取所述目标项目对应的至少一个卡片类型标识下的项目卡片;触发所述终端按照所述项卡片类型标识对所述项目卡片进行排列显示。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取终端基于菜单模型配置界面接收的与子菜单配置项对应的参数值;所述子菜单配置项为参考主菜单标识对应的各个子菜单标识的配置项;获取参考主菜单标识以及所述各个子菜单标识之间的拓扑连接关系;基于所述与菜单配置项对应的参数值以及所述拓扑连接关系生成参考子菜单模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预先配置的子菜单模型对应的主菜单标识;所述主菜单标识与主菜单类型对应;将目标主菜单类型与主菜单标识对应的主菜单类型进行匹配性判断,将与所述目标主菜单类型匹配的主菜单类型对应的主菜单标识确定为参考主菜单标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到终端发送的用户登录指令时,获取所述用户登录指令对应的用户属性标识;获取各个主菜单标识对应的目标可见成员属性标识;当所述目标可见成员属性标识存在与所述用户属性标识相匹配的属性标识时,基于相匹配的可见成员属性标识获取对应的主菜单标识的页面数据;向所述终端返回所述主菜单标识的页面数据,以触发所述移动终端显示与所述主菜单标识的页面数据对应的页面。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当监测到主菜单生成指令时,确定所述主菜单生成指令对应的目标主菜单类型以及目标主菜单标识;确定与所述目标主菜单类型对应的参考主菜单标识;获取为所述参考主菜单标识配置的参考子菜单模型;所述参考子菜单模型中包含有存在映射关系的至少一个子菜单;将所述参考子菜单模型中的子菜单作为所述目标主菜单标识的下级菜单;基于所述目标主菜单标识和对应的下级菜单得到目标主菜单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取所述参考子菜单模型中的子菜单标识的访问地址;获取所述目标主菜单标识对应的路由表;将各个所述子菜单标识的访问地址加载至所述路由表的目的地址中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到终端发送的针对操作界面中所述目标主菜单标识的触发操作信息时,获取与所述目标主菜单标识的访问地址对应的目标菜单页面数据;向所述终端返回所述目标菜单页面数据;以触发所述终端获取与所述目标菜单页面数据对应的目标主菜单,并在所述操作界面中与所述目标主菜单标识对应的显示区域显示所述目标主菜单;当接收到所述终端发送的针对所述目标主菜单的目标子菜单标识的触发操作信息时,基于所述路由表的目的地址获取与所述目标子菜单标识对应的目标访问地址;根据所述目标访问地址获取对应的目标子菜单页面数据;向所述终端返回所述目标菜单子页面数据,以触发所述终端在所述操作界面中的主显示区域显示与所述目标子菜单页面数据对应的目标子菜单。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到所述终端发送的针对所述目标子菜单的项目选择操作信息时,确定所述项目选择操作信息对应的目标项目;获取所述目标项目对应的至少一个卡片类型标识下的项目卡片;触发所述终端按照所述项卡片类型标识对所述项目卡片进行排列显示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取终端基于菜单模型配置界面接收的与子菜单配置项对应的参数值;所述子菜单配置项为参考主菜单标识对应的各个子菜单标识的配置项;获取参考主菜单标识以及所述各个子菜单标识之间的拓扑连接关系;基于所述与菜单配置项对应的参数值以及所述拓扑连接关系生成参考子菜单模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预先配置的子菜单模型对应的主菜单标识;所述主菜单标识与主菜单类型对应;将目标主菜单类型与主菜单标识对应的主菜单类型进行匹配性判断,将与所述目标主菜单类型匹配的主菜单类型对应的主菜单标识确定为参考主菜单标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到终端发送的用户登录指令时,获取所述用户登录指令对应的用户属性标识;获取各个主菜单标识对应的目标可见成员属性标识;当所述目标可见成员属性标识存在与所述用户属性标识相匹配的属性标识时,基于相匹配的可见成员属性标识获取对应的主菜单标识的页面数据;向所述终端返回所述主菜单标识的页面数据,以触发所述移动终端显示与所述主菜单标识的页面数据对应的页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 菜单生成系统、菜单生成方法及存储菜单生成程序的非暂态计算机可读存储介质
- 菜单生成方法、装置、计算机设备和存储介质