应用页面的接入方法、装置及设备与流程

文档序号:22928054发布日期:2020-11-13 16:24阅读:178来源:国知局
应用页面的接入方法、装置及设备与流程

本申请涉及数据处理技术领域,尤其是涉及到一种应用页面的接入方法、装置及设备。



背景技术:

随着互联网技术的发展,智能终端的大量普及,信息的传输和交互越来越便捷。目前在终端的app应用中,开发者会将应用内的小程序划分为多个子包,在构建时打包成不同的分包,使得每个应用中会集成多个适用于自身应用的分包,每个分包针对一个应用功能,以供用户在使用时按需进行加载,并在执行应用功能时,运行相应的分包以进入至应用功能的页面。

相关技术中,应用功能的页面很难跨应用运行,为了使得任一应用功能的页面能够在多个应用中运行,针对不同应用页面的接入过程中,通常可以设置一个h5页面,并将h5页面嵌入到应用功能程序集成的分包中,或者直接从多个应用中加载h5页面。然而,h5页面的加载主要依赖网络,尤其在弱网场景下,h5页面的加载速度受限,使得跨应用接入的页面加载速度较慢,影响应用功能的使用体验。



技术实现要素:

有鉴于此,本申请提供了一种应用页面的接入方法、装置及设备,主要目的在于解决现有技术中跨应用接入的页面加载速度较慢的问题。

根据本申请的第一个方面,提供了一种应用页面的接入方法,该方法包括:

响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包,所述数据平台中存储有利用功能源代码所生成用于嵌入至不同需求应用的功能程序包;

将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得所述需求应用根据所述项目文件中目标功能程序包接入目标功能页面。

在本发明另一实施例中,所述数据平台中记录有功能程序包所形成目录结构的配置信息,所述基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包,具体包括:

基于所述获取指令所携带的应用标识,遍历匹配数据平台中功能程序包所形成目录结构的配置信息;

若所述应用标识与所述配置信息所定义的应用信息相匹配,则从数据平台中筛选与所述应用标识相映射的目标功能程序包。

在本发明另一实施例中,在所述响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中查询与所述应用标识相映射的目标功能程序包之前,所述方法还包括:

接收目标功能源代码;

利用源代码编译工具,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在本发明另一实施例中,所述利用源代码编译工具,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包,具体包括:

利用源代码编译工具,从所述功能源代码中抽取代码逻辑框架,所述代码逻辑框架包括应用提供的多个功能模块;

按照代码逻辑框架分别对所述多个功能模块内的功能源代码进行转换处理,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在本发明另一实施例中,所述按照代码逻辑框架分别对所述功能模块内的功能源代码进行转换处理,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包,具体包括:

针对代码逻辑框架中页面层提供的功能模块,通过页面属性映射和替换将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

针对代码逻辑框架中逻辑层提供的功能模块,通过适配抽象语法树将所述逻辑层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

针对代码逻辑框架中视图层提供的功能模块,通过界面组件映射将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码。

在本发明另一实施例中,在所述将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中之后,所述方法还包括:

响应于对所述功能程序包附加功能实例的调用指令,基于所述调用指令所携带的功能标识从已有项目文件中获取与所述功能标识相匹配的目标功能实例;

通过调用所述目标功能实例中的功能函数,将所述目标功能实例中的功能函数绑定至目标功能程序包。

根据本申请的第二个方面,一种应用页面的接入方法,该方法包括:

响应于绑定有目标功能程序包的选项按钮的触发操作,生成并发送目标功能程序包的获取指令,所述获取指令携带有应用标识;

接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包。

在本发明另一实施例中,在所述接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包之后,所述方法还包括:

响应于目标功能页面进行展示的触发操作,利用所述应用程序包中目标功能程序包提供加载链路接入并展示目标功能页面。

根据本申请的第三个方面,提供了一种应用于服务端的应用页面的接入装置,该装置包括:

筛选单元,用于响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包,所述数据平台中存储有利用功能源代码所生成用于嵌入至不同需求应用的功能程序包;

嵌入单元,用于将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得所述需求应用根据所述项目文件中目标功能程序包接入目标功能页面。

在本发明另一实施例中,所述数据平台中记录有功能程序包所形成目录结构的配置信息,所述筛选单元包括:

匹配模块,用于基于所述获取指令所携带的应用标识,遍历匹配数据平台中功能程序包所形成目录结构的配置信息;

筛选模块,用于若所述应用标识与所述配置信息所定义的应用信息相匹配,则从数据平台中筛选与所述应用标识相映射的目标功能程序包

在本发明另一实施例中,所述装置还包括:

第一接收单元,用于在所述响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中查询与所述应用标识相映射的目标功能程序包之前,接收目标功能源代码;

编译单元,用于利用源代码编译工具,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在本发明另一实施例中,所述编译单元包括:

抽取模块,用于利用源代码编译工具,从所述功能源代码中抽取代码逻辑框架,所述代码逻辑框架包括应用提供的多个功能模块;

编译模块,用于按照代码逻辑框架分别对所述多个功能模块内的功能源代码进行转换处理,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在本发明另一实施例中,所述编译模块包括:

第一编译子模块,用于针对代码逻辑框架中页面层提供的功能模块,通过页面属性映射和替换将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

第二编译子模块,用于针对代码逻辑框架中逻辑层提供的功能模块,通过适配抽象语法树将所述逻辑层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

第三编译子模块,用于针对代码逻辑框架中视图层提供的功能模块,通过界面组件映射将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码。

在本发明另一实施例中,所述装置还包括:

获取单元,用于在所述将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中之后,响应于对所述功能程序包附加功能实例的调用指令,基于所述调用指令所携带的功能标识从已有项目文件中获取与所述功能标识相匹配的目标功能实例;

调用单元,用于通过调用所述目标功能实例中的功能函数,将所述目标功能实例中的功能函数绑定至目标功能程序包。

根据本申请的第四个方面,提供了一种应用于开发端的应用页面的接入装置,该装置包括:

生成单元,用于响应于绑定有目标功能程序包的选项按钮的触发操作,生成并发送目标功能程序包的获取指令,所述获取指令携带有应用标识;

第二接收单元,用于接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包。

在本发明另一实施例中,所述装置还包括:

接入单元,用于在所述接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包之后,响应于目标功能页面进行展示的触发操作,利用所述应用程序包中目标功能程序包提供加载链路接入并展示目标功能页面。

根据本申请的第五个方面,提供了一种应用页面的接入系统,该系统包括接收端和发送端;

响应于绑定有目标功能程序包的选项按钮的触发操作,所述发送端生成并发送目标功能程序包的获取指令,所述获取指令携带有应用标识;

响应于功能程序包的获取指令,所述接收端基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包,所述数据平台中存储有利用功能源代码所生成用于嵌入至不同需求应用的功能程序包;

所述接收端将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得所述需求应用根据所述项目文件中目标功能程序包接入目标功能页面;

所述发送端接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包。

根据本申请的第六个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述应用页面的接入方法。

根据本申请的第七个方面,提供了一种开发端设备和服务器设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述应用页面的接入方法。

借由上述技术方案,本申请提供的一种应用页面的接入方法、装置及设备,与目前现有方式中使用h5页面嵌入到应用功能程序集成的分包中来实现应用页面的接入方式相比,本申请通过响应于功能程序包的获取指令,基于获取指令所携带的应用标识从数据平台中筛选与应用标识相映射的目标功能程序包,该目标功能程序包相当于跨应用的代码产物,通过将目标功能程序包嵌入至应用标识所对应需求功能的项目文件中,以使得需求应用能够将跨应用的代码产物集成到原有项目文件中,这样对历史项目产生较小破坏的同时使得页面可以兼容多个应用,提高应用的开发效率,由于该页面无需依赖网络,使得页面加载速度不受限制,提高了跨应用接入的页面加载速度。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出了本申请实施例提供的一种应用页面的接入方法的流程示意图;

图2示出了本申请实施例提供的另一种应用页面的接入方法的流程示意图;

图3示出了本申请实施例提供的另一种应用页面的接入方法的流程示意图;

图4示出了本申请实施例提供的一种应用页面的接入方法的交互时序图;

图5示出了本申请实施例提供的多个需求应用接入至目标功能页面场景的时序图;

图6示出了本申请实施例提供的多个需求应用接入至目标功能页面场景的时序图;

图7示出了本申请实施例提供的一种应用页面的接入装置的结构示意图;

图8示出了本申请实施例提供的另一种应用页面的接入装置的结构示意图;

图9示出了本申请实施例提供的另一种应用页面的接入装置的结构示意图;

图10示出了本申请实施例提供的另一种应用页面的接入装置的结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本申请涉及的应用页面的接入系统包括发送端和接收端,其中,发送端为开发端,具体可应用在内嵌入有应用程序的开发端,该应用程序作为需求应用,为了能够兼容其他应用的页面,用于响应于绑定有目标功能程序包的选项按钮的触发操作,生成并发送目标功能程序包的获取指令,该获取指令携带有应用标识,接收目标功能程序包,并将目标功能程序包嵌入至项目文件中,形成应用程序包,以根据应用程序包中的目标功能程序包实现其他应用页面的接入。接收端为服务端,可以为应用程序对应的服务端,该服务端可以接收各个应用程序的开发端上传的功能源代码,并形成用于嵌入至不同需求应用的功能程序包存储至数据平台,用于响应于功能程序包的获取指令,并基于获取指令所携带的应用标识,从数据平台中筛选与应用标识相映射的目标功能程序包,进一步将目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得需求应用根据项目文件中目标功能程序包接入目标功能页面。具体在实际应用过程中,通过应用程序的开发端与服务端进行交互,服务端可以将功能源代码编译为用于嵌入至不同需求应用的功能程序包,进而通过功能程序包接入至目标功能页面,以使得需求应用能够将跨应用的代码产物集成到原有项目文件中,这样对历史项目产生较小破坏的同时使得页面可以兼容多个应用,提高应用的开发效率。

为了解决该问题,本实施例提供了一种应用页面的接入方法,如图1所示,该方法应用于应用程序的服务端,包括如下步骤:

101、响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包。

通常情况下,应用程序为了吸引用户,提高用户的使用体验,会不断增加新的功能或者针对已有功能进行完善或者改进,作为有功能需求的应用程序,作为需求应用可以通过向服务端发起功能程序包的获取指令,进而通过该获取指令所携带的应用标识从服务端筛选出相应功能程序包。

其中,获取指令作为需求应用发送至应用程序服务端用于获取功能程序包的指令,由于应用在运营过程中,需要增加新的功能,并且不同应用之间的功能程序包无法兼容,获取指令中会携带有需求应用的应用标识,例如,应用版本号、应用名称等,而服务端为了便于应用程序的开发端进行功能程序包的下载,会预先在数据平台中存储利用功能源代码所生成用于嵌入至不同需求应用的功能程序包,该功能程序包可以为基于功能源代码编译打包的npm包,数据平台可以为存储npm包的数据库,进而根据获取指令所携带的应用标识从数据平台中筛选与应用标识相映射的目标功能程序包。

在本发明实施例中,数据平台在应用程序的服务端中可以对功能源代码进行收集以及编译处理,该数据平台中嵌入有多端编译工具,当接收任一应用所提供的功能源代码,利用多端编译工具可以将该功能源代码编译为用于嵌入至不同需求应用的功能程序包。

对于本实施例的执行主体可以为应用页面的接入装置或设备,可以配置在应用程序的服务端,当服务端接收到功能程序包的获取指令后,服务端能够从数据平台中获取与应用标识相映射的功能程序包,并将该功能程序包发放到需求应用的项目文件中,以使得需求应用可以接入其他应用的功能页面,提高应用之间的兼容性。

102、将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中。

在本发明实施例中,由于目标功能程序包为针对已有项目文件所新增的功能代码,该功能代码的运行需要依赖已有项目文件,进一步将目标功能程序包嵌入至应用标识所对应需求应用的项目文件中。

可以理解的是,考虑到功能代码运行时所依赖的项目文件,在将目标功能程序包嵌入至需求应用的项目文件过程中,可以通过解析目标功能程序包内功能代码,确定功能代码与项目文件内函数之间的依赖关系,基于依赖关系,将功能代码嵌入到包含有相应函数的项目文件中。

本申请实施例提供的应用页面的接入方法,与目前现有方式中使用h5页面嵌入到应用功能程序集成的分包中来实现应用页面的接入方式相比,本申请通过响应于功能程序包的获取指令,基于获取指令所携带的应用标识从数据平台中筛选与应用标识相映射的目标功能程序包,该目标功能程序包相当于跨应用的代码产物,通过将目标功能程序包嵌入至应用标识所对应需求功能的项目文件中,以使得需求应用能够将跨应用的代码产物集成到原有项目文件中,这样对历史项目产生较小破坏的同时使得页面可以兼容多个应用,提高应用的开发效率,由于该页面无需依赖网络,使得页面加载速度不受限制,提高了跨应用接入的页面加载速度。

进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,本实施例提供了另一种应用页面的接入方法,如图2所示,该方法包括:

201、接收目标功能源代码。

其中,目标功能代码可以为目标应用程序开发者基于需求开发应用程序的功能源代码,该功能源代码通常为附加在目标应用程序历史项目上的新项目,能够实现新的功能,形成新的功能页面,例如,搜索周围人功能页面、排序功能页面、支付功能页面等。

202、利用源代码编译工具,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

通常情况下,针对单一应用程序的功能程序包只能嵌入至该应用程序的项目文件中,无法跨应用打开其他应用程序的功能页面,例如,应用程序a无法打开应用程序b的功能页面,同样,目标功能源代码只能形成目标功能页面,无法被其他应用接入使用。为了使目标功能源代码所形成的功能页面能够兼容到更多应用程序中,本发明实施例中可以利用应用程序的服务端所嵌入的源代码编译工具,该源代码编译工具可以将目标功能源代码进行拆解处理后重新编译,形成适用于其他应用的功能源代码,并将适用于其他应用的功能源代码封装成成功能程序包。

在本发明实施例中,具体可以利用源代码编译工具,从功能源代码中抽取代码逻辑框架,该代码逻辑框架包括应用提供的多个功能模块,进一步按照代码逻辑框架分别对多个功能模块内的功能源代码进行转换处理,将功能源代码编译成用于嵌入至不同需求应用的功能程序包。

由于功能代码逻辑框架中包括不同功能模块,具体针对代码逻辑框架中页面层提供的功能模块,可以通过页面属性映射和替换将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;针对代码逻辑框架中逻辑层提供的功能模块,可以通过适配抽象语法树将逻辑层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;针对代码逻辑框架中视图层提供的功能模块,可以通过界面组件映射将视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码。

可以理解的是,这里可以利用编译打包工具来将编译好功能源代码打包为功能程序包,例如,npm包管理工具,可以将编译好的功能源代码打包为npm包,也就是功能程序包,每个功能程序包通常由很多的子模块组成,由于功能源代码开发中会用不同的依赖包,不同的依赖包又会依赖不同的应用程序版本,编译打包工具可以声明功能程序包中共同的依赖,以便于功能程序包的运行。

203、响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,遍历匹配数据平台中功能程序包所形成目录结构的配置信息。

其中,数据平台中记录有功能程序包所形成目录结构的配置信息,例如,功能程序包安装目录、功能程序包的资源目录、功能程序包的临时目录等,该功能程序包的安装目录用于存放应用程序的安装信息,例如,安装路径、安装位置、安装权限等,该功能程序包的资源目录用于存放应用程序的资源文件,例如,图片、视频、音频、对话框等,该功能程序包的临时目录用于存放应用程序编译时产生的临时文件。

通常情况下,功能程序包由功能源代码构成,而所有功能源代码都会嵌入有应用开发者所定义声明的应用信息中,例如,应用版本、应用名称、应用自定义类等,该应用信息用来放置应用程序区别于其它应用程序的描述文件,相当于应用程序固有的身份标识,在生成应用信息后可以将其分布在目录结构的配置信息,以使得各个目录结构的配置信息都可以根据定义的应用信息来识别应用身份。

204、若所述应用标识与所述配置信息所定义的应用信息相匹配,则从数据平台中筛选与所述应用标识相映射的目标功能程序包。

本发明实施例中,数据平台中记录有利用功能源代码编译成用于嵌入至不同需求应用的功能程序包,若应用标识与配置信息所定义的应用信息相匹配,则说明该功能程序包适用于应用标识所对应的需求应用,进一步从数据平台中筛选与应用标识相映射的目标功能程序包,该目标功能程序包可以嵌入至需求应用中以接入目标功能页面,这里的数据平台作为多端代码的npm包管理工具,需求应用可以从npm包管理工具中下载利用目标功能源代码编译好的npm包,并将npm包所形成的功能页面产物复制到需求应用的项目文件中。

205、响应于对所述功能程序包附加功能实例的调用指令,基于所述调用指令所携带的功能标识从已有项目文件中获取与所述功能标识相匹配的目标功能实例。

应说明的是,在需求应用接入目标功能页面过程中,如果功能程序包的加载过程中还需要使用需求应用中已有项目文件,例如,登录态、历史信息等,还需要对功能程序包进行附加功能实例调用,由于已有项目文件中记录有应用程序历史运行过程中所产生的应用实例,进一步基于调用指令所携带的功能标识从已有项目文件中获取与功能标识相匹配的目标功能实例。

206、通过调用所述目标功能实例中的功能函数,将所述目标功能实例中的功能函数绑定至目标功能程序包。

在本发明实施例中,由于目标功能实例中包括接入目标功能页面所需要的功能函数,通常情况下,目标功能实例的初始化往往需要定义变量或者函数,为了执行目标实例的代码,需要调用目标功能实例的功能函数,进而将目标功能实例中的功能函数绑定至目标功能程序包,以使得在运行目标功能程序包时,可以通过调用目标函数加载目标功能页面所需已有项目的页面内容。

例如,目标功能页面需要需求应用的登录态,从需求应用已有项目文件中找到登录态的功能实例,并将登录态的功能实例绑定到目标功能程序包,进而在目标功能程序包运行时,可以运行相应登录态实例的功能函数,并将登录态加载到目标功能页面中。

本实施例提供了另一种应用页面的接入方法,如图3所示,该方法应用于开发端,包括如下步骤:

301、响应于绑定有目标功能程序包的选项按钮的触发操作,生成并发送目标功能程序包的获取指令。

在本发明实施例中,需求应用的开发端为执行主体,需求应用的开发端通过触发选项按钮可以接入目标功能页面,当然还可以实现目标功能页面与需求应用的内容相结合,具体在需求应用的开发端接入目标功能页面场景中,可以针对不同功能程序包分别设置选项按钮,通过触发选项按钮可以生成对目标功能程序包的获取指令。

302、接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包。

可以理解的是,应用程序的服务端会预先针对目标功能源代码编译成用于嵌入至不同需求应用的功能程序包,并且针对不同需求应用所对应有不同的功能程序包,例如,在接收到目标功能源代码后,服务端将该目标功能源代码编译为针对需求应用b的功能程序包、针对需求应用c的功能程序包、针对需求应用d的功能程序包,这里服务端可以根据需求应用是否发送编译请求来决定是否生成需求应用的功能程序包,对于未发送编译请求的需求应用则暂时不生成需求应用的功能程序包,在服务端编译出用于嵌入至不同需求应用的功能程序包后,后续需求应用可直接从服务端进行下载。

进一步地,为了更有效展示目标功能页面,可以在将目标功能程序包嵌入至项目文件中,形成应用程序包之后,由于功能程序包中提供接入至目标功能页面所对应的加载链路,进而响应于目标功能页面进行展示的触发操作,利用应用程序包中目标功能程序包提供加载链路接入并展示目标功能页面,该加载链路可以使得目标功能页面打包的产物集成到原有项目的分包内,这样对已有项目进行了最小的改动,提升了应用开发效率同时提高了应用之间的兼容性。

本发明实施例提供了另一种应用页面的接入方法,如图4所示,该方法涉及到开发端与服务端之间的交互,包括:

401、响应于绑定有目标功能程序包的选项按钮的触发操作,开发端生成并发送目标功能程序包的获取指令,该获取指令携带有应用标识。

402、响应于功能程序包的获取指令,服务端基于获取指令所携带的应用标识,从数据平台中筛选与应用标识相映射的目标功能程序包,该数据平台中存储有利用功能源代码所生成用于嵌入至不同需求应用的功能程序包。

403、服务端将目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得需求应用根据所述项目文件中目标功能程序包接入目标功能页面。

404、开发端接收目标功能程序包,并将目标功能程序包嵌入至项目文件中,形成应用程序包。

可以理解的是,开发端能够将目标功能程序包嵌入至项目文件中,形成应用程序包,后续用户在使用应用程序时,可以利用应用程序包提供的项目内容加载需求应用的功能页面,以实现跨应用功能页面的接入。

具体在多个需求应用接入至目标功能页面场景中,如图5所示,数据平台中利用目标功能c的功能原代码编译成用于嵌入至多个需求应用的npm包,当需求应用a请求获取接入目标功能c的npm包时,数据平台可以将目标功能c的npm包的页面产物复制到需求应用a的项目文件中,这样需求应用a可以将目标功能c的npm包嵌入至需求应用a中,进而当接收到用户端请求展示目标功能c的功能页面时,开发端可以在需求应用a中接入目标功能c的小程序功能页面,并将目标功能c的小程序功能页面展示在用户端,同样的,当需求应用b请求获取接入目标功能c的npm包时,数据平台可以将目标功能c的npm包的页面产物复制到需求应用b的项目文件中,这样需求应用b可以将目标功能c的npm包嵌入至需求应用b中,进而当接收到用户端请求展示目标功能c的功能页面时,开发端可以在需求应用b中接入目标功能c的小程序功能页面,并将目标功能c的小程序功能页面展示在用户端。

具体在需求应用接入至多个目标功能页面场景中,如图6所示,数据平台中利用目标功能d和目标功能e的功能原代码编译成用于嵌入至多个需求应用的npm包,当需求应用f请求获取接入目标功能d的npm包时,数据平台可以将目标功能d的npm包的页面产物复制到需求应用f的项目文件中,这样需求应用f可以将目标功能d的npm包嵌入至需求应用f中,进而当接收到用户端请求展示目标功能d的功能页面时,开发端可以在需求应用f中接入目标功能d的小程序功能页面,并将目标功能d的小程序功能页面展示在用户端,同样的,当需求应用f请求获取接入目标功能e的npm包时,数据平台可以将目标功能e的npm包的页面产物复制到需求应用f的项目文件中,这样需求应用f可以将目标功能e的npm包嵌入至需求应用f中,进而当接收到用户端请求展示目标功能e的功能页面时,开发端在需求应用f中接入目标功能e的小程序功能页面,并将目标功能e的小程序功能页面展示在用户端。

进一步的,作为图1-图2方法的具体实现,本申请实施例提供了一种应用于服务端的应用页面的接入装置,如图7所示,该装置包括:筛选单元51、嵌入单元52。

筛选单元51,用于响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中筛选与所述应用标识相映射的目标功能程序包,所述数据平台中存储有利用功能源代码所生成用于嵌入至不同需求应用的功能程序包;

嵌入单元52,用于将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中,以使得所述需求应用根据所述项目文件中目标功能程序包接入目标功能页面。

本发明实施例提供的应用页面的接入装置,与目前现有方式中使用h5页面嵌入到应用功能程序集成的分包中来实现应用页面的接入方式相比,本申请通过响应于功能程序包的获取指令,基于获取指令所携带的应用标识从数据平台中筛选与应用标识相映射的目标功能程序包,该目标功能程序包相当于跨应用的代码产物,通过将目标功能程序包嵌入至应用标识所对应需求功能的项目文件中,以使得需求应用能够将跨应用的代码产物集成到原有项目文件中,这样对历史项目产生较小破坏的同时使得页面可以兼容多个应用,提高应用的开发效率,由于该页面无需依赖网络,使得页面加载速度不受限制,提高了跨应用接入的页面加载速度。

在具体的应用场景中,如图8所示,所述数据平台中记录有功能程序包所形成目录结构的配置信息,所述筛选单元51包括:

匹配模块511,可以用于基于所述获取指令所携带的应用标识,遍历匹配数据平台中功能程序包所形成目录结构的配置信息;

筛选模块512,可以用于若所述应用标识与所述配置信息所定义的应用信息相匹配,则从数据平台中筛选与所述应用标识相映射的目标功能程序包。

在具体的应用场景中,如图8所示,所述装置还包括:

第一接收单元53,可以用于在所述响应于功能程序包的获取指令,基于所述获取指令所携带的应用标识,从数据平台中查询与所述应用标识相映射的目标功能程序包之前,接收目标功能源代码;

编译单元54,可以用于利用源代码编译工具,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在具体的应用场景中,如图8所示,所述编译单元54包括:

抽取模块541,可以用于利用源代码编译工具,从所述功能源代码中抽取代码逻辑框架,所述代码逻辑框架包括应用提供的多个功能模块;

编译模块542,可以用于按照代码逻辑框架分别对所述多个功能模块内的功能源代码进行转换处理,将所述功能源代码编译成用于嵌入至不同需求应用的功能程序包。

在具体的应用场景中,如图8所示,所述编译模块542包括:

第一编译子模块5421,可以用于针对代码逻辑框架中页面层提供的功能模块,通过页面属性映射和替换将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

第二编译子模块5422,可以用于针对代码逻辑框架中逻辑层提供的功能模块,通过适配抽象语法树将所述逻辑层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码;

第三编译子模块5423,可以用于针对代码逻辑框架中视图层提供的功能模块,通过界面组件映射将所述视图层内的功能源代码编译成用于嵌入至不同需求应用的功能源代码。

在具体的应用场景中,如图8所示,所述装置还包括:

获取单元55,可以用于在所述将所述目标功能程序包嵌入至应用标识所对应需求应用的项目文件中之后,响应于对所述功能程序包附加功能实例的调用指令,基于所述调用指令所携带的功能标识从已有项目文件中获取与所述功能标识相匹配的目标功能实例;

调用单元56,可以用于通过调用所述目标功能实例中的功能函数,将所述目标功能实例中的功能函数绑定至目标功能程序包。

需要说明的是,本实施例提供的一种可应用于服务端侧的应用页面的接入装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。

进一步地,作为图3方法的具体实现,本申请实施例提供了一种应用于开发端的应用页面的接入装置,如图9所示,该装置包括:生成单元61、传第二接收单元62。

生成单元61,可以用于响应于绑定有目标功能程序包的选项按钮的触发操作,生成并发送目标功能程序包的获取指令,所述获取指令携带有应用标识;

第二接收单元62,可以用于接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包。

在具体的应用场景中,如图10所示,所述装置还包括:

接入单元63,可以用于在所述接收目标功能程序包,并将所述目标功能程序包嵌入至项目文件中,形成应用程序包之后,响应于目标功能页面进行展示的触发操作,利用所述应用程序包中目标功能程序包提供加载链路接入并展示目标功能页面。

需要说明的是,本实施例提供的一种可应用于开发端侧的应用页面的接入装置所涉及各功能单元的其它相应描述,可以参考图3中的对应描述,在此不再赘述。

基于上述如图1-图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1-图2所示的应用页面的接入方法;基于上述如图3所示方法,相应的,本申请实施例还提供了另一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图3所示的应用页面的接入方法。

基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

基于上述如图1-图2所示的方法,以及图7-图8所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种服务端实体设备,具体可以为计算机,服务器,或者其他网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上如图1-图2所示的应用页面的接入方法。

基于上述如图3所示的方法,以及图9-图10所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种开发端实体设备,具体可以为计算机,智能手机,平板电脑,智能手表,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图3所示的应用页面的接入方法。

可选的,上述两种实体设备都还可以包括用户接口、网络接口、摄像头、射频(radiofrequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。

本领域技术人员可以理解,本实施例提供的一种应用页面的接入的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述店铺搜索信息处理的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有方式相比,本申请通过将目标功能程序包嵌入至应用标识所对应需求功能的项目文件中,以使得需求应用能够将跨应用的代码产物集成到原有项目文件中,这样对历史项目产生较小破坏的同时使得页面可以兼容多个应用,提高应用的开发效率,由于该页面无需依赖网络,使得页面加载速度不受限制,提高了跨应用接入的页面加载速度。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1