分布式系统前端页面集成方法、装置及存储介质与流程

文档序号:30525876发布日期:2022-06-25 06:54阅读:461来源:国知局
分布式系统前端页面集成方法、装置及存储介质与流程

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.根据本公开实施例的又一个方面,提供一种分布式系统的前端页面集成装置,应用在客户端上,所述装置包括:
34.第一发送模块,用于响应于用户的成功登录状态,向分布式系统的至少一个系统的服务器发送菜单请求指令,所述菜单请求指令中携带有所述用户的用户标识信息,所述分布式系统在构建时接入统一的菜单布局组件;
35.第一接收模块,用于接收所述至少一个系统的服务器返回的用户权限菜单,所述用户权限菜单由所述至少一个系统的服务器基于所述用户的权限列表和系统菜单得到;
36.渲染模块,用于渲染所述至少一个系统的用户权限菜单。
37.在本公开一实施例中,所述渲染模块包括:
38.系统确定子模块,用于基于所述至少一个系统的服务器返回的用户权限菜单,确定所述用户的可访问系统;
39.第一渲染子模块,用于在所述可访问系统为空时,输出用于指示无法正常提供信息的页面;
40.第二渲染子模块,用于在所述可访问系统不为空时,渲染所述可访问系统的菜单导航条至所述当前登录系统的系统页面;优选地,在所述可访问系统包括所述当前登录系
统时,渲染所述当前登录系统的用户权限菜单至所述当前登录系统的系统页面。
41.在本公开又一实施例中,所述装置还包括:
42.菜单确定模块,用于响应于所述用户触发的点击用于切换系统的菜单导航条的操作,确定所述操作待切换至的系统;
43.所述渲染模块,用于渲染所述操作待切换至的系统的用户权限菜单。
44.在本公开又一实施例中,所述用户权限菜单包括系统域名、路径前缀、菜单名和模块名;
45.所述装置还包括:
46.菜单信息确定模块,用于基于所述系统域名、路径前缀、菜单名和模块名,确定所述至少一个系统所包含的用户权限菜单的菜单导航条和菜单指令名;
47.异步注册模块,用于异步注册所述用户权限菜单对应的菜单模块。
48.在本公开又一实施例中,所述装置还包括:
49.第二接收模块,用于接收所述至少一个系统的服务器构建系统菜单的构建指令;
50.获取模块,用于从路由数据文件中获取菜单相关节点;
51.菜单树生成模块,用于通过递归算法将所述菜单项关节点生成为菜单树;
52.第二发送模块,用于将所述菜单树发送至所述对应系统的服务器,所述菜单树用于所述对应系统的服务器在接收到菜单请求指令时由权限接口调用并生成对应的用户权限菜单。
53.根据本公开实施例的又一方面,提供一种分布式系统的前端页面集成装置,应用在分布式系统的服务器上,所述装置包括:
54.第三接收模块,用于接收客户端发送的菜单请求指令,所述菜单请求指令中携带有用户的用户标识信息;
55.用户权限确定模块,用于调用权限接口,确定所述用户标识信息对应的权限列表;
56.权限菜单确定模块,用于基于所述用户标识信息对应的权限列表以及系统菜单,确定所述用户的用户权限菜单;
57.第三发送模块,用于向所述客户端返回所述用户权限菜单。
58.在本公开又一实施例中,所述装置还包括:
59.第四发送模块,用于向客户端发送构建系统菜单的构建指令;
60.第四接收模块,用于接收所述客户端发送的菜单树;
61.系统菜单确定模块,用于基于所述菜单树,确定所述系统菜单,所述系统菜单用于在接收到菜单请求指令时生成对应的用户权限菜单。
62.根据本公开实施例的再一方面,提供一种电子设备,包括:
63.存储器,用于存储计算机产品;
64.处理器,用于执行所述存储器中存储的计算机产品,且所述计算机产品被执行时,实现上述分布式系统的前端页面集成的方法。
65.根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时,实现上述分布式系统的前端页面集成的方法。
66.根据本公开实施例的再一方面,提供一种计算机程序产品,包括计算机程序指令,
所述计算机程序指令被处理器执行时实现上述分布式系统的前端页面集成的方法。
67.基于本公开上述实施例提供的分布式系统的前端页面集成方法、装置以及存储介质,在用户登录分布式系统后,可向分布式系统的至少一个系统的服务器(也即,向分布式系统所有系统的服务器)发送菜单请求指令,然后基于每个服务器返回的用户权限菜单,异步注册对应的系统模块,渲染对应的用户权限菜单。本公开技术方案中,由于分布式系统的系统在构建时接入统一的菜单布局组件,因此可以确保整个分布式系统的系统页面的一致性,而且还可以提升分布式系统中各个系统的菜单布局组件的通用性和复用率,降低了系统开发成本,而且在普通用户访问时,也可让用户有一种在使用同一个系统的体验。
68.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
69.构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
70.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
71.图1为本公开的分布式系统的前端页面集成方法的一个实施例的流程图一;
72.图2为本公开的分布式系统的前端页面集成方法中在构建系统时将客户端的菜单树同步到服务器的流程图;
73.图3a为本公开的分布式系统的前端页面集成方法的又一个实施例的流程图;
74.图3b为本公开的分布式系统中客户端的菜单显示示意图;
75.图4为本公开的分布式系统的前端页面集成方法的一个实施例的流程图二;
76.图5为本公开的分布式系统的前端页面集成装置的一个实施例的结构示意图;
77.图6为本公开的分布式系统的前端页面集成装置的又一个实施例的结构示意图;
78.图7为本公开的分布式系统的前端页面集成装置的一个实施例的结构示意图;
79.图8为本公开的分布式系统的前端页面集成装置的又一个实施例的结构示意图;
80.图9为本公开一示意性实施例提供的电子设备的结构图。
具体实施方式
81.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
82.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
83.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
84.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
85.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
86.本公开实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用
或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
87.计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
88.本公开概述
89.本公开实施例提供的技术方案应用于分布式系统中,分布式系统中存在一个以上的具有独立域名的系统,现有技术下的分布式系统在使用时,用户通常无法在当前登录系统下看到其他系统的菜单,往往需要用户切换到其他系统之后,才可以查看其他系统的系统菜单,对用户使用不够友好。此外,由于分布式系统中不同系统的布局和设计(包括菜单、菜单导航条等的设计)通常不相同,导致分布式系统不同系统的页面布局和设计存在不一致性,而且针对分布式系统的不同系统,设计不同的菜单样式,也降低了分布式系统中各个系统的菜单布局组件的通用性和复用率,增加了系统研发成本。本公开技术方案,通过提供一种分布式系统的前端页面集成方法,实现在用户登录系统后在当前登录系统的客户端上显示分布式系统的格式统一的用户权限菜单,提高了菜单布局组件的通用性和复用率,降低了研发成本,并且可以给用户提供一种在使用同一个系统的体验。
90.示例性实施例
91.图1为本公开的分布式系统的前端页面集成方法的一个实施例的流程图一;该分布式系统的前端页面集成方法可以应用在客户端(如计算机系统)上,如图1所示,该分布式系统的前端页面集成方法包括以下步骤:
92.在步骤101中,响应于用户的成功登录状态,向分布式系统的至少一个系统的服务器发送菜单请求指令。
93.在一实施例中,菜单请求指令中携带有用户的用户标识信息,其中,用户标识信息可以为用户在系统中的登录帐号,也可以为其他能够标识该用户的信息。
94.在一实施例中,在用户成功登录后,客户端可以同时向分布式系统中每个系统的服务器发送菜单请求指令,以获取每个系统的用户权限菜单。
95.具体地,为了实现本公开实施例的技术方案,可以在构建每个系统时,通过接入统一的菜单布局组件,实现统一每个系统的布局和样式,进而确保用户在访问系统时,客户端上展示的每个系统的菜单具有统一的格式,确保整个系统页面的一致性,而且还可以提升分布式系统中每个系统的菜单布局组件的通用性和复用率。
96.在一实施例中,菜单相关节点通常维护在客户端,可以通过构建脚本将菜单相关节点生成为菜单树并同步到服务器,以确保服务器在后续接收到菜单请求指令时生成对应的用户权限菜单并返回给客户端。在构建系统时,可将客户端的菜单树同步到服务器,具体
流程可参见图2所示实施例,这里先不详述。
97.在步骤102中,接收至少一个系统的服务器返回的用户权限菜单,用户权限菜单由至少一个系统的服务器基于用户的权限列表和系统菜单得到。
98.在一实施例中,针对至少一个系统对应的服务器,在其接收到相应的用户的菜单请求指令后,通过调用权限接口,可确定用户标识信息对应的权限列表;然后再进一步根据用户的权限列表和系统菜单,确定用户的用户权限菜单,并将确定出的菜单返回给客户端。其中,用户的权限列表为用户所具有的权限。例如,用户的权限列表包括导出、重置、变更等权限,则可将系统菜单中的与导出、重置、变更操作相关的菜单确定为用户权限菜单。
99.在一实施例中,用户权限菜单可以包括系统域名、路径前缀、菜单名和模块名。其中,系统域名用来指示所对应的系统;路经前缀用于指示一个系统中具有的独立菜单,在一个系统中具有多个具有独立菜单的模块时,可通过路经前缀区分多个独立菜单;模块名为用于指示每个系统中具有的独立菜单,模块名以菜单导航条的形式显示在页面中,用于用户切换系统,菜单名用于指示菜单中每个指令的名称。
100.在一实施例中,菜单导航条用于指示用户切换至对应的可访问系统,参见图3b,图中界面顶端显示的“商品”、“订单”、“供应商”、“仓储”、“家居运营”即为菜单导航条,通过菜单导航条可以切换至对应的系统。
101.本公开实施例并不对菜单导航条的显示位置进行限定,在一实施例中,菜单导航条可以在客户端的界面顶端,参见图3b;在又一实施例中,菜单导航条还可以在界面底端;在一实施例中,菜单导航条可以在界面中任意位置。
102.在步骤103中,渲染至少一个系统的用户权限菜单。
103.在一实施例中,根据用户权限菜单,可以确定至少一个系统所包含的用户权限菜单的菜单导航条和菜单指令名,进而可异步注册用户权限菜单对应的菜单模块,注册菜单模块后,客户端即可成功获取用户对每个系统所具有的用户权限菜单,确保在当前登录系统可以访问其他系统的用户权限菜单。
104.在一实施例中,在异步注册用户权限菜单对应的菜单模块后,可渲染用户权限菜单。
105.在一实施例中,可基于至少一个系统的服务器返回的用户权限菜单,确定用户的可访问系统;在可访问系统为空时,输出用于指示无法正常提供信息的页面,例如,展示404页面。
106.在又一实施例中,在可访问系统不为空时,渲染可访问系统的菜单导航条至当前登录系统的系统页面。
107.在又一实施例中,在可访问系统不为空时,还可进一步确定可访问系统是否包含当前登录系统,如果不包括当前登录系统,除了渲染可访问系统渲染的菜单导航条至当前登录系统的系统页面的设定位置(如界面顶端)之外,还可输出用于提示用户不具备访问当前登录系统的权限的提示信息,并且进一步提醒用户可以换一个账号登录或者切换到其他可访问的系统进行访问。
108.在又一实施例中,在可访问系统不为空,并且可访问系统也包括当前登录系统时,除了渲染可访问系统的菜单导航条至当前登录系统的系统页面的设定位置(如界面顶端)之外,还需要渲染当前登录系统的用户权限菜单至当前登录系统的系统页面。
109.由此,本公开实施提供的渲染用户权限菜单的方案不仅可以有效避免渲染多个系统的大量菜单所导致的客户端菜单渲染性能降低的问题,而且可以自动过滤用户没有访问权限的系统,可以避免系统页面上显示的菜单内容太多。
110.上述步骤101~103在用户登录分布式系统后,可向分布式系统的至少一个系统的服务器(也即,向分布式系统所有系统的服务器)发送菜单请求指令,然后基于每个服务器返回的用户权限菜单,异步注册对应的系统模块,渲染对应的用户权限菜单。本公开技术方案中,由于分布式系统的系统在构建时接入统一的菜单布局组件,而且在用户访问时可以向所有系统的服务器均发送菜单请求指令,因此可以实现分布式系统的客户端上显示分布式系统的统一的用户权限菜单。本公开技术方案不仅可以确保整个分布式系统的系统页面的一致性,而且还可以提升分布式系统中各个系统的菜单布局组件的通用性和复用率,降低了系统开发成本,而且在普通用户访问时,也可让用户有一种在使用同一个系统的体验。
111.为了更好地说明本公开的分布式系统的前端页面集成的方案,下面用另一个实施例说明。
112.图2为本公开的分布式系统的前端页面集成方法中在构建系统时将客户端的菜单树同步到服务器的流程图;本实施例以客户端和服务器之间通过交互在构建系统时实现将客户端的菜单树同步到服务器为例进行示例性说明,如图2所示,包括如下步骤:
113.在步骤201中,服务器向客户端发送构建系统菜单的构建指令。
114.在一实施例中,服务器开始构建系统时,可以通过构建脚本向客户端发送构建系统菜单的构建指令。
115.在步骤202中,客户端接收至少一个系统的服务器构建系统菜单的构建指令,从路由数据文件中获取菜单相关节点。
116.在步骤203中,客户端通过递归算法将菜单项关节点生成为菜单树。
117.在步骤202~步骤203中,客户端内维护了系统的路由数据文件,由此可在接收到系统发送的构建指令后,从路由数据文件中提取出菜单相关节点,然后通过递归算法将菜单相关节点生成为菜单树。
118.在步骤204中,客户端将菜单树发送至至少一个系统的服务器。
119.在一实施例中,菜单树可被对应系统的服务器在接收到菜单请求指令时生成对应的用户权限菜单。
120.在步骤205中,服务器接收客户端发送的菜单树,基于菜单树,确定系统菜单。
121.在一实施例中,系统菜单用于在接收到菜单请求指令时生成对应的用户权限菜单。
122.在一实施例中,服务器在接收到客户端发送的菜单树后,在进行系统构建时,服务器中便可自动存储并记录系统菜单。
123.通过上述步骤201~步骤205,可以在构建系统时,通过构建脚本将维护在客户端的菜单路由数据同步序列化到服务器,以便后续在用户登录访问系统时,菜单中间件可以生成对应的用户权限菜单并返回给客户端,有助于提高生成用户权限菜单的效率,缩短客户端的反应时间。
124.图3a为本公开的分布式系统的前端页面集成方法的又一个实施例的流程图,图3b为本公开的分布式系统中客户端的菜单显示示意图;本实施例以用户在登录系统时,如何
实现在客户端集成显示分布式系统的系统菜单为例进行示例性说明,如图3a所示,包括如下步骤:
125.在步骤301中,响应于用户的成功登录状态,向分布式系统的至少一个系统的服务器发送菜单请求指令。
126.在一实施例中,菜单请求指令中携带有用户的用户标识信息。
127.在步骤302中,接收至少一个系统的服务器返回的用户权限菜单,用户权限菜单由至少一个系统的服务器基于用户的权限列表和系统菜单得到。
128.在一实施例中,步骤301~步骤302的具体实现过程可参见图1所示实施例的步骤101~步骤102,这里不详述。
129.在步骤303中,基于系统域名、路径前缀、菜单名和模块名,确定至少一个系统所包含的用户权限菜单的菜单导航条和菜单指令名。
130.在步骤304中,异步注册用户权限菜单对应的菜单模块。
131.在步骤303和步骤304中,用户权限菜单中包括系统域名、路径前缀、菜单名和模块名,客户端在接收到用户权限菜单后,即可根据用户权限菜单包含的系统域名、路径前缀、菜单名和模块名,确定出用户可访问的用户权限菜单的菜单导航条和菜单指令名,进而异步注册用户权限菜单对应的菜单模块,确保在当前登录系统可以访问其他系统的用户权限菜单。
132.在步骤305中,渲染至少一个系统的用户权限菜单。
133.在一实施例中,步骤305的具体渲染方法可参见图1所示实施例中步骤103的描述,这里不再详述。
134.在步骤306中,响应于用户触发的点击用于切换系统的菜单导航条的操作,确定操作待切换至的系统。
135.在一实施例中,在用户使用鼠标悬停、单击某个系统的菜单导航条时,即可触发切换至对应系统的菜单的操作,此时可根据操作确定待切换至的系统,例如,参见图3b,包含五个可访问系统的菜单导航条,分别为“商品”系统、“订单”系统、“供应商”系统、“仓储”系统、“家居运营”系统,当前登录系统为“商品”系统的系统界面,如果用户使用鼠标悬停、单击“供应商”系统的菜单导航条,则可确定待切换至的系统为“供应商”系统。
136.在步骤307中,渲染操作待切换至的系统的用户权限菜单。
137.在一实施例中,由于用户成功登录分布式系统时,已经向分布式系统的所有系统的服务器发送菜单请求指令,并获取到了系统返回的用户权限菜单,而且在步骤304中异步注册了用户权限菜单对应的菜单模块,也即已经获取到了用户具有权限的用户权限菜单,此时,可直接将待切换至的系统的用户权限菜单渲染至客户端界面上。
138.通过上述步骤301~步骤307,在用户登录分布式系统后,直接向分布式系统的所有系统的服务器发送菜单请求指令,即可获取到分布式系统中所有系统对应的用户权限菜单,但是在渲染时可以先渲染当前系统的菜单以及其他系统的菜单导航条,而在后续基于用户触发的点击用于切换系统的菜单导航条的操作时,再渲染对应系统的用户权限菜单。由此,本公开技术方案不仅可以确保整个分布式系统的系统页面的一致性,而且还可以提升分布式系统中各个系统的菜单布局组件的通用性和复用率,降低了系统开发成本,而且在普通用户访问时,也可基于用户的操作快速在不同的系统之间进行切换,缩短客户端的
反应时间。
139.图4为本公开的分布式系统的前端页面集成方法的一个实施例的流程图二;该分布式系统的前端页面集成方法可以应用在服务器上,如图4所示,该分布式系统的前端页面集成方法包括以下步骤:
140.在步骤401中,接收客户端发送的菜单请求指令,菜单请求指令中携带有用户的用户标识信息,分布式系统在构建时接入统一的菜单布局组件。
141.在一实施例中,菜单请求指令中携带有用户的用户标识信息,其中,用户标识信息可以为用户在系统中的登录帐号,也可以为其他能够标识该用户的信息。
142.在步骤402中,调用权限接口,确定用户标识信息对应的权限列表。
143.在步骤403中,基于用户标识信息对应的权限列表以及系统菜单,确定用户的用户权限菜单。
144.在一实施例中,服务器在接收到用户的菜单请求指令后,可通过调用权限接口确定用户标识信息对应的权限列表;然后再进一步根据权限列表以及系统菜单,确定用户的用户权限菜单,并将确定出的菜单返回给客户端。其中,用户的权限列表为用户所具有的权限。例如,用户的权限列表包括导出、重置、变更等权限,则可将系统菜单中的与导出、重置、变更操作相关的菜单确定为用户权限菜单。
145.在步骤404中,向客户端返回用户权限菜单。
146.上述步骤401~404,在用户登录分布式系统后,可直接向分布式系统的至少一个系统所有系统的服务器发送菜单请求指令,然后服务器可通过调用权限接口获取用户权限,并且进一步根据系统菜单确定用户权限菜单并返回给客户端。本公开技术方案中,由于分布式系统的系统在构建时接入统一的菜单布局组件,因此不仅可以确保整个分布式系统的系统页面的一致性,而且还可以提升分布式系统中各个系统的菜单布局组件的通用性和复用率,降低系统开发成本。
147.与前述分布式系统的前端页面集成方法的实施例相对应,本公开还提供了分布式系统的前端页面集成装置对应的实施例。
148.图5为本公开的分布式系统的前端页面集成装置的一个实施例的结构示意图,该装置应用在客户端(如计算机)上,如图5所示,该装置包括:
149.第一发送模块51,用于响应于用户的成功登录状态,向分布式系统的至少一个系统的服务器发送菜单请求指令,菜单请求指令中携带有用户的用户标识信息,分布式系统在构建时接入统一的菜单布局组件;
150.第一接收模块52,用于接收至少一个系统的服务器返回的用户权限菜单,用户权限菜单由至少一个系统的服务器基于用户的权限列表和系统菜单得到;
151.渲染模块53,用于渲染至少一个系统的用户权限菜单。
152.图6为本公开的分布式系统的前端页面集成装置的又一个实施例的结构示意图,如图6所示,在图5所示实施例的基础上,在一实施例中,渲染模块53包括:
153.系统确定子模块531,用于基于至少一个系统的服务器返回的用户权限菜单,确定用户的可访问系统;
154.第一渲染子模块532,用于在可访问系统为空时,输出用于指示无法正常提供信息的页面;
155.第二渲染子模块533,用于在可访问系统不为空时,渲染可访问系统的菜单导航条至当前登录系统的系统页面;以及,在可访问系统包括当前登录系统时,渲染当前登录系统的用户权限菜单至当前登录系统的系统页面。
156.在一实施例中,装置还包括:
157.菜单确定模块54,用于响应于用户触发的点击用于切换系统的菜单导航条的操作,确定操作待切换至的系统;
158.渲染模块53,用于渲染操作待切换至的系统的用户权限菜单。
159.在一实施例中,用户权限菜单包括系统域名、路径前缀、菜单名和模块名;
160.在一实施例中,装置还包括:
161.菜单信息确定模块55,用于基于系统域名、路径前缀、菜单名和模块名,确定至少一个系统所包含的用户权限菜单的菜单导航条和菜单指令名;
162.异步注册模块56,用于异步注册用户权限菜单对应的菜单模块。
163.在一实施例中,装置还包括:
164.第二接收模块57,用于接收至少一个系统的服务器构建系统菜单的构建指令;
165.获取模块58,用于从路由数据文件中获取菜单相关节点;
166.菜单树生成模块59,用于通过递归算法将菜单项关节点生成为菜单树;
167.第二发送模块60,用于将菜单树发送至对应系统的服务器,菜单树用于对应系统的服务器在接收到菜单请求指令时由权限接口调用并生成对应的用户权限菜单。
168.图7为本公开的分布式系统的前端页面集成装置的一个实施例的结构示意图,该装置应用在分布式系统的服务器上,如图7所示,该装置包括:
169.第三接收模块71,用于接收客户端发送的菜单请求指令,菜单请求指令中携带有用户的用户标识信息;
170.用户权限确定模块72,用于调用权限接口,确定用户标识信息对应的权限列表;
171.权限菜单确定模块73,用于基于用户标识信息对应的权限列表以及系统菜单,确定用户的用户权限菜单;
172.第三发送模块74,用于向客户端返回用户权限菜单。
173.图8为本公开的分布式系统的前端页面集成装置的又一个实施例的结构示意图,如图8所示,在图7所示实施例的基础上,
174.在一实施例中,装置还包括:
175.第四发送模块74,用于向客户端发送构建系统菜单的构建指令;
176.第四接收模块75,用于接收客户端发送的菜单树;
177.系统菜单确定模块76,用于基于菜单树,确定系统菜单,系统菜单用于在接收到菜单请求指令时生成对应的用户权限菜单。
178.上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
179.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要
选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
180.下面,参考图9来描述根据本公开实施例的电子设备,其中可以集成本公开实施例实现方法的装置,电子设备可以为客户端,也可以为服务器。图9为本公开一示意性实施例提供的电子设备的结构图,如图9所示,电子设备9包括一个或多个处理器91、一个或多个计算机可读存储介质的存储器92,以及存储在存储器上并可在处理器上运行的计算机程序。在执行存储器92的程序时,可以实现上述分布式系统的前端页面集成方法。
181.具体的,在实际应用中,该电子设备还可以包括输入装置93、输出装置94等部件,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。本领域技术人员可以理解,图9中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者某些部件,或者不同的部件布置。其中:
182.处理器91可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
183.存储器92可以存储一个或多个计算机程序产品,存储器可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器91可以运行计算机程序产品,以实现上文的本公开的各个实施例的分布式系统的前端页面集成方法以及/或者其他期望的功能。
184.在一个示例中,电子装置还可以包括:输入装置93和输出装置94,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连,
185.此外,输入装置93可包括例如键盘、鼠标等等。
186.输出装置94可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置94可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
187.当然,为了简化,图9中仅示出了该电子设备9中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备9还可以包括任何其他适当的组件。
188.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的分布式系统前端页面集成方法中的步骤。
189.计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
190.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方
法”部分中描述的根据本公开各种实施例的分布式系统的前端页面集成方法中的步骤。
191.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
192.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
193.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
194.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
195.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
196.本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1