基于前端技术实现的工业产品应用体系构建的方法、系统技术方案

技术编号:35945408 阅读:17 留言:0更新日期:2022-12-14 10:35
本发明专利技术属于微前端技术领域,提供了一种基于前端技术实现的工业产品应用体系构建的方法、系统,所述方法包括:产品业务拆分:将产品按照基础业务、核心业务、扩展业务进行拆分解耦,形成一个主应用和不同的业务微应用;主应用的配置器按照配置信息加载不同的业务微应用;产品组装:本地化组装、在线组组装;产品源码闭源传递:按业务微应用逐一打包构建,并通过脚本自定将结构存放在统一目录中,形成产品包;根据产品包拟定产品二开示例工程,然后,传递产品包和二开示例工程;页面拓展:原生页面扩展、现有页面的二次扩展和修改。本发明专利技术实现了符合工业软件开发、交付实际场景和基本安全需求的产品应用构建体系。需求的产品应用构建体系。需求的产品应用构建体系。

【技术实现步骤摘要】
基于前端技术实现的工业产品应用体系构建的方法、系统


[0001]本专利技术属于微前端
,具体的说,是涉及一种基于前端技术实现的工业产品应用体系构建的方法、系统。

技术介绍

[0002]在工业软件交付场景中,乙方的软件产品往往不能直接交付甲方使用,而需要经过二次开发(二开)甚至三次开发(三开),直到满足甲方需求。但是承担二开或三开的通常是项目交付团队,不是产品研发团队,为了实现产品源码的版本管理和安全要求,往往需要实现闭源传递,但是闭源传递会导致二开无法新增、删除、修改已经闭源的产品功能。工业软件往往是多个产品相互组合形成的一个能满足某些工业生产场景的产品集合,在前端领域则大多会体现在多个web入口、多个web项目,多个部署位置。
[0003]微前端技术是将一个前端项目拆分为一个主项目(主应用)和多个子项目(微应用),在运行时合并为一个完整应用的技术,主要解决了子项目独立开发、运维的问题。现有技术中,在工业软件开发的应用场景,微前端技术主要存在以下不足:
[0004](1)微应用的多重嵌套使用时,路由自动激活加载微应用不可靠(非常容易加载失败);微应用的加载有两种方式,方式一:路由模式,微应用与路由信息绑定,通过监听路由变化自动触发微应用加载动作,从指定的微应用入口获取文件资源、执行挂载到指定的容器节点(挂载点),创建js实例;同时触发不符合路由关系微应用的卸载,清空相应容器节点内容,销毁js实例,该方法可以给场景设定路由,由路由决定加载哪些微应用,但是在多重嵌套微应用时受限于挂载点的异步延时生成,不能及时找到挂载点导致加载/卸载异常;方式二:手动模式,手动触发微应用加载动作,从指定的微应用入口获取文件资源、执行挂载到指定的容器节点,创建js实例;同时手动触发不符和需求微应用的卸载,清空相应容器节点内容,销毁js实例,该方法只能通过代码固定在业务逻辑内,不能实现灵活重组,且在大规模应用时内嵌加载、卸载逻辑十分复杂。
[0005](2)同时开发多个微应用时启动过程及配置复杂,需要启动多个服务及端口,同时注册微应用时端口也必须一致。
[0006](3)多产品间的微应用组合展示时,不能一次性引入某个产品的所有微应用,且注册微应用的过程和被引入的微应用耦合,注册信息需要两边同时修改。

技术实现思路

[0007]本专利技术的目的在于提供一种满足工业软件开发和交付场景下对web前端产品的需求的基于前端技术实现的工业产品应用体系构建的方法,以解决现有技术所存在的技术问题。
[0008]为了实现上述目的,本专利技术采取的技术方案如下:
[0009]一种基于前端技术实现的工业产品应用体系构建的方法,包括:
[0010](1)产品业务拆分:将产品按照基础业务、核心业务、扩展业务进行拆分解耦,形成
一个主应用和不同的业务微应用;
[0011](2)主应用的配置器按照配置信息加载不同的业务微应用;
[0012](3)产品组装:(31)本地化组装,将需要组装的产品的配置信息合并为一个apps.json,同时,将不同的产品的业务代码块合并到一个目录下;(32)在线组组装,若干已经独立部署的产品相互按不同颗粒度相互在线组装;
[0013](4)产品源码闭源传递:按业务微应用逐一打包构建,并通过脚本自定将结构存放在统一目录中,形成产品包;根据产品包拟定产品二开示例工程,然后,传递产品包和二开示例工程;
[0014](5)页面拓展:(51)原生页面扩展:在二开示例工程的apps目录下按微应用示例新建微应用工程,在二开示例工程的apps.json内,仿造示例微应用的配置,添加对应的微应用信息,触发激活规则,实现原生页面扩展;(52)现有页面的二次扩展和修改:在开发页面时预埋点,在二开示例工程的apps目录下按微应用示例新建微应用工程,并配置特定描述的apps.json内容,触发激活规则,实现现有页面的二次扩展和修改。
[0015]作为优选的,所述的配置信息包含主应用信息和所有业务微应用的名称、依赖父级名称、激活规则、容器信息、入口地址、菜单信息,以文件形式单独存在。
[0016]作为优选的,所述(2)中业务微应用的加载方法,具体如下:根据业务微应用的配置信息,动态创建挂载点,监听挂载点创建完成后,再执行业务微应用的挂载动作;
[0017]挂载动作:基于路由激活规则,根据配置信息判断业务微应用的挂载点是否存在,若挂载点存在,则直接将微应用加载到容器内,若不存在则将挂载点信息加入监听序列,监听页面元素结构变化,当指定挂载点被渲染后,成功触发监听回调,将对应业务微应用加载到容器内。
[0018]作为优选的,所述(32)包括:
[0019](321)全量产品的在线组装,首先,一个产品的apps.json内配置另一个产品的apps.json文件地址;然后,该所述的一个产品的配置器在线获取所述的另一个产品的所有微应用的入口文件;最后,加载解析所述的入口文件,获取运行依赖资源,并加载到所述的一个产品的主应用中;
[0020](322)部分产品的在线组装,首先,一个产品的apps.json内配置另一个产品某个微应用的apps.json文件地址;然后,该所述的一个产品的配置器在线获取所述的另一个产品的所述某个微应用的入口文件;最后,加载解析所述的入口文件,获取运行依赖资源,并加载到所述的一个产品的主应用中;
[0021](323)动态替换微应用,当产品中的某个业务数据需要动态加载不同设备终端的业务微应用时,业务数据提供设备终端地址,配置器通过地址获取设备终端的apps.json,并执行组装加载,实现按业务动态替换微应用。
[0022]作为优选的,所述(4)中的二开示例工程包括二开示例和打包构建方法;其中,所述的打包构建方法如下:(41)环境准备,将闭源的产品包部署到开发服务器上,得到产品访问地址;(42)在二开示例工程的apps.json中配置所述的产品访问地址;(43)配置器通过产品访问地址加载产品的所有业务微应用;(44)得到在线的仿真集成开发环境。
[0023]作为优选的,还包括基于所述的仿真集成开发环境实现多产品协同开发。
[0024]作为优选的,还包括同时开发多个业务微应用时,所有业务微应用都启动到一个
服务端口,然后使用业务微应用配置的name属性作为唯一路径,并将加载业务微应用的入口指向服务端口+name。
[0025]作为优选的,还包括当主产品和被协同产品间的微应用组合展示时,主产品的配置信息配置被协同产品的配置信息和过滤条件,主产品的配置信息和被协同产品的配置信息相互解耦,主产品的加载器根据配置将被协同产品的配置信息全量加载,并根据过滤条件按需合并到主产品的运行配置中,形成主产品的运行时配置。
[0026]作为优选的,所述(1)中基础业务是指产品的基础业务,核心业务是指产品的主要业务和特有的业务,扩展业务是指提升产品增值空间的业务。
[0027]为了实现上述目的,本专利技术还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于前端技术实现的工业产品应用体系构建的方法,其特征在于,包括:(1)产品业务拆分:将产品按照基础业务、核心业务、扩展业务进行拆分解耦,形成一个主应用和不同的业务微应用;(2)主应用的配置器按照配置信息加载不同的业务微应用;(3)产品组装:(31)本地化组装,将需要组装的产品的配置信息合并为一个apps.json,同时,将不同的产品的业务代码块合并到一个目录下;(32)在线组组装,若干已经独立部署的产品相互按不同颗粒度相互在线组装;(4)产品源码闭源传递:按业务微应用逐一打包构建,并通过脚本自定将结构存放在统一目录中,形成产品包;根据产品包拟定产品二开示例工程,然后,传递产品包和二开示例工程;(5)页面拓展:(51)原生页面扩展:在二开示例工程的apps目录下按微应用示例新建微应用工程,在二开示例工程的apps.json内,仿造示例微应用的配置,添加对应的微应用信息,触发激活规则,实现原生页面扩展;(52)现有页面的二次扩展和修改:在开发页面时预埋点,在二开示例工程的apps目录下按微应用示例新建微应用工程,并配置特定描述的apps.json内容,触发激活规则,实现现有页面的二次扩展和修改。2.根据权利要求1所述的基于前端技术实现的工业产品应用体系构建的方法,其特征在于:所述的配置信息包含主应用信息和所有业务微应用的名称、依赖父级名称、激活规则、容器信息、入口地址、菜单信息,以文件形式单独存在。3.根据权利要求2所述的基于前端技术实现的工业产品应用体系构建的方法,其特征在于:所述(2)中业务微应用的加载方法,具体如下:根据业务微应用的配置信息,动态创建挂载点,监听挂载点创建完成后,再执行业务微应用的挂载动作;挂载动作:基于路由激活规则,根据配置信息判断业务微应用的挂载点是否存在,若挂载点存在,则直接将微应用加载到容器内,若不存在则将挂载点信息加入监听序列,监听页面元素结构变化,当指定挂载点被渲染后,成功触发监听回调,将对应业务微应用加载到容器内。4.根据权利要求3所述的基于前端技术实现的工业产品应用体系构建的方法,其特征在于:所述(32)包括:(321)全量产品的在线组装,首先,一个产品的apps.json内配置另一个产品的apps.json文件地址;然后,该所述的一个产品的配置器在线获取所述的另一个产品的所有微应用的入口文件;最后,加载解析所述的入口文件,获取运行依赖资源,并加载到所述的一个产品的主应用中;(322)部分产品的在线组装,首先,一个产品的apps.json内配置另一个产品某个微应用的apps.json文件地址;然后,该所述的一个产品的配置器在线获取所述的另一个产品的所述某个微应用的入口文件;最后,加载解析所述的入口文件,获取运行依赖资源,并加载到所述的一个产品的主应用中;(323)动态替换微应用,当产品中的某个业务数据需要动态加载不同设备终端的业务微应用时,业务...

【专利技术属性】
技术研发人员:张成康陈健吴拥军马亮刘链秋王军陈利群
申请(专利权)人:广州赛意信息科技股份有限公司
类型:发明
国别省市:

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

1