CN117149469A - H5页面调用宿主端功能的方法、装置、设备及存储介质 - Google Patents
H5页面调用宿主端功能的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117149469A CN117149469A CN202311420175.3A CN202311420175A CN117149469A CN 117149469 A CN117149469 A CN 117149469A CN 202311420175 A CN202311420175 A CN 202311420175A CN 117149469 A CN117149469 A CN 117149469A
- Authority
- CN
- China
- Prior art keywords
- function
- target
- page
- configuration data
- host
- 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
- 238000000034 method Methods 0.000 title claims abstract description 212
- 238000004891 communication Methods 0.000 claims abstract description 106
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 530
- 238000002347 injection Methods 0.000 claims description 41
- 239000007924 injection Substances 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 8
- 239000008186 active pharmaceutical agent Substances 0.000 claims 9
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 101150053844 APP1 gene Proteins 0.000 description 2
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 2
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 1
- 240000007651 Rubus glaucus Species 0.000 description 1
- 235000011034 Rubus glaucus Nutrition 0.000 description 1
- 235000009122 Rubus idaeus Nutrition 0.000 description 1
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 1
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 1
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种H5页面调用宿主端功能的方法、装置、设备及存储介质。其中,一种H5页面调用宿主端功能的方法,包括:确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,基于所述通信方式,利用所述目标配置数据,实现对该功能的调用。可见,本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种H5页面调用宿主端功能的方法、装置、设备及存储介质。
背景技术
H5页面可以在宿主端中从而作为宿主端的功能页面,示例性的,宿主端可以为移动终端的APP,也可以为用于实现特定功能的智能设备,例如营业厅的智能客服设备。
用户可以在H5页面进行各种页面操作,如返回页面、分享页面、跳转页面和调用摄像头;相应的,H5页面响应于任一页面操作,通常需要调用宿主端的功能。而由于不同的宿主端的通信方式、调用宿主端的功能的方法名称和相关参数等都可能不同,因此,同一H5页面在不同的宿主端中应用时,需要针对不同的宿主端设置不同的调用方式,从而导致H5页面对应的开发项目的代码冗长,不利于维护。
因此,急需一种H5页面调用宿主端功能的方法,以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
发明内容
本申请实施例的目的在于提供一种H5页面调用宿主端功能的方法、装置、设备及存储介质,以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。具体技术方案如下:
在本申请实施的第一方面,首先提供了一种H5页面调用宿主端功能的方法,所述方法包括:
确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
在本申请实施的第二方面,还提供了一种H5页面调用宿主端功能的装置,所述装置包括:
第一确定模块,用于确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
获取模块,用于从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
第二确定模块,用于基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
调用模块,用于响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
在本申请实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的H5页面调用宿主端功能的方法。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的H5页面调用宿主端功能的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的H5页面调用宿主端功能的方法。
本申请实施例有益效果:
本申请实施例提供的一种H5页面调用宿主端功能的方法,通过确定H5页面所在的目标宿主端的描述信息,作为目标描述信息,基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式,响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
可见,本申请的方案中,针对同一H5页面,可以基于各个宿主端的描述信息,将各个宿主端的配置数据预先存储于配置中心,当H5页面接入目标宿主端时,从配置中心获取对应于所述目标宿主端的配置数据,后续可以利用获取的配置数据实现对所述目标宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端的时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请实施例中提供的一种H5页面调用宿主端功能的方法流程示意图;
图2为本申请实施例中提供的一种交互关系示意图;
图3为本申请实施例提供的一种H5页面从配置中心获取配置数据的示意图;
图4为本申请实施例中提供的另一种H5页面调用宿主端功能的方法流程示意图;
图5为本申请实施例所提供的一种H5页面调用宿主端功能的装置的结构示意图;
图6为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
为了在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用,本申请实施例提供了一种H5页面调用宿主端功能的方法、装置、设备及存储介质。
下面首先对本申请实施例所提供的一种H5页面调用宿主端功能的方法进行介绍。本申请实施例所提供的一种H5页面调用宿主端功能的方法应用于H5页面。在具体应用中,该H5页面的宿主端可以是APP、小程序以及智能设备等等;本申请并不对此进行限定。本申请实施例所提供的一种H5页面调用宿主端功能的方法,可以应用于H5页面调用宿主端功能的场景,尤其适用于同一H5页面需要接入不同宿主端的场景。 H5页面是用HTML5语言(构建web内容的一种语言描述方式)编写的页面。
其中,本申请实施例所提供的一种H5页面调用宿主端功能的方法包括:
确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL(Universal ResourceLocator,统一资源定位符),对应于API(APPlication Programming Interface,应用程序接口)注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
本申请实施例提供的一种H5页面调用宿主端功能的方法,通过确定H5页面所在的目标宿主端的描述信息,作为目标描述信息,基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式,响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
可见,本申请的方案中,针对同一H5页面,可以基于各个宿主端的描述信息,将各个宿主端的配置数据预先存储于配置中心,当H5页面接入目标宿主端时,从配置中心获取对应于所述目标宿主端的配置数据,后续可以利用获取的配置数据实现对所述目标宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端的时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
下面结合附图,对本申请实施例所提供的一种H5页面调用宿主端功能的方法进行示例性介绍。如图1所示,本申请实施例所提供的一种H5页面调用宿主端功能的方法,可以包括如下步骤:
S101,确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
所述H5页面所在的目标宿主端的描述信息用以作为从配置中心获取配置数据的依据,所述目标宿主端的描述信息可以是用以描述目标宿主端的类型、名称和/或目标宿主端所在的设备类型等的信息。示例性的,当所述目标宿主端为APP时,描述信息可以是该APP的类型,如该APP是安卓端的APP或IOS端的APP,也可以是该APP所在的设备类型,如该APP所在的设备为安卓。当所述目标宿主端为用于实现特定功能的智能设备时,所述描述信息可以是该智能设备的类型和/或名称。
通常宿主端的webview组件(一种宿主端内用于解析执行H5页面的组件)作为H5页面的载体,H5页面运行于webview组件中。因此,确定所述H5页面所在的目标宿主端的描述信息的具体方式,可以是所述H5页面从该H5页面对应的webview中获取userAgent(用户客户端)字符串,所述userAgent字符串中包含了目标宿主端的类型、名称和/或目标宿主端所在的设备类型等信息。因此,可以直接将所述userAgent字符串作为目标描述信息,或将对所述userAgent字符串进行解析得到的目标宿主端的类型、名称和/或目标宿主端所在的设备类型等信息作为目标描述信息。
S102,从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
其中,任一功能对应的URL为实现该功能时所需访问的URL,任一功能对应的方法名和参数为实现该功能时所需调用的方法的方法名和参数。
示例性的,各个功能可以是打开新的H5页面、返回上一H5页面、分享当前H5页面、打开摄像头和调整声音等功能。
所述拦截方式可以通过拦截URL SCHEME(URL协议)来实现。宿主端可以定义一套协议、方法名、参数以及回调信息,并将定义的协议、方法名、参数以及回调函数与特定的URL (Universal Resource Locator,统一资源定位符)进行绑定。H5页面通过访问与宿主端约定好的URL,并携带相应的参数和回调信息,将URL传递给宿主端。然后,宿主端会拦截并解析URL,并执行与该URL对应的方法来实现相应的功能,也就可以实现宿主端与H5页面的交互。
所述API注入方式可以通过将API注入到H5页面中的全局作用域window对象上来实现。宿主端将API注入到window对象上后, H5页面可以通过调用注入的API来实现调用宿主端的功能,从而实现宿主端与H5页面的交互。
从配置中心获取与所述目标描述信息相对应的配置数据,具体可以是向所述配置中心发送表征获取与所述目标描述信息相对应的配置数据的请求,具体的请求形式,本申请不做限定。
一种情况下,将对所述userAgent字符串进行解析得到的解析结果作为目标描述信息时,即将目标宿主端的类型、名称和/或目标宿主端所在的设备类型等信息作为目标描述信息时,所述请求中将解析结果作为参数;一种情况下,将所述userAgent字符串作为目标描述信息时,所述请求中将所述userAgent字符串作为参数,在配置中心获取到所述请求后,配置中心对所述userAgent字符串进行解析得到目标宿主端的类型、名称和/或目标宿主端所在的设备类型等信息。配置中心可以根据目标宿主端的类型、名称和/或目标宿主端所在的设备类型等信息返回对应于该目标宿主端的配置数据。
针对任一宿主端来说,该宿主端实现相同的功能时使用的方法是相同的,只是具体的参数会根据实际情况发生变化。因此,可以在配置中心针对该宿主端设置对应的配置数据,也就是设置该宿主端实现该功能时所需访问的URL或实现该功能时所需调用的方法的方法名和参数。
而针对任一H5页面来说,该H5页面需要调用宿主端来实现的功能也是固定的,因此,可以将H5页面需要调用宿主端来实现的功能与宿主端实现所述功能时所需访问的URL或实现该功能时所需调用的方法的方法名和参数进行对应,后续H5页面调用宿主端的各个功能时就可以依据实现所述功能时所需访问的URL或实现该功能时所需调用的方法的方法名和参数进行实现。例如,一H5页面需要调用宿主端的分享当前H5页面功能来实现分享分享当前H5页面,则将分享当前H5页面功能与实现分享当前H5页面功能时所需访问的URL或实现该功能时所需调用的方法的方法名和参数对应,从而,用户在H5页面进行分享当前H5页面操作时,所述H5页面可以利用实现所述功能时所需访问的URL或实现该功能时所需调用的方法的方法名和参数来实现分享当前H5页面。
可选的,所述H5页面中存在多个功能插槽;每一功能插槽与待调用的各个功能中的一个功能唯一对应;所述功能插槽为针对所述H5页面预先划分的存储空间;
当所确定出的通信方式为拦截方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的URL;当所确定出的通信方式为API注入方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的方法名和参数;
所述目标配置数据中的该功能对应的URL的获取方式包括:
从该功能对应的功能插槽,获取该功能对应的URL;
所述目标配置数据中的该功能对应的方法名和参数的获取方式,包括:
从该功能对应的功能插槽中,获取该功能对应的方法名和参数。
可以理解的是,针对任一H5页面而言,配置中心中可以预先存储有不同的描述信息对应的配置数据,这样,针对同一H5页面而言,可以基于宿主端的描述信息,获取到适用于该宿主端的相应的配置数据。另外,同一宿主端的每一功能的实现方式是固定的,因此,配置中心中关于同一宿主端的配置数据可以针对不同的H5页面进行复用。例如,宿主端A在配置中心中配置了100个功能的数据,H5页面a要用到的功能是其中10个,H5页面b要用到的功能是其中20个, H5页面a获取配置数据时仅需获取对应的10个功能的配置数据即可,H5页面b获取配置数据时仅需获取对应的20个功能的配置数据即可,H5页面a对应的10个功能与H5页面b对应的20个功能里,可以有相同的功能。H5页面获取功能列表时,可以按照功能与功能的对应关系获取配置数据时,例如,H5页面c可以调用宿主端的功能1和功能2,宿主端的功能可以有100个,而H5页面获取配置数据时,功能列表中可以包括功能1和功能2。针对不同宿主端时,示例性的,H5页面可以调用宿主端的功能1,在接入宿主端1时,获取的配置数据中功能列表中可以包括对应于宿主端1的功能1,在接入宿主端2时,获取的配置数据中功能列表中可以包括对应于宿主端2的功能1。可见,本申请无需针对不同的H5页面进行针对性的设置,从而可以减少开发成本。
S103,基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
S104,响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用。
任一功能对应的URL由该功能被调用时所利用的协议名和路径组成;其中,所述路径中包含该功能的参数。
在所述目标宿主端按照所述调用请求中的URL对该功能进行调用后,所述目标宿主端可以根据该功能对应的回调函数向H5页面返回该功能相关的数据,具体的,回调函数可以利用该回调函数对应的关键返回路径,从所述目标宿主端返回的该功能的相关的数据中获取目标数据,以使所述H5页面根据所述目标数据执行相应的操作。所述配置数据中可以包括每一功能对应的回调函数及该回调函数对应的关键返回路径。
所述关键返回路径是回调函数用以从所述目标宿主端返回的数据中获取目标数据的参数。例如,在执行存储图片的功能后,所述目标宿主端返回的数据中包括了多种数据,例如,存储路径、存储时间和图片大小等等数据,而所述H5页面仅需要存储路径这一目标数据,而利用关键返回路径,可以使回调函数从所述目标宿主端返回的数据中获取存储路径返回给H5页面。通常,所述目标宿主端返回的数据是JSON字符串的形式,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,具有简洁和清晰的层次结构,易于阅读和编写,易于机器解析和生成,网络传输效率高,是异构环境下理想的数据交换格式。针对不同的功能,目标宿主端返回的数据是不同的,本申请对此不做限定。
示例性的,用户在H5页面发出关于实现分享当前H5页面的页面操作后,所述H5页面在检测到所述目标宿主端的版本符合所述目标配置数据中的版本要求后,可以向所述目标宿主端发送携带有实现分享当前H5页面对应的URL的调用请求,所述目标宿主端拦截并解析所述调用请求后可以得到实现分享当前H5页面对应的URL,所述目标宿主端可以从所述URL中获取参数,利用获取的参数执行与所述URL对应的方法,从而实现分享当前H5页面。实现分享当前H5页面后,所述目标宿主端可以调用回调函数向所述H5页面返回表征分享当前H5页面成功的信息,所述H5页面接收到表征分享当前H5页面成功的信息后可以弹窗展示表征分享当前H5页面成功的信息。
所述H5页面根据该功能相关的数据执行相应的操作具体是根据该功能的具体类型进行执行的,不同的功能执行的操作可以不同,本申请对所述H5页面执行的操作不做限定。例如,若执行的功能是存储图片,则所述目标宿主端可以向所述H5页面返回图片的存储路径,所述H5页面获取该存储路径后可以展示该存储路径,以便用户可以根据该图片的存储路径找到该图片;若执行的功能是分享存储路径,则目标宿主端可以向H5页面返回表征分享成功信息,H5页面可以展示分享页面成功信息。其中,所述回调函数是预先设置好的函数,每一回调函数与目标宿主端的功能中的一个功能唯一对应。当然,一些功能可以没有对应的回调函数,目标宿主端也就无需返回数据。
在一个具体的实现方式中,所述H5页面可以将该页面所要调用的目标宿主端的功能对应的回调函数预先挂载在window对象(一种全局对象)上,以便后续所述目标宿主端执行功能后可以执行该功能对应的回调函数。目标配置数据中可以包括回调函数的数据,所述H5页面可以从所述目标配置数据中获取回调函数的数据。所述window对象可以作为H5页面的全局对象,而由于H5页面在宿主端的webview组件中运行,并且宿主端可以访问webview组件,因此目标宿主端可以执行window对象上挂载的函数。本实施例中的回调函数的挂载方式可以在通信方式为拦截方式和API注入方式时都适用。
在一种具体的实现方式中,向所述目标宿主端发送携带有该功能对应的URL的调用请求可以是window open(URl),window open()是一种打开新页面的方法,当然,本申请使用该方法并不一定要打开新窗口,只是作为一个传递URl的方式。本申请的调用请求的形式可以有多种,本申请对此不做限定,任一可以传递URl的请求都可以应用于本申请。
S105,若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
S105可以在响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作的情况下执行。
在通信方式为API注入方式时,所述目标宿主端的所有功能对应的方法都可以预先挂载在window对象上,以便后续目标宿主端被触发后直接执行该功能对应的方法,功能对应的方法的挂载方式与上述回调函数的挂载方式相同。当然,也可以将所述H5页面需要用到的部分功能的方法挂载在window对象上,本申请对此不做限定。但需要强调的是,执行基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用时,该功能对应的方法需要挂载在window对象上。将目标宿主端的任一功能对应的方法预先挂载在window对象上,就相当于为H5页面留下了目标宿主端的该功能的API接口。H5页面可以触发该API接口,从而实现相应的功能。
示例性的,用户在H5页面发出关于实现分享当前H5页面的页面操作后,所述H5页面在检测到所述目标宿主端的版本符合所述目标配置数据中的版本要求后,可以向实现分享当前H5页面功能的API接口传入参数,并触发该API接口,以实现分享当前H5页面。实现分享当前H5页面后,所述目标宿主端可以调用回调函数向所述H5页面返回表征分享当前H5页面成功的信息,所述H5页面接收到表征分享当前H5页面成功的信息后可以弹窗展示表征分享当前H5页面成功的信息。
可选的,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用包括:
向所述目标宿主端发出目标指令,以触发所述目标宿主端对该功能的调用;其中,所述目标指令的指令类型为所述API注入方式对应的指令类型,且所述目标指令中携带有所述该功能对应的方法名和参数。
在一种具体的实现方式中,触发所述目标宿主端对该功能进行调用目标指令可以是window[Inject全局对象][方法名](参数);
其中,window为触发挂载在window对象上的方法的函数,所述方法名为该功能对应的方法名,所述参数为该功能对应的参数,所述Inject全局对象为该功能在window对象上挂载的路径。
不同的方法在window对象上的挂载路径不同,例如,A功能的方法直接挂载在window对象上,此时A功能的Inject全局对象可以为空,表征直接挂载在window对象上,A功能对应的调用目标指令中可以没有[Inject全局对象],也就是表现为window[方法名](参数),而B功能的方法没有直接挂载在window对象上,而是挂载在window对象的多级路径之下,此时,B功能的挂载路径可以为injectObj1>injectObj2,injectObj1可以表征直接挂载在在window对象上的对象,injectObj2可以作为injectObj1的子节点,B功能的方法实际上挂载在injectObj2这一对象上,B功能的方法名作为injectObj2的子节点可以表征B功能对应的方法。此时,B功能对应的调用目标指令中Inject全局对象可以为injectObj1>injectObj2,表现为window[injectObj1][injectObj2][方法名](参数)。 [Inject全局对象]可以作为各个功能在window对象上挂载的路径,按照所述路径可以找到对应的功能的方法,从而可以对该功能进行触发。并且,通常情况下,挂载在window对象上的功能的方法可以是实现该功能具体需要执行的函数。上述挂载路径仅为示意,具体的路径由不同方法的具体实现方式决定,本申请对此不做限定。
无论通信方式为API注入方式,还是拦截方式,都需要对所述目标宿主端的版本进行检测,因为不同的版本宿主端的功能,以及该功能对应的URL或方法名和参数都可能不同,从而如果使用不符合宿主端版本的配置数据,可能会导致对宿主端的功能的调用错误。通常,宿主端的版本可以向下兼容,因此最新版本的宿主端可以兼容旧版本宿主端对应的配置数据,因此,宿主端的版本需要比配置数据对应的宿主端版本新。当检测到所述目标宿主端的版本不符合所述目标配置数据中的版本要求,可以向用户发出表征更新所述目标宿主端版本的信息。例如,在所述H5页面显示表征更新所述目标宿主端版本的弹窗。
本申请实施例提供的一种H5页面调用宿主端功能的方法,通过确定H5页面所在的目标宿主端的描述信息,作为目标描述信息,基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式,响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
可见,本申请的方案中,针对同一H5页面,可以基于各个宿主端的描述信息,将各个宿主端的配置数据预先存储于配置中心,当H5页面接入目标宿主端时,从配置中心获取对应于所述目标宿主端的配置数据,后续可以利用获取的配置数据实现对所述目标宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端的时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
此外,本申请实现H5页面调用宿主端功能的方法时,涉及到了H5页面、宿主端和配置中心,这三者是以微服务架构的方式进行设置的。本领域技术人员可以知晓,微服务是一种新兴的软件架构风格,每个微服务是一个专注于单一责任与功能的小型功能区块,若干个微服务可以组合出复杂的大型应用程序。也就是实现H5页面调用宿主端功能的方法时需要三者共同作用。所述配置中心可以作为独立于H5页面和宿主端的应用程序,与所述H5页面进行通信。所述配置中心可以部署于任一电子设备,如客户端和服务器端,本申请对此不做限定。所述配置中心的作用可以是存储各个宿主端对应的配置数据,以及依据目标描述信息向对应的H5页面发送该目标描述信息对应的配置数据。
而本申请的H5页面就是从所述配置中心中获取到目标配置数据后,依据相应的处理逻辑也就是上述S103-S105,实现对宿主端功能的调用。可以理解的是,本申请的H5页面接入任一宿主端,对该宿主端的功能的调用时,依据该宿主端相应的目标配置数据完成对该宿主端的功能的调用的处理逻辑是相同的。因此,本申请中无论H5页面需要接入哪一个宿主端,H5页面都是无需进行改变的。可见,应用本申请的方案,无需H5端针对不同宿主端进行适配发版,从而提高开发效率,减少工作成本。
可选的,所述宿主端的功能列表中各个功能的参数为字符串的形式;
配置中心的配置数据通常可以以字符串的形式存在,因此,所述H5页面接收的配置数据也是以字符串的形式,但是不同功能对应的参数类型是不同的,有些功能的参数可以是字符串的形式,有些功能的参数可以是对象的形式。当参数是字符串的形式时,直接使用配置数据中该参数对应的字符串即可,当参数是对象的形式时,可以执行以下步骤:
所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用之前,所述方法还包括:步骤A1-A3,
步骤A1,判断该功能对应的参数字符串是否需要被解析;即判断该功能对应的参数形式是否为对象形的形式;
步骤A2,若所述参数字符串需要被解析,则利用预先确定的解析方式对所述参数字符串进行解析,得到该功能对应的参数;
所述对象可以是JSON对象。 所述参数字符串可以是JSON字符串。
每一对象中可以包括多个参数,若任一方法仅需利用其中一部分参数时,可以利用预先确定的还原方式对所述参数字符串进行还原,得到该功能对应的对象,从所述对象中获取所需的参数,将所获取的参数作为触发所述目标宿主端对该功能进行调用的参数。所述解析方式包括了还原方式。
步骤A3,若所述参数字符串不需要被解析,则将所述参数字符串作为该功能对应的参数。
此时,直接将所述参数字符串作为该功能对应的参数,但在后续基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用步骤时,可以将所述参数字符串按预先确定的还原方式还原为对象。
可选的,基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求包括:
从所述目标配置数据中获取该功能对应的URL;
检测该功能对应的URL所包含的参数中,是否包含有动态参数;
若包含动态参数,
将该功能对应的URL所包含的动态参数替换为真实参数,得到待利用的URL,构建并向所述目标宿主端发送携带有所述待利用的URL的调用请求;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;
若未包含动态参数,则构建并向所述目标宿主端发送携带有该功能对应的URL的调用请求。
该功能对应的URL所包含的参数中,是否包含有动态参数可以从所述目标配置数据中确定。对于包含有动态参数的URL,该URL中动态参数的位置可以是一个占位符号,例如$,所述将该功能对应的URL所包含的动态参数替换为真实参数的步骤执行时,可以将所述占位符号替换为真实参数。示例性的,所述H5页面要实现保存图片A,需要调用所述目标宿主端保存图片的功能,实际上保存任一图片所调用的功能是相同的,具体要保存的图片可以作为动态参数,因此,实现保存图片A时,可以将图片A作为参数替换保存图片功能对应的URL中对应的占位符号得到待利用的URL。
可以理解的是,真实参数是由所述H5页面根据用户的操作确定的,用户不同的操作对应的真实参数都可以是不同的。
可选的,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用,包括:
从所述目标配置数据中,获取该功能对应的方法名和参数;
检测该功能对应的参数中是否包含动态参数;
若包含动态参数,将该功能对应的参数中包含的动态参数替换为真实参数,得到修正后的参数,基于该功能对应的方法名和修正后的参数,触发所述目标宿主端对该功能进行调用;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;
若未包含动态参数,基于获取到的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
API注入方式时动态参数的替换逻辑和上述拦截方式时动态参数的替换逻辑相同,都可以是对占位符号的替换,在此不多做赘述。
参数是否为动态参数,是由该参数本身决定的,与上述的参数字符串是否需要被解析无关。
以上可见,本申请的方案可以在功能对应的参数中包含动态参数时执行,也可以对参数字符串进行解析,得到需要的参数,从而,本申请的方案可以对应于用户的操作,利用相对应所述操作的参数,准确的调用宿主端的功能。
可选的,与所述目标描述信息相对应的配置数据还包括:样式配置数据,所述基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式之前,所述方法还包括:
基于所述样式配置数据,对所述H5页面进行渲染。
所述样式配置数据可以包括所述H5页面中组件的位置和大小、弹窗样式、点击反馈、导航栏样式、颜色以及组件的显示和隐藏等的配置数据。可以理解的是,所述样式配置数据是关于H5页面自身的数据,根据样式配置数据对所述H5页面进行渲染由所述H5页面自身进行。涉及到调用所述H5页面的宿主端的功能对所述H5页面的样式进行改变时,可以利用上述H5页面调用宿主端功能的方法进行实现,也就是调用宿主端实现改变H5页面样式的功能。
以上可见,本实施例可以对所述H5页面的样式进行改变。
如图2所示,为用户、终端、前端H5和原生配置注册中心之间的交互关系示意图。
如图2所示,所述终端中可以包括多个APP,所述APP就是上述的宿主端,所述原生配置注册中心就是上述配置中心,包括了各种配置数据,例如,通用配置可以包括:环境标识、***类型以及调用方式等,原生功能、底层功能配置可以包括版本限制、方法、参数、参数类型、回调注册和关键返回参数等,样式个性化包括:版本限制、样式设置方法、样式参数选择和样式模块配置等。
所述前端H5就是上述H5页面,其可以包括原生控制中心和功能插槽,所述原生控制中心用以实现样式服务,组装服务,版本控制以及回调注册服务。所述功能插槽与上述功能插槽对应,在此不多做赘述。
下面,基于图2,对用户、终端、前端H5和原生配置注册中心之间的交互关系做介绍:
步骤1,各APP独立注册对应的配置。
注册对应的配置,就是将各个APP对应的配置数据存储到原生配置注册中心。可以从图2中看到,对应相同的功能,不同的APP之间的配置是不同的,图2中功能1、功能2和功能3三个功能列表中的APP配置,具体可以是该功能对应的URL或该功能对应的方法名和参数。本申请对功能列表及APP不做限定。所述原生配置注册中心中的数据可以被改变,例如APP版本发生变化,就可以改变对应的配置数据,要增加APP,就可以将该要增加的APP的配置数据注册到原生配置注册中心即可,可见,本申请的方案可以对H5页面和宿主端进行灵活配置。
步骤2,通过APP访问H5。
APP作为H5页面的宿主,因此用户访问H5页面时,可以通过APP来访问。
步骤3, APP打开H5。
用户通过APP访问H5后,APP打开H5。
步骤4,配置数据获取。
所述配置中心获取与上述S101-S102对应,在此不多做赘述。
在实际执行过程中,配置数据获取的步骤可以在该配置数据的数据被改变之前仅执行一次。配置数据中每一功能对应的URL或方法名和参数可以存储于对应的功能插槽。
在所述配置数据的数据被改变之后可以再执行本步骤,相应的,功能插槽中的数据也会按新的配置数据进行变化。示例性的, APP版本更新可以导致配置数据的数据被改变,本申请对导致配置数据的数据被改变的原因不做限定。这种执行方式可以提高本方案的执行效率,减少计算资源的浪费。
步骤5、样式配置处理。
本步骤与上述基于所述样式配置数据,对所述H5页面进行渲染对应,在此不多做赘述。
当样式配置中有需要调用APP功能的操作时,可以按本申请的H5页面调用宿主端功能的方法进行实现。
步骤6、触发功能调用。
本步骤与上述响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作对应。有用户进行操作,触发功能的调用。
步骤7,触发原生方法、底层功能调用。
本步骤就是触发对APP的原生方法、底层功能的调用。需要强调的是,本步骤仅仅是触发原生方法、底层功能调用,而不是执行原生方法、底层功能调用。APP的原生方法、底层功能的调用就是调用宿主端的方法实现该方法对应的功能。
步骤8,版本控制校验。
此步骤与所述所述目标宿主端的版本符合所述目标配置数据中的版本要求对应,用以检测当前APP的版本是否符合所述目标配置数据中的版本要求。
步骤9,注册功能回调。
一些功能需要APP使用回调函数返回数据,若该功能对应的回调函数没有进行注册,则需要H5页面进行注册,具体注册方式与上述相同,在此不多做赘述。
可见,本实施例的方案将各个宿主端的配置数据预先存储于配置中心,当H5页面接入宿主端时,从配置中心获取对应于宿主端的配置数据,后续可以利用获取的配置数据实现对宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
此外,本实施例中将H5页面待调用功能对应的URL或方法名和参数,存储在对应的功能插槽中,以便于H5页面调用功能时,从该功能对应的功能插槽中获取该功能对应的URL或方法名和参数。
如图3所示,为H5页面从配置中心获取配置数据的示意图,图3右侧示例性的介绍了不同APP作为宿主端时相对应的配置数据的数据内容。
同一H5页面在宿主为不同APP时,都可以从配置中心获取对应于当前宿主的配置数据。
H5页面可以向配置中心发送目标描述信息来获取配置数据。该步骤与上述S102对应。所述参数:{UA:userAgent,type:IOS/Android}就是所述目标描述信息,userAgent在上述实施例中已经介绍,在此不多做赘述,UA为userAgent 的缩写,type 指操作***类型。IOS:iPhone OS,是苹果公司为其移动设备所开发的专有移动操作***,Android:是由Google公司和开放手机联盟领导并开发的一种基于Linux内核的自由且开放源代码的操作***。
图3中APP1:IOS配置/Android配置,APP2:IOS配置/Android配置,APP3:IOS配置/Android配置就是H5页面在不同宿主端时返回的对应于宿主端的配置数据。对于APP来说,通常分为IOS端和Android端,这两个***的通信方式可以是API注入方式或拦截方式,具体由APP来设定,本申请对此不做限定。当然,宿主端的设备类型可以是树莓派和智能设备等,因此,利用***类型划分APP的原生方法、底层功能并不仅限于IOS和Android。需要强调的是,即便是利用***类型划分APP的原生方法、底层功能,但本质上还是根据通信方式为API注入方式或拦截方式来划分的。
图3中示例性的介绍了APP1在IOS端的配置数据和在Android端的APP的原生方法、底层功能。
IOS端的APP的原生方法、底层功能包括宿主环境标识,IOS调用方案,协议名,IOS功能调用列表和IOS样式配置列表,IOS功能调用列表中包括:获取APP版本号和打开新的H5页面,IOS样式配置列表中包括:导航栏样式和页面模块控制。
IOS功能调用列表中的每一功能的数据中包括实现该功能的方法的路径,该功能对应的回调方法名和关键返回值路径。所述回调方法名与上述实施例的回调函数对应,关键返回值路径与上述关键返回路径对应。APP执行完功能后,可以利用该回调方法名和关键返回值路径,从所述目标宿主端返回的该功能的相关的数据中获取目标数据返回给H5页面。
导航栏样式的数据中包括路径参数和最低版本号;所述路径参数用以使H5页面按调用APP的相应功能对导航栏样式进行设置,所述最低版本号用以判断H5所在的APP是否满足该APP的原生方法、底层功能规定的APP的最低版本号。导航栏样式的设置需要调用APP的功能。具体实现时就是按本申请的H5页面调用宿主端功能的方法进行实现。
页面模块控制中包括对H5页面中各模块是否显示、隐藏以及各模块的颜色的设定数据。页面模块控制由H5自身进行。
Android端的APP的原生方法、底层功能包括宿主环境标识,Android调用方案,Android功能调用列表和Android样式配置列表,Android功能调用列表中包括:获取APP版本号和打开新的H5页面,Android样式配置列表中包括:导航栏样式和页面模块控制。
Android功能调用列表中的每一功能的数据中包括实现该功能的方法的方法名和参数、Inject全局对象、参数是否解构的数据以及关键返回值路径。所述回调方法名与上述实施例的回调函数对应,关键返回值路径与上述关键返回路径对应。APP执行完功能后,可以利用该回调方法名和关键返回值路径 ,从所述目标宿主端返回的该功能的相关的数据中获取目标数据返回给H5页面。所述Inject全局对象就是上述的调用目标指令中 [Inject全局对象],不同功能的方法,对应的Inject全局对象可能不同,Inject全局对象是以各个方法实际的应用情况决定的,本申请对此不做限定。
导航栏样式的数据中包括方法名、参数和最低版本号;所述方法名、参数用以使H5页面调用APP的相应功能对导航栏样式进行设置,所述最低版本号用以判断H5所在的APP是否满足该APP的原生方法、底层功能规定的APP的最低版本号。导航栏样式的设置需要调用APP的方法。具体实现时就是按本申请的H5页面调用宿主端功能的方法进行实现。
页面模块控制中包括对H5页面中各模块是否显示、隐藏以及各模块的颜色的设定数据。页面模块控制由H5自身进行。
图4是一种H5页面调用宿主端功能的方法的流程示意图。下面,结合图4,对H5页面调用宿主端功能的方法做具体介绍。
S401,H5页面***初始化;
S402,是否移动端;
本实施例的H5的宿主端是APP, APP所在的终端为移动端,因此,检测到在移动端时执行后述步骤。
S403,调用配置中心接口获取当前宿主环境配置;
此步骤在调用配置中心的接口时,向所述接口传递的参数可以是userAgent和***类型,所述userAgent和***类型就是上述的目标描述信息,当然,所述***类型可以从所述userAgent中获取,因此,传递的参数可以是userAgent。
S404,是否匹配到已配置宿主环境;
此步骤就是在配置中心中找到与当前宿主环境对应的配置数据,可以理解的是,与当前宿主环境对应的配置数据在配置中心中存在时,也就是匹配到已配置宿主环境,本申请的方案才能继续执行。
S405,接口返回匹配到的宿主环境和对应的***类型的配置;
S403-S404步骤与上述S102对应,用以获取当前宿主端对应的目标配置数据。
S406,H5页面获取到配置数据存储入状态管理库,设置调用方案全局标识;
H5拿到配置数据后可以存储入状态管理库,并根据配置数据设置对应的功能插槽。以及设置调用方案全局标识,所述调用方案全局标识就是指通信方式。
S407,是否包含样式配置;
一些配置数据中可以包括样式配置数据,H5页面可以根据样式配置数据对H5页面的样式进行调整。在包含样式配置时,可以执行S408,不包含时,可以执行S411。
S408,样式服务解析样式配置;
S409,渲染H5相关样式配置结果;
S408-S409与上述基于所述样式配置数据,对所述H5页面进行渲染步骤对应。
S410,是否获取到原生样式配置数据;
所述原生样式配置数据是指需要调用宿主端功能对H5界面的样式进行调整的配置数据。所述原生样式配置数据是属于所述配置数据的。是否获取到原生样式配置数据实际上就是判断是否可以从配置中心获取到原生样式配置数据。获取到原生样式配置数据,则可以执行S411,没有获取到,则可以执行S413。
S411,用户操作触发原生调用功能模块执行;
用户操作触发原生调用功能模块执行,就是用户在H5页面发出关于实现调整H5界面的样式功能的页面操作。
S412,获取此功能模块配置数据;
本步骤就是获取关于实现调整H5界面的样式功能对应的URL或该功能对应的方法名和参数,并利用获取的URL或方法名和参数实现实现调整H5界面的样式。
S410-S412需要调用宿主端的功能对H5界面的样式进行调整调整,因此,S410-S412实际上就是执行的后续的H5页面调用宿主端功能的方法,只是所述功能为对H5界面的样式进行调整的方法。也就是,S410-S412实现时,执行的步骤与S414-S424步骤或S425-S434步骤对应。S408-S412是否执行并不影响本申请的H5页面调用宿主端功能的方法。
S413,是否使用URL scheme方案;
是,则说明H5调用宿主调用宿主端功能使用的是URL scheme(URL协议)的通信方式,也就是上述的拦截方式,执行后述S414-S424步骤,否,则使用的是所述API注入的方式,执行后述S425-S434步骤。所述URL scheme就是上述的URL。
S414,是否限制调用最低版本;
S414与所述目标宿主端的版本符合所述目标配置数据中的版本要求对应;是,则执行S415,否则执行S420。
S415,是否已注册版本获取回调函数;
版本相关的数据需要通过版本获取回调函数返回给H5页面,是否已注册版本获取回调函数就是判断版本获取回调函数是否已经挂载在window对象上。检测到已经注册,执行S417,检测到没有注册,执行S416。
S416,注册获取版本的回调函数;
如果没有注册,就进行注册获取版本的回调函数,也就是H5页面将获取版本的回调函数挂载在window对象上。获取版本的回调函数的作用就是在APP拦截调用版本号获取的URL scheme,并进行获取版本号后,利用版本号路径从APP的返回结果中拿到版本号。所述版本号路径与上述的关键返回路径对应。
S417,调用版本号获取的URL scheme;
此步骤与上述向所述目标宿主端发送携带有该功能对应的URL的调用请求对应,只是此步骤中的URL为获取版本号的URL,也就是实现获取版本号功能对应的URL;
当然,任一获取宿主端版本号的方式都可以应用于本申请,本申请对此不做限定。
S418,当前版本是否可调用此原生方法;
否,则执行S419。
S419,弹窗提示用户升级APP版本;
S418与S419与上述对宿主端的版本进行检测的实施例对应,在此不多做赘述。
S420,将配置参数中${}包裹的参数替换为真实参数;
${}就是上述的占位符号。
S421,是否需要注册回调函数;
需要注册回调函数,则执行S422,否则执行S423。
S422,拿到回调函数配置,注册回调函数;拿到关键返回参数配置,回调函数中对关键返回参数结果做对应的数据处理;
S423,拼接URL scheme,用window.open()方法调用;
S424,APP拦截解析URL scheme,方法调用结果通过回调返回;
上述S414-S424的步骤就是按照拦截方式实现H5页面调用宿主端功能的方法的过程,与上述S104步骤对应,在此不多做赘述;
S425,是否限制调用最低版本;
S425与所述目标宿主端的版本符合所述目标配置数据中的版本要求对应。是则执行S426,否则执行S429。
S426,window[inject全局对象][获取版本号方法名](参数)从执行结果中获取版本号;
此步骤与上述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用,只是方法名和参数为获取版本号的方法名和参数。
S427,当前版本是否可调用此原生方法;
是则执行S429,否则执行S428。
S428,弹窗提示用户升级APP版本;
S427与S428与上述对宿主端的版本进行检测的实施例对应,在此不多做赘述。
S429,将配置参数中${}包裹的参数替换为真实参数;
${}就是上述的占位符号。
S430,将参数从JSON字符串解析为JSON对象;
S431,是否需要参数解构;
S430-S431与上述步骤A1-A3对应;
如果需要解构,在解构完执行S432,若不需要解构,则执行S433。
S432,window[inject全局对象] [方法名](...参数)进行方法调用;
“...参数”标识从JSON对象中解析出的多个参数。
S433,window[inject全局对象][方法名](参数)进行方法调用;
S434,从调用结果关键返回参数数据进行相应的处理。
上述S425-S434的步骤就是按照API注入的方式实现H5页面调用宿主端功能的方法的过程,与上述S105步骤对应,在此不多做赘述。
可见,本实施例的方案中,当H5页面需要调用宿主端的功能时,可以从配置中心获取对应于宿主端的配置数据,后续可以利用获取的配置数据实现对宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
此外,本申请的方案在H5页面接入新的宿主端时,可以实现快速接入,因此,本申请可以解决H5页面接入新的宿主端时对接测试周期长、开发效率低下、代码冗长、内容不一致和难以维护等诸多问题。
本实施例的配置中心是以微服务架构的方式存在,H5页面在配置中心获取配置数据时相当于以微服务架构服务配置注册的方式实现因此,本申请的方案可以实现H5页面个性化、配置化的快速接入多终端原生服务能力,也就是实现快速对宿主端功能调用。
基于上述的H5页面调用宿主端功能的方法的实施例内容,本申请实施例还提供了一种H5页面调用宿主端功能的装置。图5为本申请实施例提供的一种H5页面调用宿主端功能的装置的结构示意图,如图5所示,所述H5页面调用宿主端功能的装置可以包括:
第一确定模块501,用于确定所述H5页面所在的目标宿主端的描述信息,作为目标描述信息;
获取模块502,用于从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
第二确定模块503,用于基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
调用模块504,用于响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
本申请实施例提供的一种H5页面调用宿主端功能的装置,通过确定H5页面所在的目标宿主端的描述信息,作为目标描述信息,基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式,响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
可见,本申请的方案中,针对同一H5页面,可以基于各个宿主端的描述信息,将各个宿主端的配置数据预先存储于配置中心,当H5页面接入目标宿主端时,从配置中心获取对应于所述目标宿主端的配置数据,后续可以利用获取的配置数据实现对所述目标宿主端功能的调用。可见,本方案在相同的H5页面接入不同的宿主端的时,无需针对不同的宿主端设置不同的调用方式,从而本方案可以实现在无需冗长代码的情况下,实现同一H5界面对于不同宿主端的功能的调用。
可选的,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用包括:
向所述目标宿主端发出目标指令,以触发所述目标宿主端对该功能的调用;其中,所述目标指令的指令类型为所述API注入方式对应的指令类型,且所述目标指令中携带有所述该功能对应的方法名和参数。
可选的,任一功能对应的URL由该功能被调用时所利用的协议名和路径组成;其中,所述路径中包含该功能的参数;
基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求包括:
从所述目标配置数据中获取该功能对应的URL;
检测该功能对应的URL所包含的参数中,是否包含有动态参数;
若包含动态参数,
将该功能对应的URL所包含的动态参数替换为真实参数,得到待利用的URL,构建并向所述目标宿主端发送携带有所述待利用的URL的调用请求;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;
若未包含动态参数,则构建并向所述目标宿主端发送携带有该功能对应的URL的调用请求。
可选的,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用,包括:
从所述目标配置数据中,获取该功能对应的方法名和参数;
检测该功能对应的参数中是否包含动态参数;
若包含动态参数,将该功能对应的参数中包含的动态参数替换为真实参数,得到修正后的参数,基于该功能对应的方法名和修正后的参数,触发所述目标宿主端对该功能进行调用;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;
若未包含动态参数,基于获取到的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
可选的,与所述目标描述信息相对应的配置数据还包括:样式配置数据,所述装置还包括:渲染装置,用于在所述基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式之前,执行基于所述样式配置数据,对所述H5页面进行渲染。
可选的,所述H5页面中存在多个功能插槽;每一功能插槽与待调用的各个功能中的一个功能唯一对应;
当所确定出的通信方式为拦截方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的URL;当所确定出的通信方式为API注入方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的方法名和参数;
所述目标配置数据中的该功能对应的URL的获取方式包括:
从该功能对应的功能插槽,获取该功能对应的URL;
所述目标配置数据中的该功能对应的方法名和参数的获取方式,包括:
从该功能对应的功能插槽中,获取该功能对应的方法名和参数。
本申请实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现上述任一H5页面调用宿主端功能的方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(APPlication Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一H5页面调用宿主端功能的方法方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一H5页面调用宿主端功能的方法方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种H5页面调用宿主端功能的方法,其特征在于,所述方法包括:
确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用包括:
向所述目标宿主端发出目标指令,以触发所述目标宿主端对该功能的调用;其中,所述目标指令的指令类型为所述API注入方式对应的指令类型,且所述目标指令中携带有所述该功能对应的方法名和参数。
3.根据权利要求1所述的方法,其特征在于,任一功能对应的URL由该功能被调用时所利用的协议名和路径组成;其中,所述路径中包含该功能的参数;
基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求包括:
从所述目标配置数据中获取该功能对应的URL;
检测该功能对应的URL所包含的参数中,是否包含有动态参数;
若包含动态参数,
将该功能对应的URL所包含的动态参数替换为真实参数,得到待利用的URL,构建并向所述目标宿主端发送携带有所述待利用的URL的调用请求;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;
若未包含动态参数,则构建并向所述目标宿主端发送携带有该功能对应的URL的调用请求。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用,包括:
从所述目标配置数据中,获取该功能对应的方法名和参数;
检测该功能对应的参数中是否包含动态参数;
若包含动态参数,将该功能对应的参数中包含的动态参数替换为真实参数,得到修正后的参数,基于该功能对应的方法名和修正后的参数,触发所述目标宿主端对该功能进行调用;其中,所述真实参数为基于所述关于实现任一功能的页面操作,确定得到的对应于所述页面操作的参数;若未包含动态参数,基于获取到的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
5.根据权利要求1所述的方法,其特征在于,与所述目标描述信息相对应的配置数据还包括:样式配置数据,所述基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式之前,所述方法还包括:
基于所述样式配置数据,对所述H5页面进行渲染。
6.根据权利要求1所述的方法,其特征在于,所述H5页面中存在多个功能插槽;每一功能插槽与待调用的各个功能中的一个功能唯一对应;
当所确定出的通信方式为拦截方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的URL;当所确定出的通信方式为API注入方式时,每一功能插槽用于存储所述目标配置数据中的、该功能插槽相对应的功能对应的方法名和参数;
所述目标配置数据中的该功能对应的URL的获取方式包括:
从该功能对应的功能插槽,获取该功能对应的URL;
所述目标配置数据中的该功能对应的方法名和参数的获取方式,包括:
从该功能对应的功能插槽中,获取该功能对应的方法名和参数。
7.一种H5页面调用宿主端功能的装置,其特征在于,所述装置包括:
第一确定模块,用于确定H5页面所在的目标宿主端的描述信息,作为目标描述信息;
获取模块,用于从配置中心获取与所述目标描述信息相对应的配置数据,作为目标配置数据;其中,与所述目标描述信息相对应的配置数据为预先设定的、在所述H5页面接入具有所述目标描述信息的任一宿主端时所需的配置数据,且与所述目标描述信息相对应的配置数据包括:所述H5页面与所接入的宿主端的通信方式、所接入的宿主端的对应于所述通信方式的功能列表和所接入的宿主端的版本要求;其中,所述通信方式为拦截方式或API注入方式,对应于拦截方式的功能列表包括待调用的各个功能对应的URL,对应于API注入方式的功能列表包括待调用的各个功能对应的方法名和参数;
第二确定模块,用于基于所述目标配置数据中的通信方式,确定所述H5页面与所述目标宿主端的通信方式;
调用模块,用于响应于检测到用户在所述H5页面发出关于实现任一功能的页面操作,若所确定出的通信方式为拦截方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,则基于所述目标配置数据中的该功能对应的URL,向所述目标宿主端发送携带有该功能对应的URL的调用请求,以使所述目标宿主端拦截并解析所述调用请求后,按照所述调用请求中的URL对该功能进行调用;
若所确定出的通信方式为API注入方式,且所述目标宿主端的版本符合所述目标配置数据中的版本要求,基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用。
8.根据权利要求7所述的装置,其特征在于,所述基于所述目标配置数据中的该功能对应的方法名和参数,触发所述目标宿主端对该功能进行调用包括:
向所述目标宿主端发出目标指令,以触发所述目标宿主端对该功能的调用;其中,所述目标指令的指令类型为所述API注入方式对应的指令类型,且所述目标指令中携带有所述该功能对应的方法名和参数。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311420175.3A CN117149469B (zh) | 2023-10-30 | 2023-10-30 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311420175.3A CN117149469B (zh) | 2023-10-30 | 2023-10-30 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117149469A true CN117149469A (zh) | 2023-12-01 |
CN117149469B CN117149469B (zh) | 2024-01-19 |
Family
ID=88910489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311420175.3A Active CN117149469B (zh) | 2023-10-30 | 2023-10-30 | H5页面调用宿主端功能的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117149469B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118132879A (zh) * | 2024-04-30 | 2024-06-04 | 浙江口碑网络技术有限公司 | 一种链接数据缓存方法及链接数据获取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141272A (ja) * | 2001-11-02 | 2003-05-16 | T2 Mediapal Kk | 宿泊施設ホームページ作成支援システム |
CN116578297A (zh) * | 2023-05-18 | 2023-08-11 | 中国建设银行股份有限公司 | H5页面的运行方法、装置、电子设备及存储介质 |
CN116661936A (zh) * | 2023-06-30 | 2023-08-29 | 中国平安财产保险股份有限公司 | 页面数据的处理方法、装置、计算机设备及存储介质 |
-
2023
- 2023-10-30 CN CN202311420175.3A patent/CN117149469B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141272A (ja) * | 2001-11-02 | 2003-05-16 | T2 Mediapal Kk | 宿泊施設ホームページ作成支援システム |
CN116578297A (zh) * | 2023-05-18 | 2023-08-11 | 中国建设银行股份有限公司 | H5页面的运行方法、装置、电子设备及存储介质 |
CN116661936A (zh) * | 2023-06-30 | 2023-08-29 | 中国平安财产保险股份有限公司 | 页面数据的处理方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118132879A (zh) * | 2024-04-30 | 2024-06-04 | 浙江口碑网络技术有限公司 | 一种链接数据缓存方法及链接数据获取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117149469B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979508B (zh) | 微服务测试方法及装置 | |
CN109391676B (zh) | 终端设备控制方法、终端设备及计算机可读存储介质 | |
CN105657191B (zh) | 一种基于Android***的应用增量升级方法及*** | |
CN110688232B (zh) | 应用程序调用方法、终端设备及计算机可读存储介质 | |
CN110324169B (zh) | 一种接口管理的方法和装置 | |
CN117149469B (zh) | H5页面调用宿主端功能的方法、装置、设备及存储介质 | |
CN107273126B (zh) | 应用开发方法和装置 | |
CN106569880B (zh) | 一种Android应用间动态共享资源的方法及*** | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
CN106502717B (zh) | 应用程序运行方法及装置 | |
CN102622237B (zh) | 一种业务功能流程化的配置方法及*** | |
US11537367B1 (en) | Source code conversion from application program interface to policy document | |
CN108733553A (zh) | 基于docker的测试装置的配置方法、装置和*** | |
CN108804100B (zh) | 创建界面元素的方法、装置、存储介质及移动终端 | |
CN110727469B (zh) | 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质 | |
CN113141405A (zh) | 服务访问方法、中间件***、电子设备和存储介质 | |
CN114416396A (zh) | 一种接口版本控制方法、装置、电子设备及存储介质 | |
CN110209983B (zh) | 一种网页web项目的部署方法及装置 | |
US10078532B2 (en) | Resource management method and device for terminal system among multiple operating systems | |
CN114968406A (zh) | 一种插件管理方法、装置、电子设备及存储介质 | |
CN111443920B (zh) | 一种框架迁移方法及装置 | |
CN110730197A (zh) | 一种服务发现方法和*** | |
CN111880786A (zh) | 多应用共享方法、***、装置、电子设备及存储介质 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN113434213B (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 |