一种通用组件平台和通用组件平台的应用方法与流程

未命名 07-27 阅读:107 评论:0


1.本发明涉及业务组件领域,特别地,涉及一种通用组件平台和通用组件平台的应用方法。


背景技术:

2.控件技术为浏览器自身提供原生技术,支持浏览器通过js(即javascript)访问本地资源,因不同的浏览器、同一浏览器的高低版本的控件技术均存在差异,从而基于浏览器的控件技术实现的不同产品的控件,开发维护成本大,需逐一适配各操作系统的各种浏览器。
3.因此,现在亟需一种通用组件平台,采用统一的解决方案降低不同操作系统的各浏览器不同控件改造的成本。


技术实现要素:

4.本文实施例的目的在于提供一种通用组件平台和通用组件平台的应用方法,以降低不同操作系统的各浏览器不同控件改造的成本。
5.为达到上述目的,一方面,本文实施例提供了一种通用组件平台,包括:
6.通用组件js,所述通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;
7.所述通用组件js用于屏蔽不同浏览器的差异,与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序,并将通用组件本地程序返回的执行结果发送至所述业务js;
8.通用组件本地程序,所述通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序用于接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库得到执行结果,并将所述执行结果发送至所述通用组件js;
9.业务动态库,所述业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库用于接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序。
10.优选的,所述通用组件js采用通用js标准适配不同浏览器框架,以屏蔽不同浏览器的差异。
11.优选的,所述通用组件本地程序基于操作系统原生机制适配对应的操作系统,所述通用组件本地程序提供统一的标准接口,所述标准接口通过通用组件js统一与不同浏览器的业务js进行通信。
12.优选的,所述通用组件本地程序包括通讯模块和安全模块;
13.所述通讯模块用于接收所述通用组件js发送的数据请求,调用业务动态库得到请求结果,并将所述请求结果发送至所述通用组件js;
14.所述安全模块用于解析所述通用组件js发送的数据请求,确定所述数据请求对应的合法的业务动态库。
15.优选的,所述安全模块还用于安全认证集成所述业务js的业务系统,以确保所述通用组件本地程序只能被安全的业务系统及业务js调用。
16.优选的,所述安全模块还用于安全认证集成所述业务js的业务系统,进一步包括:
17.所述安全模块向所述业务系统的发送第一认证请求;
18.所述业务系统接收所述第一认证请求,向所述安全模块发送业务系统的许可证以及签名数据;
19.所述安全模块接收所述业务系统的许可证以及签名数据,将所述许可证与安全许可证表进行对比,将所述签名数据与安全签名数据表进行对比,以安全认证集成所述业务js的业务系统。
20.优选的,所述安全模块还用于安全认证所述业务动态库,以确保所述通用组件本地程序调用安全的业务动态库。
21.优选的,所述安全模块还用于安全认证所述业务动态库,进一步包括:
22.所述安全模块向所述业务动态库发送第二认证请求;
23.所述业务动态库接收所述第二认证请求,向所述安全模块发送业务动态库的签名值;
24.所述安全模块接收所述业务动态库的签名值,将所述签名值与安全签名值表进行对比,以确保所述通用组件本地程序调用安全的业务动态库。
25.优选的,所述业务动态库包括初始化接口、反初始化接口和业务逻辑处理接口;
26.所述初始化接口用于加载本地资源及初始化设置;
27.所述业务逻辑处理接口用于接收通用组件本地程序发送的数据请求,得到对应的请求结果,并将所述请求结果发送至通用组件本地程序;
28.所述反初始化接口用于释放所述本地资源。
29.优选的,所述业务逻辑处理接口还用于解析通用组件本地程序发送的数据请求,得到数据请求中的参数和参数值;当所述数据请求的格式、数据请求中的参数和参数值合法时,将对应的请求结果发送至通用组件本地程序。
30.另一方面,本文实施例提供了一种通用组件平台的应用方法,所述方法包括:
31.通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;所述通用组件js与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序;
32.通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库;
33.业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序;
34.通用组件本地程序接收所述业务动态库返回的执行结果并发送至所述通用组件
js;
35.通用组件js接收所述通用组件本地程序发送的执行结果并发送至业务js。
36.又一方面,本文实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
37.又一方面,本文实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
38.由以上本文实施例提供的技术方案可见,本技术中的通用组件平台采用统一的解决方案降低不同操作系统的各浏览器不同控件改造的成本,提供统一的安全基础服务,各业务功能改造时只需关注原有功能的平移,无需关注通讯、安全等通用功能,改造工作量小,成本低,另外不同业务功能的改造遵循同一套标准,便于管控。
39.为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
40.为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1示出了本文实施例提供的一种通用组件平台的整体架构图;
42.图2示出了本文实施例提供的一种通用组件平台的模块结构示意图;
43.图3示出了本文实施例提供的通用组件本地程序的模块结构示意图;
44.图4示出了本文实施例提供的一种通用组件平台的应用方法的流程示意图;
45.图5示出了本文实施例提供的计算机设备的结构示意图。
46.附图符号说明:
47.100、通用组件js;
48.200、通用组件本地程序;
49.300、业务动态库;
50.400、通讯模块;
51.500、安全模块;
52.502、计算机设备;
53.504、处理器;
54.506、存储器;
55.508、驱动机构;
56.510、输入/输出模块;
57.512、输入设备;
58.514、输出设备;
59.516、呈现设备;
60.518、图形用户接口;
61.520、网络接口;
62.522、通信链路;
63.524、通信总线。
具体实施方式
64.下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
65.控件技术为浏览器自身提供原生技术,支持浏览器通过js(即javascript)访问本地资源,因不同的浏览器、同一浏览器的高低版本的控件技术均存在差异,从而基于浏览器的控件技术实现的不同产品的控件,开发维护成本大,需逐一适配各操作系统的各种浏览器。
66.为了解决上述问题,本文实施例提供了一种通用组件平台。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
67.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
68.参照图1和图2,一种通用组件平台,包括:
69.通用组件js100,所述通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;
70.所述通用组件js用于屏蔽不同浏览器的差异,与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序,并将通用组件本地程序返回的执行结果发送至所述业务js;
71.通用组件本地程序200,所述通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序用于接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库得到执行结果,并将所述执行结果发送至所述通用组件js;
72.业务动态库300,所述业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库用于接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序。
73.需要说明的是,服务端是为用户提供服务的一端,应用端是用户所使用的一端,服务端中可以安装有各种不同的浏览器,例如ie浏览器、chrome浏览器、firefox浏览器和safari浏览器等。一般来说,服务端中设置有支撑全量业务的业务系统,业务系统中集成了
所有的业务功能,不同业务功能通过不同的业务js来实现。在现有技术中,因浏览器不同、同一浏览器的高低版本不同,导致在应用端的控件存在差异,同一业务功能的控件需适配各操作系统的各种浏览器(控件机制方面,ie浏览器采用activex机制、chrome42浏览器及以上采用native message机制、firefox50浏览器及以上采用ppapi机制、edge浏览器采用uwp机制、safari12浏览器及以上采用native message机制),因此现有技术实现的不同业务功能的控件开发维护成本大。
74.而本技术中实现了去控件技术,对于同一业务功能的产品来说,无需开发适配各操作系统中各种浏览器的控件。其中包括设置在服务端的通用组件js,通用组件js可以屏蔽不同浏览器的差异,与业务js以及通用组件本地程序双方进行通信,具体的,由于不同浏览器的业务js不同,因此需要通过通用组件js采用通用js标准(如js标准:ecmascript 6及以上)适配不同浏览器框架,以屏蔽不同浏览器的差异。如此,无论是何种操作系统中何种浏览器的业务js发送的数据请求,均可以通过通用组件js发送至应用端。
75.本技术中为了实现去控件技术,在应用端设置通用组件本地程序,每一操作系统中设置有唯一的通用组件本地程序,通用组件本地程序无需适配每一操作系统中各种不同的浏览器,通用组件本地程序基于操作系统原生机制适配对应的操作系统,所述通用组件本地程序提供统一的标准接口,所述标准接口通过通用组件js统一与不同浏览器的业务js进行通信。
76.通用组件本地程序需要通过通用组件js才能与不同浏览器的业务js进行通信,通用组件js将业务js的数据请求发送至通用组件本地程序,通用组件本地程序接收通用组件js发送的数据请求后进行解析,通过解析得到响应该数据请求的业务动态库,调用对应的业务动态库得到执行结果,将执行结果发送至通用组件js,通用组件js接收执行结果后发送至业务js。在服务端不同业务功能通过不同的业务js来实现,在应用端不同业务动态库对应实现不同业务功能。
77.其中,各操作系统的通用组件本地程序具体实现时可以保持逻辑代码共用,各业务动态库具体实现时也可以保持逻辑代码共用,与各操作系统特性相关的代码差别化处理,从而减少开发成本。不同操作系统的通用组件本地程序为通用组件js提供统一且标准的服务接口,从而通用组件平台js只需实施一次,即可适配不同操作系统的通用组件本地程序。
78.本技术中的通用组件平台采用统一的解决方案降低不同操作系统的各浏览器不同控件改造的成本,提供统一的安全基础服务,各业务功能改造时只需关注原有功能的平移,无需关注通讯、安全等通用功能,改造工作量小,成本低,另外不同业务功能的改造遵循同一套标准,便于管控。
79.例如,ie浏览器下业务系统中的业务js-1为ukey业务js,业务js-1向通用组件js发送用户身份认证的数据请求,通用组件js将数据请求发送至用户的windows操作系统(或macos操作系统)中通用组件本地程序中,通用组件本地程序调用业务动态库-1得到用户身份认证数据请求的执行结果,即用户的签名,将用户签名发送至通用组件js,通用组件js将用户签名发送至ie浏览器下业务系统中的业务js-1。
80.在本技术中,参照图3,所述通用组件本地程序包括通讯模块400和安全模块500;
81.所述通讯模块400用于接收所述通用组件js发送的数据请求,调用业务动态库得
到请求结果,并将所述请求结果发送至所述通用组件js;
82.所述安全模块500用于解析所述通用组件js发送的数据请求,确定所述数据请求对应的合法的业务动态库。
83.对于安全模块来说,解析数据请求中的业务动态库名称字段,从而得到业务动态库名称,可以通过白名单表记录合法的业务动态库名称,若解析得到的业务动态库名称在白名单表中,则允许通讯模块调用该业务动态库,若解析得到的业务动态库名称不再白名单表中,则禁止通讯模块调用该业务动态库,确保只有白名单表中的业务动态库才能接入通用组件本地程序。
84.在本技术中,所述安全模块还用于安全认证集成所述业务js的业务系统,以确保所述通用组件本地程序只能被安全的业务系统及业务js调用,具体的:
85.所述安全模块向所述业务系统的发送第一认证请求;
86.所述业务系统接收所述第一认证请求,向所述安全模块发送业务系统的许可证以及签名数据;
87.所述安全模块接收所述业务系统的许可证以及签名数据,将所述许可证与安全许可证表进行对比,将所述签名数据与安全签名数据表进行对比,以安全认证集成所述业务js的业务系统。
88.上述安全模块对集成业务js的业务系统进行安全认证的具体步骤可以在通用组件平台投入使用之前进行,在认证业务系统的许可证以及签名数据时,许可证或签名数据对应的非对称密钥公钥可以存储在通用组件本地程序中,确保是合法的业务系统调用通用组件平台。
89.在本技术中,所述安全模块还用于安全认证所述业务动态库,以确保所述通用组件本地程序调用安全的业务动态库,具体的:
90.所述安全模块向所述业务动态库发送第二认证请求;
91.所述业务动态库接收所述第二认证请求,向所述安全模块发送业务动态库的签名值;
92.所述安全模块接收所述业务动态库的签名值,将所述签名值与安全签名值表进行对比,以确保所述通用组件本地程序调用安全的业务动态库。
93.上述安全模块对集成业务动态库进行安全认证的具体步骤也可以在通用组件平台投入使用之前进行,在认证业务动态库时,签名值对应的非对称密钥公钥可以存储在通用组件平台本地程序中,确保只有合法的业务动态库才能接入通用组件本地程序。
94.在本技术中,所述业务动态库包括初始化接口、反初始化接口和业务逻辑处理接口;
95.所述初始化接口用于加载本地资源及初始化设置;
96.所述业务逻辑处理接口用于接收通用组件本地程序发送的数据请求,得到对应的请求结果,并将所述请求结果发送至通用组件本地程序;
97.所述反初始化接口用于释放所述本地资源。
98.其中本地资源包括操作系统核心动态库、系统配置等,初始化设置包括usb通讯协议等设置,业务逻辑处理接口还用于解析通用组件本地程序发送的数据请求,得到数据请求中的参数和参数值,参数可以包括交易类型、交易名称、交易数据、交易结果返回格式等,
参数值为参数对应的具体值,例如交易类型对应的参数值为签名,交易名称对应的参数值为pdf文件签名,交易数据对应的参数值为rsa2048证书、电子合同整体数据或电子合同路径,交易结果返回类型对应的参数值为base64格式的裸签名结果。当所述数据请求的格式、数据请求中的参数和参数值合法时,将对应的请求结果发送至通用组件本地程序。
99.在本技术中,各业务js下发的数据请求可以采用统一的数据报文规范和格式,屏蔽不同业务报文格式的差异,数据报文规范中包括报文版本、业务动态库名称、业务类型、交易名称、交易数据等,数据请求下发至通用组件本地程序,通用组件本地程序解析数据请求,自动加载对应业务动态库,调用对应业务动态库的业务逻辑处理接口,得到对应请求结果的执行结果。业务动态库在返回执行结果时,也可以遵循统一的命名格式命名后返回。
100.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。且本技术实施例描述的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
101.基于上述所述的一种通用组件平台,本文实施例还提供一种通用组件平台的应用方法。具体地,参照图4,一种通用组件平台的应用方法,包括:
102.s101:通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;所述通用组件js与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序;
103.s102:通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库;
104.s103:业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序;
105.s104:通用组件本地程序接收所述业务动态库返回的执行结果并发送至所述通用组件js;
106.s105:通用组件js接收所述通用组件本地程序发送的执行结果并发送至业务js。
107.参照图5所示,基于上述所述的一种通用组件平台的应用方法,本文一实施例中还提供一种计算机设备502,其中上述方法运行在计算机设备502上。计算机设备502可以包括一个或多个处理器504,诸如一个或多个中央处理单元(cpu)或图形处理器(gpu),每个处理单元可以实现一个或多个硬件线程。计算机设备502还可以包括任何存储器506,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施方式中,存储器506上并可在处理器504上运行的计算机程序,所述计算机程序被所述处理器504运行时,可以执行根据上述方法的指令。非限制性的,比如,存储器506可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备502的固定或可移除部件。在一种情况下,当处理器504执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备502可以执行相
关联指令的任一操作。计算机设备502还包括用于与任何存储器交互的一个或多个驱动机构508,诸如硬盘驱动机构、光盘驱动机构等。
108.计算机设备502还可以包括输入/输出模块510(i/o),其用于接收各种输入(经由输入设备512)和用于提供各种输出(经由输出设备514)。一个具体输出机构可以包括呈现设备516和相关联的图形用户接口518(gui)。在其他实施例中,还可以不包括输入/输出模块510(i/o)、输入设备512以及输出设备514,仅作为网络中的一台计算机设备。计算机设备502还可以包括一个或多个网络接口520,其用于经由一个或多个通信链路522与其他设备交换数据。一个或多个通信总线524将上文所描述的部件耦合在一起。
109.通信链路522可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路522可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
110.对应于图4中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
111.本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图4所示的方法。
112.应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
113.还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
114.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
115.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
116.在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
117.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
118.另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
119.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

技术特征:
1.一种通用组件平台,其特征在于,包括:通用组件js,所述通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;所述通用组件js用于屏蔽不同浏览器的差异,与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序,并将通用组件本地程序返回的执行结果发送至所述业务js;通用组件本地程序,所述通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序用于接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库得到执行结果,并将所述执行结果发送至所述通用组件js;业务动态库,所述业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库用于接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序。2.根据权利要求1所述的通用组件平台,其特征在于,所述通用组件js采用通用js标准适配不同浏览器框架,以屏蔽不同浏览器的差异。3.根据权利要求1所述的通用组件平台,其特征在于,所述通用组件本地程序基于操作系统原生机制适配对应的操作系统,所述通用组件本地程序提供统一的标准接口,所述标准接口通过通用组件js统一与不同浏览器的业务js进行通信。4.根据权利要求1所述的通用组件平台,其特征在于,所述通用组件本地程序包括通讯模块和安全模块;所述通讯模块用于接收所述通用组件js发送的数据请求,调用业务动态库得到请求结果,并将所述请求结果发送至所述通用组件js;所述安全模块用于解析所述通用组件js发送的数据请求,确定所述数据请求对应的合法的业务动态库。5.根据权利要求4所述的通用组件平台,其特征在于,所述安全模块还用于安全认证集成所述业务js的业务系统,以确保所述通用组件本地程序只能被安全的业务系统及业务js调用。6.根据权利要求5所述的通用组件平台,其特征在于,所述安全模块还用于安全认证集成所述业务js的业务系统,进一步包括:所述安全模块向所述业务系统的发送第一认证请求;所述业务系统接收所述第一认证请求,向所述安全模块发送业务系统的许可证以及签名数据;所述安全模块接收所述业务系统的许可证以及签名数据,将所述许可证与安全许可证表进行对比,将所述签名数据与安全签名数据表进行对比,以安全认证集成所述业务js的业务系统。7.根据权利要求4所述的通用组件平台,其特征在于,所述安全模块还用于安全认证所述业务动态库,以确保所述通用组件本地程序调用安全的业务动态库。8.根据权利要求7所述的通用组件平台,其特征在于,所述安全模块还用于安全认证所述业务动态库,进一步包括:
所述安全模块向所述业务动态库发送第二认证请求;所述业务动态库接收所述第二认证请求,向所述安全模块发送业务动态库的签名值;所述安全模块接收所述业务动态库的签名值,将所述签名值与安全签名值表进行对比,以确保所述通用组件本地程序调用安全的业务动态库。9.根据权利要求1所述的通用组件平台,其特征在于,所述业务动态库包括初始化接口、反初始化接口和业务逻辑处理接口;所述初始化接口用于加载本地资源及初始化设置;所述业务逻辑处理接口用于接收通用组件本地程序发送的数据请求,得到对应的请求结果,并将所述请求结果发送至通用组件本地程序;所述反初始化接口用于释放所述本地资源。10.根据权利要求9所述的通用组件平台,其特征在于,所述业务逻辑处理接口还用于解析通用组件本地程序发送的数据请求,得到数据请求中的参数和参数值;当所述数据请求的格式、数据请求中的参数和参数值合法时,将对应的请求结果发送至通用组件本地程序。11.一种通用组件平台的应用方法,其特征在于,所述方法包括:通用组件js设置在服务端,所述通用组件js一端与各浏览器的业务js连接,另一端连接有各操作系统分别对应的通用组件本地程序;所述通用组件js与所述业务js以及所述通用组件本地程序双方进行通信,将所述业务js的数据请求发送至所述通用组件本地程序;通用组件本地程序设置在应用端,所述通用组件本地程序与应用端的操作系统一一对应,所述通用组件本地程序接收并解析所述通用组件js发送的数据请求,调用对应的业务动态库;业务动态库设置在应用端,所述业务动态库与所述通用组件本地程序对应,所述业务动态库接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序;通用组件本地程序接收所述业务动态库返回的执行结果并发送至所述通用组件js;通用组件js接收所述通用组件本地程序发送的执行结果并发送至业务js。12.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求11所述方法的指令。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求11所述方法的指令。

技术总结
本文提供了一种通用组件平台和通用组件平台的应用方法,其中通用组件平台,包括:通用组件JS,通用组件JS用于屏蔽不同浏览器的差异,与所述业务JS以及通用组件本地程序双方进行通信;通用组件本地程序,所述通用组件本地程序设置在应用端,所述通用组件本地程序用于接收并解析所述通用组件JS发送的数据请求,调用对应的业务动态库得到执行结果,并将所述执行结果发送至所述通用组件JS;业务动态库,所述业务动态库设置在应用端,所述业务动态库用于接收通用组件本地程序发送的数据请求,得到对应请求结果的执行结果,并将所述执行结果发送至通用组件本地程序。本文能够降低不同操作系统的各浏览器不同控件改造的成本。系统的各浏览器不同控件改造的成本。系统的各浏览器不同控件改造的成本。


技术研发人员:刘军 卜异亚 王唯
受保护的技术使用者:中信银行股份有限公司
技术研发日:2023.03.29
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐