一种aPaaS平台加载外部业务组件包的方法及系统与流程

专利2024-12-08  43


一种apaas平台加载外部业务组件包的方法及系统
技术领域
1.本发明涉及计算机应用技术领域,具体而言,涉及一种apaas平台加载外部业务组件包的方法及系统。


背景技术:

2.apaas可以理解为paas的一种子形式。apaas的全称是app lication platform as a service,即应用程序平台即服务。gartner对其所下的定义是:这是基于paas(平台即服务)的一种解决方案,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。总之,apaas(应用程序平台即服务)能够提供快速开发的环境,用户在几个小时内就能完成应用的开发、测试、部署,并能够随时调整或更新。而且,其具有低代码或零代码,非技术人员就能完成应用开发的特点。
3.然而,现有技术中在apaas平台中加载组件时,要么是将组件包内置在apaas平台代码中,要么引入第三方组件包后依赖已有组件包开发apaas平台。导致apaas平台代码和组件代码耦合度较高,难以对组件进行定制和扩展。致使apaas平台在构建前端页面时,缺乏灵活性和柔性。


技术实现要素:

4.本发明的目的在于提供一种apaas平台加载外部业务组件包的方法及系统,能够实现用户业务组件代码和apaas平台代码的解耦。用户可以独立的开发定制个性化的组件代码,并独立更新维护,不会对平台代码造成影响,保证了平台的安全性和稳定性,同时兼顾了用户配置页面的灵活性。
5.本发明的实施例是这样实现的:
6.第一方面,本技术实施例提供一种apaas平台加载外部业务组件包的方法,其包括以下步骤:
7.根据用户编写的组件代码进行生成相应的组件包及配置文件;
8.响应用户组件上传请求将用户上传的组件包进行校验;
9.将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;
10.响应用户页面构建操作将对应业务组件应用于页面上;
11.响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。
12.在本发明的一些实施例中,上述根据用户编写的组件代码进行生成相应的组件包及配置文件的步骤具体包括:
13.响应用户的下载请求,将预置的代码模板发送至用户,并生成相应的代码模板目录;
14.响应用户打包命令,将用户在代码模板目录中编写的组件代码进行校验,若校验通过,则将组件代码进行打包生成相应的组件包及配置文件。
15.在本发明的一些实施例中,上述响应用户组件上传请求将用户上传的组件包进行校验的步骤中校验包括组件名称冲突校验和/或配置文件完整性校验。
16.在本发明的一些实施例中,上述将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载的步骤具体包括:
17.响应加载apaas平台需求进行加载平台代码,同时遍历apaas平台中所有组件信息,若发现用户上传的组件,则通过配置文件获取对应的组件包所在的位置信息;
18.根据位置信息利用https协议到组件包所在位置进行加载组件代码。
19.在本发明的一些实施例中,上述响应用户页面构建操作将对应业务组件应用于页面上的步骤具体包括:
20.响应用户添加业务组件的请求在页面上添加对应的业务组件,同时在配置页面显示业务组件的可配置项信息;
21.响应用户对业务组件的配置项的设置将设置的数据以页面数据api方式传递给对应的业务组件代码。
22.在本发明的一些实施例中,上述页面信息包括页面组件名称、页面组件构成、页面所属应用、页面自定义数据、组件对应的配置信息或组件之间的布局关系中的至少一种。
23.在本发明的一些实施例中,还包括:
24.根据业务代码信息,加载用户的业务代码;
25.根据业务代码中包含的页面信息绘制页面。
26.第二方面,本技术实施例提供一种apaas平台加载外部业务组件包的系统,其包括:
27.编写模块,用于根据用户编写的组件代码进行生成相应的组件包及配置文件;
28.校验模块,用于响应用户组件上传请求将用户上传的组件包进行校验;
29.解析模块,用于将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;
30.应用模块,用于响应用户页面构建操作将对应业务组件应用于页面上;
31.页面生成模块,用于响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。
32.第三方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项上述的方法。
33.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。
34.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
35.本发明的实例中,通过利用用户根据自身需求按照代码模板编写的组件代码进行生成相应的组件包及配置文件,然后再根据组件包及配置文件来进行组件加载,实现了用户业务组件代码和apaas平台代码的解耦。也就是说,通过采用了代码包和页面信息结合的方式描述用户的业务组件,使得用户可以独立的开发定制个性化的组件代码,并独立更新维护,不会对平台代码造成影响,保证了平台的安全性和稳定性,同时兼顾了用户配置页面的灵活性。
附图说明
36.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1为本发明一种apaas平台加载外部业务组件包的方法一实施例的流程图;
38.图2为本发明实施例中根据用户编写的组件代码进行生成相应的组件包及配置文件的步骤的具体流程图;
39.图3为本发明实施例中将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载的步骤的具体流程图;
40.图4为本发明一种apaas平台加载外部业务组件包的系统一实施例的结构框图;
41.图5为本发明实施例提供的一种电子设备的结构框图。
42.图标:1、编写模块;2、校验模块;3、解析模块;4、应用模块;5、页面生成模块;7、存储器;8、处理器;9、通信接口。
具体实施方式
43.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
44.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
46.实施例
47.请参阅图1,该一种apaas平台加载外部业务组件包的方法包括以下步骤:
48.步骤s101:根据用户编写的组件代码进行生成相应的组件包及配置文件。
49.用户在使用apaas平台的时候,可能会遇到一些页面功能无法直接直接通过apaas平台提供的基础组件组合实现,或通过基础组件组合实现的方式过于复杂的问题。因此,此时就需要加载组件来解决上述需求问题。在现有技术中,为了解决上述需求问题,在apaas平台中加载组件时,要么是将组件包内置在apaas平台代码中,要么是引入第三方组件包后依赖已有组件包开发apaas平台。这导致apaas平台代码和组件代码耦合,难以对组件进行定制和扩展。致使apaas平台在构建前端页面时,缺乏灵活性和柔性。而上述步骤中,通过用户自己独立编写的组件代码并嵌入平台的方式将可以用于解决上述需求问题,实现对组件的定制和扩展,而且如此将可以降低apaas平台代码和组件代码之间的联系,也就是能够降低两者之间的耦合度。其中,在用户根据自身需求独立进行编写相应的组件代码后,将可以基于这个组件代码用以生成相应的组件包及配置文件,为后续对其进行处理提供原始数据
支撑。
50.具体地,请参阅图2,上述根据用户编写的组件代码进行生成相应的组件包及配置文件的步骤可以具体包括:
51.步骤s201:响应用户的下载请求,将预置的代码模板发送至用户,并生成相应的代码模板目录。
52.上述步骤中,为了使得用于嵌入apaas平台的用户编写的组件代码能够和平台对接,满足平台要求,且为了降低用户编写组件代码的难度,可以通过将预置的代码模板发送给用户,用户只需要执行对应指令,在模板中生成好的代码模板目录下编写代码即可。
53.示例性地,代码模板可以是一个完整的前端项目代码,包含创建组件、项目编译打包等命令脚本,以及代码示例等。从而用户将可以较为方便的进行编写组件代码。其中,在代码模板目录下,用户可以执行创建组件命令,代码模板中会按对应生成用户的组件目录,用户可以在该目录下编写代码。另外,若代码模板采用vue.js前端框架,则用户编写代码时也需要按对应规范进行编写,同时可以参考示例代码及文档,在代码中使用apaas平台提供的一些功能性api,比如发起网络请求,获取页面已有数据,注册事件,发起活动等。用户的组件代码编写完成后,可以在模板目录下使用打包命令,目录下会生成对应的组件包及配置文件(配置文件中包含自动生成的组件配置信息,如组件名,组件类型等)。
54.步骤s202:响应用户打包命令,将用户在代码模板目录中编写的组件代码进行校验,若校验通过,则将组件代码进行打包生成相应的组件包及配置文件。
55.上述步骤中,通过对用户编写的组件代码进行校验,并在校验通过后将其进行打包生成相应的组件包及配置文件,将可以为后续对其进行处理提供原始数据支撑。
56.示例性地,对组件代码进行校验包括校验功能性api调用时参数和返回值类型是否正确,校验是否符合vue.js组件规范等。打包操作可以将用户代码编译为javascript代码,其符合ecma 262标准,及umd规范,生成的配置文件可以是符合对应规范json格式,如此将可以方便后续对其进行处理。
57.步骤s102:响应用户组件上传请求将用户上传的组件包进行校验。
58.上述步骤中,通过对用户上传的组件包进行校验,从而可以校验出其是否满足平台对接要求,方便用户对不满足条件的组件包进行处理。具体地,响应用户组件上传请求将用户上传的组件包进行校验的步骤中校验包括组件名称冲突校验和/或配置文件完整性校验。
59.步骤s103:将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载。
60.上述步骤中,通过在平台代码加载时一同加载解析的组件包,将可以方便发现用户的组件包,提高加载效率。
61.具体地,请参阅图3,上述将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载的步骤具体包括:
62.步骤s301:响应加载apaas平台需求进行加载平台代码,同时遍历apaas平台中所有组件信息,若发现用户上传的组件,则通过配置文件获取对应的组件包所在的位置信息;
63.步骤s302:根据位置信息利用https协议到组件包所在位置进行加载组件代码。
64.上述步骤中,在apaas平台加载时会遍历所有组件,当发现用户上传的组件后,则
会从组件的配置信息中获取到对应组件包所在位置,然后通过https协议到对应位置加载组件代码,实现加载组件包的功能。需要说明的是,因为组件包代码已被编译为javascript文件并满足umd规范,所以可以直接使用浏览器标准的script标签进行加载(具体script标签由html规范定义),同时采用umd规范的引入方式引入包含用户代码包代码。另外,如果后续需要对页面渲染时,用户代码包代码会被执行,同时传递apaas平台功能api作为参数给该代码,平台功能api包括:发起网络请求的api,获取页面数据的api,监听页面事件的api,发起活动的api(如页面关闭活动,网络请求活动,组件隐藏活动,修改页面数据等)。
65.步骤s104:响应用户页面构建操作将对应业务组件应用于页面上。
66.上述步骤中,用户在构建页面的时候可以在apaas平台上看到其开发的业务组件,然后将可以通过拖拽等操作将其应用与页面上。具体地,上述响应用户页面构建操作将对应业务组件应用于页面上的步骤具体包括:
67.响应用户添加业务组件的请求在页面上添加对应的业务组件,同时在配置页面显示业务组件的可配置项信息;
68.响应用户对业务组件的配置项的设置将设置的数据以页面数据api方式传递给对应的业务组件代码。
69.上述步骤中,用户构建页面时,可以在apaas平台上看到其开发的业务组件,并通过拖拽等操作应用于页面。业务组件在配置使用时和平台基本组件相同,点击对应组件名称按钮,可以在页面上添加一个对应的业务组件,同时在配置页面右侧显示组件可配置的配置项(配置项具体内容由用户编写的代码确定),用户可以对配置项进行设置,同时设置的数据会通过apaas平台以页面数据api方式传递给用户自己编写的组件代码,从而实现组件和配置信息之间的数据通信,用户可以在组件代码中根据配置信息的不同,编写不同的组件展示形式。
70.步骤s105:响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。
71.上述步骤中,其中的页面信息包括页面组件名称、页面组件构成、页面所属应用、页面自定义数据、组件对应的配置信息或组件之间的布局关系中的至少一种。另外通过将用户上传的组件包对应的业务代码信息添加页面信息中,可以方便后续对其进行处理和运算。
72.在本发明的一些实施例中,还包括:
73.根据业务代码信息,加载用户的业务代码;
74.根据业务代码中包含的页面信息绘制页面。
75.上述步骤中,通过对页面信息进行绘制,可以将其进行可视化和渲染处理,使其能够满足用户的使用需求。
76.基于同样的发明构思,请参阅图4,本发明还提出一种apaas平台加载外部业务组件包的系统,包括:
77.编写模块1,用于根据用户编写的组件代码进行生成相应的组件包及配置文件;
78.校验模块2,用于响应用户组件上传请求将用户上传的组件包进行校验;
79.解析模块3,用于将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;
80.应用模块4,用于响应用户页面构建操作将对应业务组件应用于页面上;
81.页面生成模块5,用于响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。
82.上述系统具体实现过程请参照本技术实施例提供的一种apaas平台加载外部业务组件包的方法,在此不再赘述。
83.请参阅图5,图5为本发明实施例提供的一种电子设备的结构框图。该电子设备包括存储器7、处理器8和通信接口9,该存储器7、处理器8和通信接口9相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器7可用于存储软件程序及模块,如本技术实施例所提供的一种apaas平台加载外部业务组件包的系统对应的程序指令/模块,处理器8通过执行存储在存储器7内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口9可用于与其他节点设备进行信令或数据的通信。
84.其中,存储器7可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
85.处理器8可以是一种集成电路芯片,具有信号处理能力。该处理器8可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
86.可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
87.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
88.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
89.上述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
90.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
91.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

技术特征:
1.一种apaas平台加载外部业务组件包的方法,其特征在于,包括以下步骤:根据用户编写的组件代码进行生成相应的组件包及配置文件;响应用户组件上传请求将用户上传的组件包进行校验;将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;响应用户页面构建操作将对应业务组件应用于页面上;响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。2.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,所述根据用户编写的组件代码进行生成相应的组件包及配置文件的步骤具体包括:响应用户的下载请求,将预置的代码模板发送至用户,并生成相应的代码模板目录;响应用户打包命令,将用户在代码模板目录中编写的组件代码进行校验,若校验通过,则将组件代码进行打包生成相应的组件包及配置文件。3.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,所述响应用户组件上传请求将用户上传的组件包进行校验的步骤中校验包括组件名称冲突校验和/或配置文件完整性校验。4.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,所述将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载的步骤具体包括:响应加载apaas平台需求进行加载平台代码,同时遍历apaas平台中所有组件信息,若发现用户上传的组件,则通过配置文件获取对应的组件包所在的位置信息;根据位置信息利用https协议到组件包所在位置进行加载组件代码。5.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,所述响应用户页面构建操作将对应业务组件应用于页面上的步骤具体包括:响应用户添加业务组件的请求在页面上添加对应的业务组件,同时在配置页面显示业务组件的可配置项信息;响应用户对业务组件的配置项的设置将设置的数据以页面数据api方式传递给对应的业务组件代码。6.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,所述页面信息包括页面组件名称、页面组件构成、页面所属应用、页面自定义数据、组件对应的配置信息或组件之间的布局关系中的至少一种。7.如权利要求1所述的一种apaas平台加载外部业务组件包的方法,其特征在于,还包括:根据业务代码信息,加载用户的业务代码;根据业务代码中包含的页面信息绘制页面。8.一种apaas平台加载外部业务组件包的系统,其特征在于,包括:编写模块,用于根据用户编写的组件代码进行生成相应的组件包及配置文件;校验模块,用于响应用户组件上传请求将用户上传的组件包进行校验;解析模块,用于将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;
应用模块,用于响应用户页面构建操作将对应业务组件应用于页面上;页面生成模块,用于响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。9.一种电子设备,其特征在于,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。

技术总结
本发明提出了一种aPaaS平台加载外部业务组件包的方法及系统,涉及计算机应用技术领域。其方法包括:根据用户编写的组件代码进行生成相应的组件包及配置文件;响应用户组件上传请求将用户上传的组件包进行校验;将校验后的组件包进行解析,并基于配置文件在平台代码加载时一同加载;响应用户页面构建操作将对应业务组件应用于页面上;响应用户保存请求进行保存业务组件,生成页面信息,并将用户上传的组件包对应的业务代码信息添加到页面信息中。其系统包括编写模块、校验模块、解析模块、应用模块和页面生成模块。其能够实现用户业务组件代码和aPaaS平台代码的解耦,保证了平台的安全性和稳定性,同时能够兼顾用户配置页面的灵活性。活性。活性。


技术研发人员:魏福宝 魏传博 黄克云
受保护的技术使用者:知学云(北京)科技股份有限公司
技术研发日:2022.06.18
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-10781.html

最新回复(0)