CN108259435A - 接入Web组件的混合应用的实现方法及装置 - Google Patents
接入Web组件的混合应用的实现方法及装置 Download PDFInfo
- Publication number
- CN108259435A CN108259435A CN201611246140.2A CN201611246140A CN108259435A CN 108259435 A CN108259435 A CN 108259435A CN 201611246140 A CN201611246140 A CN 201611246140A CN 108259435 A CN108259435 A CN 108259435A
- Authority
- CN
- China
- Prior art keywords
- web
- mixing
- layers
- web components
- case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明提供一种接入Web组件的混合应用的实现方法及装置,其中,方法包括:将Web组件嵌入混合应用中预先建立的容器装置中,使Web组件通过容器装置分别与登录管理服务器及混合应用的APP服务进行交互,进而完成Web组件的单点登陆,通过容器装置与混合应用的Web层进行交互,以及通过容器装置与混合应用的Bridge层进行交互,进而通过该Bridge层调用混合应用的原生层中的原生API;其中,混合应用包括:原生层和Bridge层和Web层,容器装置在混合应用中处于半游离状态,由Bridge层进行加载,与Web层相融合。本发明解决了现有在混合应用中接入Web组件后不支持单点登陆、Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题。
Description
技术领域
本发明涉及移动终端下应用开发和Web前端开发技术领域,尤其涉及一种接入Web组件的混合应用的实现方法及装置。
背景技术
在移动端业务形态日新月异的大环境下,生产周期较长的原生应用难以跟上业务形态的变迁。于是一批业务单元被替换为Web页面(Web组件),以实现快速、灵活的更新、发布。由于原生应用的应用程序编程接口API的支持,使得被接入的Web组件功能完全,与原生应用无差异。同时提升了开发效率,和系统复用的能力。
混合应用是一种新兴的移动应用架构,是原生应用和Web的结合体,由原生层、Bridge层和Web层(用户界面)组成,如图1所示。其中,混合应用底层由原生层搭建而成,所述原生层用于处理与终端操作系统之间的交互;Web层用于构建混合应用的用户界面;Bridge层用于处理原生层与Web层之间的交互,例如打开照相机、访问通讯录等。混合应用具有轻量化、跨平台等优势,近些年这种应用架构越来越多的被使用。
同样的,混合应用存在着接入Web组件的场景。当混合应用接入Web组件时,由于应用架构上的差异,混合应用中引入Web组件与原生应用相比环境不同、方法也不同,但是功能、体验的要求保持不变。
目前,在混合应用中接入Web组件的方式包括:
一、嵌套方式:在该方式下,如图2所示,Web组件由混合应用的Web层所承载,被嵌入到Web层中。但是,由于被嵌入的Web组件包含在Web层中,但是该Web层不支持cookie机制,原有基于cookie的单点登录模式不能被套用,用户需进行二次登录,用户体验大打折扣。而且,Web层与被嵌入的Web组件互为跨域,使得二者之间无法相互调用,无法进行安全的数据交互。现有解决Web嵌套跨域交互问题的手段包括:代理抓取和域切换二种。在代理抓取中,由代理服务器抓取Web页面,再由应用本身从代理服务器获取Web页面,并加载到本地。这种方式增加了页面抓取服务器,延长了整个页面加载流程,由于移动终端本身联网速率不稳定,增加代理节点的同时,也加剧了不稳定性。在域切换中,通过切换本地根域名,使本地根域名与被嵌入的Web页面同域,从而达到跨域调用的目的;然而在混合应用中,Web层属于移动端作本地域(既移动终端本机域),无法进行域切换。因此,代理抓取和域切换均不适于解决混合应用跨域调用的问题。另外,被嵌入页面处于Web层,无法直接与APP Bridge层交互,无法调用到原生功能;虽然混合应用的Web层可以通过Bridge层调用原生API,但是由于Web层与Web组件存在跨域的限制,无法进行交互,Web组件也无法经由应用Web层调用Bridge API。无法使用拍照、通讯录等原生功能。
二、平行方式:在该方式下,如图3所示,Web组件与混合应用的Web层都由Bridge层进行加载,两者处于平行层级状态,接入的Web组件可以与Bridge进行直接交互;但是这种方式实际并不改变Web组件与Web层之间的跨域关系,Web层与Web组件仍旧不同域,仍旧无法相互调用;同时Web组件与Web层进行切换时,由于需要经由Bridge层处理,响应速率下降;并且由于Bridge层并非浏览器,也不支持cookie,所以平行方式下,并不能解决嵌入方式中遇到的所有问题。
鉴于此,如何解决现有技术中在混合应用中接入Web组件后不支持单点登陆、混合应用Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题成为目前需要解决的技术问题。
发明内容
为解决上述的技术问题,本发明提供一种接入Web组件的混合应用的实现方法及装置,能够解决现有技术中在混合应用中接入Web组件后不支持单点登陆、混合应用Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题。
第一方面,本发明提供一种接入Web组件的混合应用的实现方法,包括:
将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
可选地,在所述将Web组件嵌入混合应用中预先建立的容器装置中之前,所述方法还包括:
在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可选地,所述容器装置,包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可选地,所述认证子装置,具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
可选地,在混合应用中建立容器装置时,在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息;
相应地,所述消息子装置和所述Web组件中的任一方,具体用于
通过其内部的消息监听装置接收另一方推送的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
第二方面,本发明提供一种接入Web组件的混合应用的实现装置,包括:
接入模块,用于将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
可选地,所述装置还包括:
建立模块,用于在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可选地,所述容器装置,包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可选地,所述认证子装置,具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
可选地,所述建立模块,还用于
在混合应用中建立容器装置时,在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息;
相应地,所述消息子装置和所述Web组件中的任一方,具体用于
通过其内部的消息监听装置接收另一方推送的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
由上述技术方案可知,本发明的接入Web组件的混合应用的实现方法及装置,通过将Web组件嵌入混合应用中预先建立的容器装置中,使Web组件通过容器装置分别与登录管理服务器及混合应用的APP服务进行交互,进而完成Web组件的单点登陆,通过容器装置与混合应用的Web层进行交互,以及通过容器装置与混合应用的Bridge层进行交互,进而通过该Bridge层调用混合应用的原生层中的原生API;其中,混合应用包括:原生层和Bridge层和Web层,容器装置在混合应用中处于半游离状态,由Bridge层进行加载,与Web层相融合,由此,解决了现有在混合应用中接入Web组件后不支持单点登陆、Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题,提高了用户体验。
附图说明
图1为现有技术中接入Web组件后的混合应用的结构示意图;
图2为现有技术中采用嵌套方式接入Web组件后的混合应用的结构示意图;
图3为现有技术中采用平行方式接入Web组件后的混合应用的结构示意图;
图4为本发明一实施例提供的接入Web组件的混合应用的实现方法的流程示意图;
图5为本发明另一实施例提供的接入Web组件的混合应用的实现方法的流程示意图;
图6为图4或图5所示实施例中的接入Web组件的混合应用的结构示意图;
图7为本发明实施例提供的接入Web组件的混合应用的APP登录、接入的Web组件的单点登录和APP注销的具体流程示意图;
图8为本发明一实施例提供的接入Web组件的混合应用的实现装置的结构示意图;
图9为本发明另一实施例提供的接入Web组件的混合应用的实现装置的结构示意图;
图10为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
图4示出了本发明一实施例提供的接入Web组件的混合应用的实现方法的流程示意图,如图4所示,本实施例的接入Web组件的混合应用的实现方法如下所述。
401、将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
在具体应用中,如图5所示,在所述步骤401之前,所述方法还包括:
400、在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
其中,所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可以理解的是,将容器装置部署在混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合,这种部署方式可以打通容器装置与混合应用的Web层和Bridge层之间的通道,同时通过容器装置使得所述Web层与所述Web组件可以跨域交互。
具体地,参见图6,所述容器装置可以包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息(Message)子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
进一步地,所述认证子装置,可具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌access token获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
可以理解的是,本实施例容器装置内的认证子装置是采用基于远程access token的鉴权方式实现单点登录,以解决现有混合应用Web层嵌套方式不支持基于cookie的单点登录的问题。
可以理解的是,在接入的Web组件的具体单点登录过程中,还需要通过外部系统Web页面组件获取Web页面,进而在单点登录成功(验证通过)时在混合应用的前端进行展示,其具体流程及混合应用的APP登录、APP注销的具体流程可参考图7。
在具体应用中,所述步骤400可以在混合应用中建立容器装置时,在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息FRONT ENDMESSAGE;
相应地,所述消息子装置和所述Web组件中的任一方,可具体用于
通过其内部的消息监听装置接收另一方推送(PUSH)的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
可以理解的是,由于Web组件与混合应用的Web层互为跨域无法直接调用,本实施例使Web组件与容器装置内的消息子装置通过FRONT END MESSAGE的机制完成信息交互,进而使Web组件可通过所述消息子装置间接完成与混合应用的Web层的交互。
本实施例的接入Web组件的混合应用的实现方法,通过将Web组件嵌入混合应用中预先建立的容器装置中,使Web组件通过容器装置分别与登录管理服务器及混合应用的APP服务进行交互,进而完成Web组件的单点登陆,通过容器装置与混合应用的Web层进行交互,以及通过容器装置与混合应用的Bridge层进行交互,进而通过该Bridge层调用混合应用的原生层中的原生API;其中,混合应用包括:原生层和Bridge层和Web层,容器装置在混合应用中处于半游离状态,由Bridge层进行加载,与Web层相融合,由此,解决了现有在混合应用中接入Web组件后不支持单点登陆(用户需进行二次登录)、Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题,能够在保证系统功能、用户体验和安全的前题下,使移动终端原有系统Web(业务)组件与混合应用无缝接合,已经通过实际验证,可以大规模在其他省市推广;使容器装置与混合应用的Web层相融合,只需要开发容器装置,不存在系统改造和对架构的影响;可通过制定调用规范,统一通过容器装置处理被嵌入的Web组件与混合应用APP的交互,实现广泛、快速的部署到现有混合应用中,减少重复开发量,节约成本,提高了用户体验。
图8为示出了本发明一实施例提供的接入Web组件的混合应用的实现装置的结构示意图,如图8所示,本实施例的接入Web组件的混合应用的实现装置,包括:接入模块81;
接入模块81,用于将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
在具体应用中,如图9所示,所述装置还可包括:
建立模块80,用于在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
可以理解的是,将容器装置部署在混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合,这种部署方式可以打通容器装置与混合应用的Web层和Bridge层之间的通道,同时通过容器装置使得所述Web层与所述Web组件可以跨域交互。
具体地,所述容器装置,可以包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
进一步地,所述认证子装置,可具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
可以理解的是,本实施例容器装置内的认证子装置是采用基于远程access token的鉴权方式实现单点登录,以解决现有混合应用Web层嵌套方式不支持基于cookie的单点登录的问题。
在具体应用中,所述建立模块在混合应用中建立容器装置时,可以在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息;
相应地,所述消息子装置和所述Web组件中的任一方,可具体用于
通过其内部的消息监听装置接收另一方推送的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
可以理解的是,由于Web组件与混合应用的Web层互为跨域无法直接调用,本实施例使Web组件与容器装置内的消息子装置通过FRONT END MESSAGE的机制完成信息交互,进而使Web组件可通过所述消息子装置间接完成与混合应用的Web层的交互。
本实施例的接入Web组件的混合应用的实现装置,可以解决现有在混合应用中接入Web组件后不支持单点登陆(用户需进行二次登录)、Web层与Web组件由于跨域而不能相互调用及Web组件无法调用原生API的问题,能够在保证系统功能、用户体验和安全的前题下,使移动终端原有系统Web(业务)组件与混合应用无缝接合,已经通过实际验证,可以大规模在其他省市推广;使容器装置与混合应用的Web层相融合,只需要开发容器装置,不存在系统改造和对架构的影响;可通过制定调用规范,统一通过容器装置处理被嵌入的Web组件与混合应用APP的交互,实现广泛、快速的部署到现有混合应用中,减少重复开发量,节约成本,提高了用户体验。
本实施例的接入Web组件的混合应用的实现装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10示出了本发明实施例提供的一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor101、存储器(memory)102和总线103;
其中,所述处理器101,存储器102通过所述总线103完成相互间的通信;
所述处理器101可以调用存储器102的逻辑指令,以执行上述各方法实施例所提供的方法,例如包括:将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种接入Web组件的混合应用的实现方法,其特征在于,包括:
将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
2.根据权利要求1所述的方法,其特征在于,在所述将Web组件嵌入混合应用中预先建立的容器装置中之前,所述方法还包括:
在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
3.根据权利要求2所述的方法,其特征在于,所述容器装置,包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
4.根据权利要求3所述的方法,其特征在于,所述认证子装置,具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
5.根据权利要求4所述的方法,其特征在于,在混合应用中建立容器装置时,在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息;
相应地,所述消息子装置和所述Web组件中的任一方,具体用于
通过其内部的消息监听装置接收另一方推送的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
6.一种接入Web组件的混合应用的实现装置,其特征在于,包括:
接入模块,用于将Web组件嵌入混合应用中预先建立的容器装置中,使所述Web组件通过所述容器装置分别与登录管理服务器及所述混合应用的APP服务进行交互,进而完成所述Web组件的单点登陆,通过所述容器装置与所述混合应用的Web层进行交互,以及通过所述容器装置与所述混合应用的Bridge层进行交互,进而通过所述Bridge层调用所述混合应用的原生层中的原生API;
其中,所述混合应用包括:原生层和Bridge层和Web层,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
建立模块,用于在混合应用中建立容器装置,所述容器装置在所述混合应用中处于半游离状态,由所述Bridge层进行加载,与所述Web层相融合;
所述容器装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,完成所述Web组件的单点登陆;处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
8.根据权利要求7所述的装置,其特征在于,所述容器装置,包括:认证子装置和消息子装置;
所述认证子装置,用于处理所述Web组件分别与登录管理服务器及所述混合应用的APP服务的交互,进而完成所述Web组件的单点登陆;
所述消息子装置,用于处理所述Web组件与所述Bridge层的交互,进而通过所述Bridge层调用所述原生层中的原生API;以及处理所述Web组件与所述Web层的交互。
9.根据权利要求8所述的装置,其特征在于,所述认证子装置,具体用于
在加载所述Web组件时,向所述混合应用的APP服务发送访问令牌获取请求;
接收所述APP服务返回的所述混合应用登录成功时的访问令牌;
对所述访问令牌进行加密,并将加密后的访问令牌发送给登录管理服务器,以验证所述访问令牌的合法性;
接收所述登录管理服务器返回的所述访问令牌的验证信息,若所述验证信息为验证通过,则单点登录成功;若所述验证信息为验证不通过,则单点登录失败。
10.根据权利要求9所述的装置,其特征在于,所述建立模块,还用于
在混合应用中建立容器装置时,在所述消息子装置和所述Web组件中均增加一个消息监听装置,用于监听互相的前端消息;
相应地,所述消息子装置和所述Web组件中的任一方,具体用于
通过其内部的消息监听装置接收另一方推送的请求消息,所述请求消息携带有:请求内容和所述访问令牌;
对所述访问令牌进行验证通过后,对所述请求内容进行处理;
在完成所述处理后,向所述另一方发送完成所述请求内容的消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246140.2A CN108259435B (zh) | 2016-12-29 | 2016-12-29 | 接入Web组件的混合应用的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246140.2A CN108259435B (zh) | 2016-12-29 | 2016-12-29 | 接入Web组件的混合应用的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259435A true CN108259435A (zh) | 2018-07-06 |
CN108259435B CN108259435B (zh) | 2021-02-26 |
Family
ID=62719961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246140.2A Active CN108259435B (zh) | 2016-12-29 | 2016-12-29 | 接入Web组件的混合应用的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259435B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656537A (zh) * | 2018-12-27 | 2019-04-19 | 深圳金赋科技有限公司 | 一种支持多种应用容器的Web应用框架及使用方法 |
CN110493184A (zh) * | 2019-07-09 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 在客户端中登录页面的处理方法、装置、电子装置 |
CN110633432A (zh) * | 2019-08-19 | 2019-12-31 | 深圳汇商通盈科技有限公司 | 一种获取数据的方法、装置、终端设备及介质 |
CN111309474A (zh) * | 2020-01-19 | 2020-06-19 | 北京恒华伟业科技股份有限公司 | 通信方法、通信装置及分布式服务注册中心 |
CN112181644A (zh) * | 2020-09-21 | 2021-01-05 | 上海微亿智造科技有限公司 | 用于机器学习组件Jupyter跨域的方法、系统及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101529382A (zh) * | 2006-09-21 | 2009-09-09 | 路透美国公司 | 公共组件框架 |
CN103078932A (zh) * | 2012-12-31 | 2013-05-01 | 中国移动通信集团江苏有限公司 | 一种实现通用单点登录的方法、装置和系统 |
CN103995884A (zh) * | 2014-05-29 | 2014-08-20 | 北京中电普华信息技术有限公司 | 一种混合应用页面的切换方法及系统 |
CN104657118A (zh) * | 2013-11-18 | 2015-05-27 | 中国移动通信集团公司 | Native+Web混合移动应用的实现方法及装置 |
US20150180858A1 (en) * | 2013-12-23 | 2015-06-25 | Cellco Partnership D/B/A Verizon Wireless | Single sign on (sso) authorization and authentication for mobile communication devices |
CN104808971A (zh) * | 2014-01-24 | 2015-07-29 | 北京三星通信技术研究有限公司 | 网络应用程序管理器、方法、装置和移动终端 |
US9106642B1 (en) * | 2013-09-11 | 2015-08-11 | Amazon Technologies, Inc. | Synchronizing authentication sessions between applications |
US20160080523A1 (en) * | 2014-09-12 | 2016-03-17 | Raman SETHI | Enhanced feature vector |
CN105487905A (zh) * | 2015-11-27 | 2016-04-13 | 东软集团股份有限公司 | 一种混合应用的更新方法和装置 |
US9348563B1 (en) * | 2014-12-10 | 2016-05-24 | Sap Se | Bi-directional editing between visual screen designer and source code |
-
2016
- 2016-12-29 CN CN201611246140.2A patent/CN108259435B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101529382A (zh) * | 2006-09-21 | 2009-09-09 | 路透美国公司 | 公共组件框架 |
CN103078932A (zh) * | 2012-12-31 | 2013-05-01 | 中国移动通信集团江苏有限公司 | 一种实现通用单点登录的方法、装置和系统 |
US9106642B1 (en) * | 2013-09-11 | 2015-08-11 | Amazon Technologies, Inc. | Synchronizing authentication sessions between applications |
CN104657118A (zh) * | 2013-11-18 | 2015-05-27 | 中国移动通信集团公司 | Native+Web混合移动应用的实现方法及装置 |
US20150180858A1 (en) * | 2013-12-23 | 2015-06-25 | Cellco Partnership D/B/A Verizon Wireless | Single sign on (sso) authorization and authentication for mobile communication devices |
CN104808971A (zh) * | 2014-01-24 | 2015-07-29 | 北京三星通信技术研究有限公司 | 网络应用程序管理器、方法、装置和移动终端 |
CN103995884A (zh) * | 2014-05-29 | 2014-08-20 | 北京中电普华信息技术有限公司 | 一种混合应用页面的切换方法及系统 |
US20160080523A1 (en) * | 2014-09-12 | 2016-03-17 | Raman SETHI | Enhanced feature vector |
US9348563B1 (en) * | 2014-12-10 | 2016-05-24 | Sap Se | Bi-directional editing between visual screen designer and source code |
CN105487905A (zh) * | 2015-11-27 | 2016-04-13 | 东软集团股份有限公司 | 一种混合应用的更新方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656537A (zh) * | 2018-12-27 | 2019-04-19 | 深圳金赋科技有限公司 | 一种支持多种应用容器的Web应用框架及使用方法 |
CN110493184A (zh) * | 2019-07-09 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 在客户端中登录页面的处理方法、装置、电子装置 |
CN110633432A (zh) * | 2019-08-19 | 2019-12-31 | 深圳汇商通盈科技有限公司 | 一种获取数据的方法、装置、终端设备及介质 |
CN111309474A (zh) * | 2020-01-19 | 2020-06-19 | 北京恒华伟业科技股份有限公司 | 通信方法、通信装置及分布式服务注册中心 |
CN111309474B (zh) * | 2020-01-19 | 2023-05-12 | 北京恒华伟业科技股份有限公司 | 通信方法、通信装置及分布式服务注册中心 |
CN112181644A (zh) * | 2020-09-21 | 2021-01-05 | 上海微亿智造科技有限公司 | 用于机器学习组件Jupyter跨域的方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108259435B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259435A (zh) | 接入Web组件的混合应用的实现方法及装置 | |
CN105554015B (zh) | 多租户容器云计算系统的管理网络及方法 | |
CN102916995B (zh) | 应用托管方法及系统 | |
CN107357660A (zh) | 一种虚拟资源的分配方法及装置 | |
CN107959614B (zh) | 一种基于网络命名空间的多租户自定义组网方法、系统 | |
CN103581062B (zh) | 用于处理未知单播数据包的方法和系统 | |
CN106797391A (zh) | 使用mqtt协议的服务层交互工作 | |
WO2019127418A1 (zh) | 网络服务管理方法、相关装置及系统 | |
CN109144615A (zh) | 一种信息发布方法、装置、设备及存储介质 | |
CN109391502A (zh) | 一种信息配置方法和管理单元 | |
CN110572484A (zh) | 一种基于容器的生产环境仿真方法 | |
CN106953848A (zh) | 一种基于ForCES的软件定义网络实现方法 | |
CN108141409A (zh) | 通信系统、地址通知装置、通信控制装置、终端、通信方法以及程序 | |
CN111797173B (zh) | 联盟链共享系统、方法、装置、电子设备及存储介质 | |
CN104539632A (zh) | 一种基于虚拟地址空间的可编程网络设备管理控制方法 | |
CN104506368B (zh) | 一种统一管理交换机设备的方法和设备 | |
CN109600292A (zh) | 一种lac路由器自拨号发起l2tp隧道连接的方法及系统 | |
CN105471963B (zh) | 一种基于云平台的移动设备管理方法及系统 | |
CN109981544B (zh) | 能力开放系统及对点击拨号业务能力的开放方法 | |
CN107948210A (zh) | 一种登录方法、装置、客户端、服务器及介质 | |
CN108390808A (zh) | 通信处理方法和装置 | |
CN107005603A (zh) | 用于ip地址分配的方法、装置、系统和计算机程序产品 | |
CN104579778A (zh) | 一种企业内部网络虚拟化的简单实现方法 | |
CN107634907A (zh) | 一种二层虚拟专用网络l2vpn的数据转发方法和装置 | |
CN105871676A (zh) | 一种桌面云中远端虚拟机的网络连接方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |