数据通信方法、装置、微前端系统及存储介质制造方法及图纸

技术编号:24409304 阅读:26 留言:0更新日期:2020-06-06 08:28
本申请提供一种数据通信方法、装置、微前端系统及存储介质,在用户登录时,主模块即获取用户的用户信息和权限信息,进而主模块渲染权限信息对应的主模块页面。主模块页面中包括权限信息所对应的各子模块入口。在接收到针对任一子模块的选择指令时,将用户信息和与子模块相关的权限信息传递给子模块,以使子模块渲染权限信息对应的子模块页面。这样,即通过主模块进行控制,实现了子模块对于主模块的数据的访问,实现了数据从主模块到子模块的可靠传输,一定程度上实现了主模块和子模块之间的可靠性通信。

Data communication method, device, micro front end system and storage medium

【技术实现步骤摘要】
数据通信方法、装置、微前端系统及存储介质
本申请涉及微前端
,具体而言,涉及一种数据通信方法、装置、微前端系统及存储介质。
技术介绍
微前端(MicroFrontends)是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为把多个小型前端应用聚合为一的应用。各个前端应用可以独立开发、独立部署。目前,由于各小型前端应用往往具有不同的功能,各小型前端应用(各小型前端应用也可被称之为前端应用中的各个模块)之间的通信可靠性将会直接影响到整个前端架构的可靠性。因此,如何实现前端应用中不同模块间的数据安全访问就成为了亟待解决的问题。
技术实现思路
本申请实施例的目的在于提供一种数据通信方法、装置、微前端系统及存储介质,用以实现前端应用中各模块之间的可靠性通信。本申请实施例提供了一种微前端系统中模块间的数据通信方法,包括:在用户登录时,主模块获取所述用户的用户信息和权限信息;所述主模块渲染所述权限信息对应的主模块页面;所述主模块页面中包括所述权限信息所对应的各子模块入口;在接收到针对任一子模块的选择指令时,将所述用户信息和与所述子模块相关的权限信息传递给所述子模块,以使所述子模块渲染所述权限信息对应的子模块页面;所述子模块页面中包括所述子模块具有的与所述权限信息对应的各操作入口。在上述实现过程中,当用户登录时,主模块即获取用户的用户信息和权限信息,进而主模块渲染权限信息对应的主模块页面。主模块页面中包括权限信息所对应的各子模块入口,用户可以选择任意子模块入口。主模块在接收到针对任一子模块的选择指令时,将用户信息和与子模块相关的权限信息传递给子模块,以使子模块渲染权限信息对应的子模块页面。这样,即通过主模块进行控制,实现了子模块对于主模块的数据的访问,实现了数据从主模块到子模块的可靠传输,一定程度上实现了主模块和子模块之间的可靠性通信。进一步地,所述用户信息包括所述用户在不同数据域下的角色信息;所述权限信息包括不同角色信息所对应的权限;将所述用户信息和与所述子模块相关的权限信息传递给所述子模块,包括:将所述选择指令所对应的数据域下的角色信息和所述角色信息对应的权限,传递给所述子模块。应当理解的是,在多数据范围的复杂业务场景下,同一用户可能在不同数据域下扮演有不同的角色,而不同的角色对应有不同的权限。因此在本申请实施例中,可以将选择指令所对应的数据域下的角色信息和角色信息对应的权限,传递给子模块,以使子模块根据当前数据域下的角色信息,渲染该角色信息的权限对应的子模块页面,以适应多数据范围的复杂业务场景下,用户操作的需求。进一步地,在所述将所述用户信息和与所述子模块相关的权限信息传递给所述子模块之前,所述方法还包括:判断已加载的子模块是否为所述选择指令指示的子模块;若已加载的子模块不是所述选择指令指示的子模块,卸载所述已加载的子模块;加载所述选择指令指示的子模块。在上述实现过程中,在已加载的子模块不是选择指令指示的子模块时,对已加载的子模块进行卸载,进而再加载选择指令指示的子模块;而在已加载的子模块是选择指令指示的子模块时,即直接将用户信息和与该子模块相关的权限信息传递给该子模块,这样限制了子模块只能获取有相应权限的数据域,提高了本申请实施例的方案的安全性。本申请实施例还提供了一种微前端系统中模块间的数据通信方法,应用于主模块访问子模块的过程中,所述方法包括:所述主模块在消息总线上注册需要的数据事件,并持续监听;所述数据事件为需要待访问子模块调用后端服务进行处理的事件;在监听到所述数据事件的数据回应信息后,获取所述数据回应信息;所述数据回应信息为由所述待访问子模块调用后端服务获取,并发送给所述消息总线的信息。在上述实现过程中,主模块通过在消息总线上注册需要的数据事件,并持续监听,进而在监听到数据事件的数据回应信息后,从消息总线上获取数据回应信息的方式,实现了对子模块的数据的访问,整个过程通过消息总线来实现数据获取,一定程度上实现了主模块和子模块之间的可靠性通信。进一步的,所述主模块在消息总线上注册需要的数据事件包括:所述主模块以非鉴权的方式在消息总线上注册需要的数据事件。在上述实现过程中,主模块是整个微前端系统对接外部的入口,在各模块间的数据通信过程中,其起到了中央主控作用,具有最高权限,因此主模块可以以非鉴权的方式在消息总线上注册需要的数据事件,从而提高通信效率。本申请实施例还提供了一种微前端系统中模块间的数据通信方法,应用于子模块间的数据访问过程中,所述方法包括:主模块在监听到第一子模块发到消息总线的目标服务数据后,根据所述目标服务数据查询出注册有所述目标服务数据对应的事件的所述第二子模块;调用鉴权中心对所述第二子模块进行鉴权;在所述第二子模块有权限获取所述目标服务数据时,向所述消息总线发送所述目标服务数据的数据地址信息,以使所述第二子模块在监听到所述数据地址信息后,按照所述数据地址信息获取所述目标服务数据。在上述实现过程中,主模块在监听到第一子模块发到消息总线的目标服务数据后,根据目标服务数据查询出注册有目标服务数据对应的事件的第二子模块,进而调用鉴权中心对第二子模块进行鉴权,并在第二子模块有权限获取目标服务数据时,向消息总线发送目标服务数据的数据地址信息。而第二子模块会注册有目标服务数据对应的事件并监听,在监听到数据地址信息后,即可按照数据地址信息获取目标服务数据。这样,通过主模块的居中协调,实现了对于子模块间数据通信的控制,子模块想要获取到另一子模块的数据即需要由主模块来进行鉴权,从而在实现子模块之间的可靠性通信的同时,还提高了数据通信的安全性。进一步地,所述方法还包括:所述主模块以非鉴权的方式在消息总线上注册所有跨模块访问的数据事件,并持续监听。进一步地,主模块在监听到第一子模块发到消息总线的目标服务数据后,所述方法还包括:将所述目标服务数据存储到全局数据池中;所述目标服务数据的数据地址信息为,所述目标服务数据在所述全局数据池中的保存地址。在上述实现过程中,将目标服务数据存储到全局数据池中,从而便于子模块获取,提升了方案实现的便利性。本申请实施例还提供了一种微前端系统中模块间的数据通信方法,应用于子模块间的数据访问过程中,所述方法包括:第二子模块向消息总线注册目标服务数据对应的事件,并持续监听;在监听到所述消息总线上的对应所述事件的数据地址信息后,按照所述数据地址信息获取所述目标服务数据。在上述实现过程中,第二子模块会向消息总线注册目标服务数据对应的事件并监听,在监听到数据地址信息后,即可按照数据地址信息获取目标服务数据。这样,实现了子模块间的数据通信。本申请实施例还提供了一种微前端系统中模块间的数据通信装置,应用于主模块中,包括:第一获取单元、渲染处理单元、传递单元;所述第一获取单元,用于在用户登录时,获取所述用户的用户信息和权限信息;所述渲染处理单元,用于渲染所述权限信息对应的主模块页本文档来自技高网...

【技术保护点】
1.一种微前端系统中模块间的数据通信方法,其特征在于,包括:/n在用户登录时,主模块获取所述用户的用户信息和权限信息;/n所述主模块渲染所述权限信息对应的主模块页面;所述主模块页面中包括所述权限信息所对应的各子模块入口;/n在接收到针对任一子模块的选择指令时,将所述用户信息和与所述子模块相关的权限信息传递给所述子模块,以使所述子模块渲染所述权限信息对应的子模块页面所述子模块页面中包括所述子模块具有的与所述权限信息对应的各操作入口。/n

【技术特征摘要】
1.一种微前端系统中模块间的数据通信方法,其特征在于,包括:
在用户登录时,主模块获取所述用户的用户信息和权限信息;
所述主模块渲染所述权限信息对应的主模块页面;所述主模块页面中包括所述权限信息所对应的各子模块入口;
在接收到针对任一子模块的选择指令时,将所述用户信息和与所述子模块相关的权限信息传递给所述子模块,以使所述子模块渲染所述权限信息对应的子模块页面所述子模块页面中包括所述子模块具有的与所述权限信息对应的各操作入口。


2.如权利要求1所述的模块间的数据通信方法,其特征在于,所述用户信息包括所述用户在不同数据域下的角色信息;所述权限信息包括不同角色信息所对应的权限;
将所述用户信息和与所述子模块相关的权限信息传递给所述子模块,包括:
将所述选择指令所对应的数据域下的角色信息和所述角色信息对应的权限,传递给所述子模块。


3.如权利要求1或2所述的模块间的数据通信方法,其特征在于,在将所述用户信息和与所述子模块相关的权限信息传递给所述子模块之前,所述方法还包括:
判断已加载的子模块是否为所述选择指令指示的子模块;
若已加载的子模块不是所述选择指令指示的子模块,卸载所述已加载的子模块;
加载所述选择指令指示的子模块。


4.一种微前端系统中模块间的数据通信方法,其特征在于,应用于主模块访问子模块的过程中,所述方法包括:
所述主模块在消息总线上注册需要的数据事件,并持续监听;所述数据事件为需要待访问子模块调用后端服务进行处理的事件;
在监听到所述数据事件的数据回应信息后,从所述消息总线上获取所述数据回应信息;所述数据回应信息为由所述待访问子模块调用后端服务获取,并发送给所述消息总线的信息。


5.如权利要求4所述的模块间的数据通信方法,其特征在于,所述主模块在消息总线上注册需要的数据事件包括:
所述主模块以非鉴权的方式在消息总线上注册需要的数据事件。


6.一种微前端系统中模块间的数据通信方法,其特征在于,应用于子模块间的数据访问过程中,所述方法包括:
主模块在监听到第一子模块发到消息总线的目标服务数据后,根据所述目标服务数据查询出注册有所述目标服务数据对应的事件的第二子模块;
调用鉴权中心对所述第二子模块进行鉴权;
在所述第二子模块有权限获取所述目标服务数据时,向所述消息总线发送所述目标服务数据的数据地址信息,以使所述第二子模块在监听到所述数据地址信息后,按照所述数据地址信息获取所述目标服务数据。


7.如权利要求6所述的模块间的数据通信方法,其特征在于,所述方法还包括:
所述主模块以非鉴权的方式在消息总线上注册所有跨模块访问的数据事件,并持续监听。


8.如权利要求6或7所述的模块间的数据通信方法,其特征在于,主模块在监听到第一子模块发到消息总线的目标服务数据后,所述方法还包括:
将所述目标服务数据存储到全局数据池中;
所述目标服务数据的数据地址信息为,所述目标服务数据在所述全局数据池中的保存地址。


9.一种微前端系统中模块间的数据通信方法,其特征在...

【专利技术属性】
技术研发人员:梁广玮孟繁超杨波
申请(专利权)人:无锡华云数据技术服务有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1