一种基于微前端和业务中台的平台生成方法及系统与流程

摘要: 本发明属于智能业务系统领域,具体地说,本发明涉及基于微前端和业务中台的平台生成方法及系统。背景技术:1、随着企业信息化建设的不断深入,企业内部通常会建设多个独立...
一种基于微前端和业务中台的平台生成方法及系统与流程

本发明属于智能业务系统领域,具体地说,本发明涉及基于微前端和业务中台的平台生成方法及系统。

背景技术:

1、随着企业信息化建设的不断深入,企业内部通常会建设多个独立的业务系统,例如线索到成交系统(ltc,lead to cash)、售后问题解决系统(itr,issue to resolution)、用户中心等。这些系统往往由不同团队在不同时期独立开发,技术栈各异,部署环境相互隔离。对于拥有多个事业部的企业而言,每个业务单元都需要单独部署和维护一整套系统,从而导致硬件资源浪费、运维成本居高不下以及数据孤岛问题日益严重。同时,用户需要在多个系统之间反复登录与切换,操作繁琐,体验欠佳。

2、近年来,微前端架构作为一种解决前端应用聚合问题的技术方案逐渐兴起。其将大型前端应用拆解为多个可独立开发、独立部署的子应用,再通过一个基座应用将其组合为一个整体。目前常见的微前端实现方案包括基于web components的框架,以及基于应用加载的框架。

技术实现思路

1、本发明旨在克服现有技术的不足,提出了基于微前端和业务中台的平台生成方法及系统,以达到以下目的:实现一套代码,多租户复用,显著降低部署与运维成本;实现统一的权限与菜单管理,提升系统安全性与用户体验;在子应用符合预设接入规范的情况下实现基于配置的低代码集成,提升平台扩展能力。

2、为了实现上述目的,本发明采取的技术方案为:

3、本发明提供了一种基于微前端和业务中台的平台生成方法。本技术所称平台生成,是指基座应用根据业务中台返回的菜单配置、权限信息和子应用注册信息,自动生成平台主菜单、路由配置及权限控制关系,并动态加载对应的子应用。所述方法包括:

4、步骤s1、初始化基座应用并获取当前登录用户的租户信息与身份信息;

5、步骤s2、业务中台根据所述租户信息与身份信息,查询当前租户下的用户角色及权限信息,并基于预先配置的菜单-子应用映射关系和子应用注册信息生成对应的菜单配置;

6、步骤s3、基座应用根据所述菜单配置及权限信息自动生成平台主菜单、路由配置及菜单项与页面元素的权限控制关系;

7、步骤s4、基座应用监听用户对菜单项的操作事件以获取菜单项所对应目标子应用的路由信息及标识;

8、步骤s5、基座应用根据所述目标子应用的标识,通过微前端加载器获取其入口url并动态加载所述目标子应用,在无需针对每个子应用修改基座应用加载逻辑的情况下完成子应用挂载,并通过预设安全传输机制向所述目标子应用传递租户信息、身份信息及权限信息;

9、步骤s6、子应用接收并解析基座应用传递的信息,经内部鉴权后进行业务页面渲染。

10、进一步的,步骤s1中,基座应用初始化操作包括加载公共样式、初始化全局状态管理、设置请求拦截器。

11、进一步的,所述业务中台包括权限中心、配置中心和租户中心,其中:

12、权限中心,用于存储用户、角色、权限的映射关系;

13、配置中心,用于存储多租户下的菜单-子应用映射关系及子应用注册信息;

14、租户中心,用于租户信息的存储与隔离。

15、进一步的,配置中心中,菜单以树形结构组织,包括多个菜单项,每个菜单项关联一个子应用标识和路由路径。

16、进一步的,步骤s2包括:

17、业务中台获取基座应用发送的租户信息与身份信息;

18、业务中台验证身份信息的有效性,解析出用户id;

19、业务中台根据用户id和租户信息,查询权限中心,获取该用户在当前租户下的所有角色及权限信息;

20、业务中台根据租户信息和用户角色,查询配置中心,获取该租户下对应该用户角色的菜单配置;

21、业务中台将所述菜单配置与权限信息组合后返回给基座应用。

22、进一步的,步骤s3中,基座应用接收到业务中台返回的菜单配置后,利用前端路由库和ui组件库动态生成平台的主导航菜单;渲染时,基座应用结合权限信息,对用户没有权限的菜单项进行隐藏或禁用。

23、进一步的,基座应用结合权限信息,对用户没有权限的菜单项进行隐藏或禁用,包括:

24、对于每个菜单项,检查其关联的权限码是否存在于用户的权限点列表中;

25、若存在,则正常渲染该菜单项;若不存在,则根据配置策略进行隐藏或禁用。

26、进一步的,对于子菜单,采用递归判定:仅当至少一个子菜单项有权限时,父菜单才显示。

27、进一步的,步骤s4包括:

28、用户点击菜单项时,基座应用的菜单点击事件处理函数被触发,该处理函数执行以下操作:

29、获取被点击菜单项关联的子应用标识和路由;

30、检查该子应用是否已经被加载;若尚未加载,则跳转至步骤s5执行加载流程;若已加载,则直接切换到对应的路由页面。

31、进一步的,所述步骤s5包括:

32、加载器根据子应用标识,向业务中台请求获取该子应用的入口url;

33、加载器创建用于挂载目标子应用的自定义元素,设置其name属性为子应用标识,url属性为入口url;

34、基座应用通过该标签的data属性或自定义事件,将当前的租户信息、身份信息和权限信息传递给子应用。

35、进一步的,加载器采用预连接策略:在用户鼠标悬停菜单项时,提前解析子应用入口域名的dns并建立tcp连接。

36、进一步的,基座应用与子应用之间的数据传递采用预设安全传输机制,并由子应用对接收数据的完整性进行校验。

37、进一步的,所述安全传输机制包括采用aes对称加密算法对传输数据进行加密,并采用mac或数字签名对数据完整性进行校验。

38、进一步的,所述步骤s6包括:

39、子应用接收到基座应用传递的信息后,从中解析出租户信息与身份信息,并验证数据的完整性;

40、验证完成后,将身份信息存入自己的请求拦截器中,用于后续与自身后端的接口调用;之后,所有子应用发出的api请求均自动携带该身份信息。

41、进一步的,步骤s6中,所述鉴权操作包括:子应用内部维护一份路由-权限码映射表,当用户尝试访问任一路由时,子应用通过查表获取对应的权限码,随后检查基座应用传递的权限点列表中是否包含对应的权限码;若包含,则允许访问,否则拒绝访问。

42、本发明还提供了一种基于微前端和业务中台的平台生成系统,使用上述的一种基于微前端和业务中台的平台生成方法,所述系统包括用户层、应用层、子应用层、业务中台层,其中:

43、所述用户层用于接收用户操作,并向所述应用层提供当前用户的租户信息与身份信息;

44、所述应用层用于部署基座应用,并执行以下任务:与业务中台通信,获取与当前租户和用户角色对应的菜单配置、权限信息及子应用注册信息,自动生成平台主菜单、路由配置及权限控制关系,监听用户对菜单项的操作事件以获取目标子应用的路由信息及标识,并通过微前端加载器动态加载目标子应用以及传递租户信息、身份信息和权限信息;

45、所述子应用层用于部署子应用,所述子应用用于接收并解析所述应用层传递的信息,经内部鉴权后渲染对应的业务页面;

46、所述业务中台层用于部署业务中台,所述业务中台用于存储租户信息、用户角色与权限的映射关系、菜单-子应用映射关系及子应用注册信息,并根据当前用户的租户信息与身份信息生成对应的菜单配置及权限信息。

47、本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种基于微前端和业务中台的平台生成方法。

48、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述的一种基于微前端和业务中台的平台生成方法。

49、本发明的技术效果为:

50、 1、实现一套代码,多租户复用,显著降低部署与运维成本:

51、本发明通过引入业务中台与多租户架构,将不同事业部、不同客户的环境配置(如菜单、权限、数据源等)从应用代码中剥离,统一存储于业务中台。基座应用及所有子应用仅需部署一套代码,即可依据租户信息动态切换配置,服务于全部租户。该方案有效避免了传统模式中为每个租户单独部署和维护整套系统所带来的资源浪费与高昂成本,实现了核心业务逻辑的高效复用;

52、2、实现统一的权限与菜单管理,提升系统安全性与用户体验:

53、本发明将分散在各个子应用中的权限与菜单管理功能上移至业务中台与基座应用。通过中台统一获取用户的全局权限信息,并由基座应用动态生成与渲染菜单,实现了平台级的一体化视图。权限控制点前移至基座层面,能够预先屏蔽用户无权限的功能入口,避免无效请求与越权访问,从而在提升系统安全性的同时显著改善用户体验;

54、3、在子应用符合预设接入规范的情况下实现基于配置的低代码集成,提升平台扩展能力:

55、本发明利用业务中台的配置能力,将新子应用的注册、菜单挂载、权限配置等集成操作抽象为可配置项。当需要集成新系统时,开发或运维人员只需在业务中台进行可视化配置(例如填写子应用名称、入口url、分配菜单权限等),无需修改基座应用或新系统的代码。基座应用即可自动识别并加载该子应用,实现“即插即用”式的扩展能力,极大降低了集成门槛,显著提升了平台的灵活性与可扩展性。