一种页面构建方法、装置、设备及存储介质与流程

文档序号:15931071发布日期:2018-11-14 01:38阅读:198来源:国知局

本发明涉及移动应用开发领域,尤其涉及一种页面构建方法、装置、设备及存储介质。

背景技术

随着互联网技术和智能终端技术的发展,各种应用已经普及到大众生活的方方面面,例如,观影、购物、支付、社交、提供各种资讯等等。目前这些智能终端的应用常采用本地应用(nativeapp)实现,本地应用是通过使用原生操作系统提供的api(applicationprogramminginterface,应用程序编程接口)编程实现,可以保证应用的高性能和良好的交互体验。

然而,现有的本地应用中页面的交互行为(如交互跳转)在智能终端固化,如果想改变应用的交互行为,必须依赖运营商对不同平台(安卓系统或ios系统等)下的发版的修改,智能终端再重新安装该应用。而该应用在安装之前却需要长时间的审核周期以及新版本覆盖周期,而这就会造成时间成本过高。



技术实现要素:

本发明的主要目的在于提出一种页面构建方法、装置、设备及存储介质,其克服了现有技术中因只能通过重新发版才能完成终端应用的更新以及由此导致的时间成本较高的问题。

根据本发明的第一个方面,提供了一种页面构建方法,所述方法包括:获取来自服务端的页面构建资源;基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,在所述获取来自服务端的页面构建资源之后,且在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,所述方法还包括:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

可选的,所述业务转换模块包括:第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,包括:根据获取到的页面构建资源,生成所述页面构建资源的索引文件;基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

可选的,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

所述通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建,包括:通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收所述第二转换脚本组件可以执行的资源信息。

可选的,在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,所述方法还包括:

通过所述业务资源转换模块发送调用指令至所述第一脚本语言组件,所述调用指令用于通过所述业务资源转换模块从所述第一脚本语言组件获取所述页面构建资源。

可选的,在所述通过所述业务转换模块对所述页面构建资源进行预设处理,得到处理结果,并依据所述处理结果对目标页面进行构建之后,所述方法还包括:将所述目标页面发送至第二脚本语言组件,并通过所述第二脚本语言组件对所述目标页面进行展示,其中,所述第二脚本语言组件注册于原生系统。

根据本发明的第二个方面,提供了一种页面构建装置,所述装置包括:获取模块,用于获取来自服务端的页面构建资源;发送模块,用于基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;构建模块,用于通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,所述装置还包括:校验模块,用于在所述获取来自服务端的页面构建资源之后,且在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,对所述页面构建资源是否合法进行校验;下载模块,用于在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

可选的,所述业务转换模块包括:第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

所述发送模块包括:索引生成单元,用于根据获取到的页面构建资源,生成所述页面构建资源的索引文件;查找单元,用于基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;发送单元,用于基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

可选的,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

所述构建模块包括:封装单元,用于通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;解析单元,用于通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;构建单元,用于依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收第二转换脚本组件可以执行的资源信息。

可选的,所述装置还包括:指令模块,用于在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,通过所述业务资源转换模块发送调用指令至所述第一脚本语言组件,所述调用指令用于通过所述业务资源转换模块从所述第一脚本语言组件获取所述页面构建资源。

可选的,所述装置还包括:展示模块,用于在所述通过所述业务转换模块对所述页面构建资源进行预设处理,得到处理结果,并依据所述处理结果对目标页面进行构建之后,将所述目标页面发送至第二脚本语言组件,并通过所述第二脚本语言组件对所述目标页面进行展示,其中,所述第二脚本语言组件注册于原生系统。

根据本发明的第三个方面,提供了一种电子设备,包括处理器和存储器;

所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种页面构建方法。

根据本发明的第四个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个组件,所述一个或者多个组件可被一个或者多个处理器执行,以实现上述的一种页面构建方法。

本发明有益效果如下:通过服务端下发页面构建资源至应用程序,然后通过应用程序的业务转换模块对所述页面构建资源进行脚本语言转换,并通过该业务转换模块执行转换之后的脚本语言转换结果以完成目标页面的构建,从而,就可以实现应用程序的热更新,而无需进行应用程序的重新发版,有助于降低开发成本。此外,通过上述方式,本实施例在保证用户体验的同时能够实现热更新,并且在本实施例中,编写业务逻辑数据的第一脚本语言可以为与应用程序的原生语言不同,就此,通过采用与应用程序的原生语言不同的第一脚本语言编写业务逻辑数据,便于扩展和推广。

附图说明

图1为本发明第一实施例一种页面构建方法的流程框图;

图2为本发明第二实施例一种页面构建方法的流程框图;

图3为本发明第三实施例一种页面构建方法的流程框图;

图4为本发明第四实施例一种页面构建方法的流程框图;

图5为本发明第五实施例一种页面构建方法的流程框图;

图6为本发明第六实施例一种页面构建方法的流程框图;

图7为本发明第七实施例一种页面构建方法的流程简图;

图8为本发明第七实施例中js侧与native侧交互示意图;

图9为本发明第七实施例中通过调用nativeviewcontroller生命周期方法以调用对应的jsviewcontroller生命周期方法的示意图

图10为本发明第七实施例中外挂接口的工作原理示意图;

图11为本发明第八实施例一种页面构建装置的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

此外,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。

为了便于理解本发明实施例,下面通过几个具体实施例对本发明的实施过程进行详细的阐述。

本发明第一实施例提供一种页面构建方法,所述方法包括:获取来自服务端的页面构建资源,所述页面构建资源包括:业务逻辑代码及业务布局数据,其中,所述业务逻辑代码及所述业务布局数据均由第一脚本语言编写完成;基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

就此,通过服务端下发页面构建资源至应用程序,然后通过应用程序的业务转换模块对所述页面构建资源进行脚本语言转换,并通过该业务转换模块执行转换之后的脚本语言转换结果以完成目标页面的构建,从而,就可以实现应用程序的热更新,而无需进行应用程序的重新发版,有助于降低开发成本。此外,通过上述方式,本实施例在保证用户体验的同时能够实现热更新,并且在本实施例中,编写业务逻辑数据的第一脚本语言可以为与应用程序的原生语言不同,就此,通过采用与应用程序的原生语言不同的第一脚本语言编写业务逻辑数据,便于扩展和推广。

图1为本发明第一实施例一种页面构建方法的流程框图。根据图1所示,本发明第一实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

在应用程序检测到服务端存在页面构建资源时,该应用程序向服务端发出数据请求,服务端在获取该数据请求后,反馈该页面构建资源至应用程序。

此外,该页面构建资源包括:业务逻辑代码及业务布局数据,其中,所述业务逻辑代码及所述业务布局数据均由第一脚本语言编写完成。

其中,该业务布局数据包括但不限于以下一种或多种:页面样式数据、组成页面的元素组件及页面元素的颜色组件。

其中,该业务布局数据的数据格式可为可扩展标记语言xml。

而且,该第一脚本语言可以为非原生语言,如:该第一脚本语言为直译式脚本语言javascript,而应用程序的原生语言为java。当然,该第一脚本语言也可为原生语言,如:该第一脚本语言与原生语言均为java。

在本实施例中,并不对该第一脚本语言的语言种类进行限定,只需其满足本实施例的要求即可。

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

在应用程序获得页面构建资源后,通过第一脚本语言组件将页面构建资源发送至业务转换模块。而业务转换模块在获得该页面构建资源后,再对该页面构建资源进行脚本语言转换,以得到业务转换模块可以执行的脚本语言转换结果,并依据该脚本语言转换结果构建目标页面。

针对该脚本语言转换,在本实施例中,并不对该预设处理的具体内容做出限定,只需其满足本发明的要求即可。如:通过对该页面构建资源进行脚本语言转换,以将该页面构建资源转换为业务构建模块可以识别执行的脚本语言格式。

就此,通过服务端下发页面构建资源至应用程序,然后通过应用程序的业务转换模块执行所述页面构建资源以完成目标页面的构建,从而,就可以实现应用程序的热更新,而无需进行应用程序的重新发版,有助于降低开发成本。此外,通过上述方式,本实施例在保证用户体验的同时能够实现热更新,并且在本实施例中,编写业务逻辑数据的第一脚本语言可以为与应用程序的原生语言不同,就此,通过采用与应用程序的原生语言不同的第一脚本语言编写业务逻辑数据,便于扩展和推广。

图2为本发明第二实施例一种页面构建方法的流程框图。根据图2所示,本发明第二实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,上述步骤s11及步骤s21之间包括以下步骤:

s111:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

在获取页面构建资源时,通过对待下载的页面构建资源进行校验,校验内容包括:对页面构建资源的安全性、完整性以及准确性进行校验,从而有助于应用程序获得正确的页面构建资源,也保证了该获取的页面构建资源具有良好的安全性及完整性。此外,在本实施例中,并不对校验内容作出限定,只需该校验步骤可以满足本实施例的要求即可。

而且,在校验通过后,将该页面构建资源下载至本地,而且,将该页面构建资源保存至本地预定位置。

图3为本发明第三实施例一种页面构建方法的流程框图。根据图3所示,本发明第三实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,上述步骤s11及步骤s21之间包括以下步骤:

s111:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

其中,所述业务转换模块包括第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

可选的,上述s21的一种实现方式包括:

s211:根据获取到的页面构建资源,生成所述页面构建资源的索引文件;基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

在本实施例中,应用程序需要先基于所述索引文件,以通过第一脚本语言系统查找到所述页面构建资源,当然,所述第一脚本语言组件注册于所述第一脚本语言系统;

然后,通过第一脚本语言组件将所述页面构建资源发送至第一转换脚本组件,以便该第一转换脚本组件进行后续的封装操作。

具体的,在本实施例中,该索引文件可以为统一的索引信息,即:通过该索引信息即可查找到存储在本地磁盘的业务逻辑代码及业务布局数据。当然,在本实施例中,也可进行以下设置:该索引文件包括:布局索引文件及逻辑索引文件,通过该布局索引文件可以查找到该业务布局数据,通过该逻辑索引文件可以查找到该业务逻辑代码。就此,有助于在页面构建过程中对页面构建数据进行快速的查找调用。

图4为本发明第四实施例一种页面构建方法的流程框图。根据图4所示,本发明第四实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块,其中,第一脚本语言为非原生语言;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,上述步骤s11及步骤s21之间包括以下步骤:

s111:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

其中,所述业务转换模块包括第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

可选的,上述s21的一种实现方式包括:

s211:根据获取到的页面构建资源,生成所述页面构建资源的索引文件;基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

其中,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

可选的,上述步骤s31的一种实现方式包括:

s311:通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;

在本实施例中,通过该第一转换脚本组件将该页面构建资源进行封装,其得到的封装结果可被第二转换脚本组件进行执行。如:在本实施例中,将该页面构建资源封装为第二转换脚本组件可以执行的数据格式。在本实施例中,并不对该封装操作的具体内容进行限定,只需其可满足本发明实施例的要求即可。

s312:通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;

在通过第一转换脚本组件进行封装操作以得到封装结果后,通过该第一转换脚本组件将该封装结果发送至第二转换脚本组件。在该第二转换脚本组件得到该封装结果后,通过该第二转换脚本组件对该封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据。

s313:依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

具体的,基于所述第二转换脚本组件可以执行的业务布局数据及所述第二转换脚本组件可以执行的业务逻辑代码,通过所述第二转换脚本组件即可完成目标页面的构建。

由此,实现了将页面构建资源转换成了第二转换脚本组件可以执行的格式。而且,基于该转换之后的页面构建资源,通过该第二转换脚本组件可以生成目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收第二转换脚本组件可以执行的资源信息。由此,可以通过该第二转换脚本组件完成通用功能的接入设计,如:网络请求、提示弹窗、页面跳转管理等通用功能。

图5为本发明第五实施例一种页面构建方法的流程框图。根据图5所示,本发明第五实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,上述步骤s11及步骤s21之间包括以下步骤:

s111:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

其中,所述业务转换模块包括第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

所以,上述s21的一种实现方式包括:

s211:根据获取到的页面构建资源,生成所述页面构建资源的索引文件;基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

其中,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

可选的,上述步骤s31的一种实现方式包括:

s311:通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;

在本实施例中,通过该第一转换脚本组件将该页面构建资源进行封装,其得到的封装结果可被第二转换脚本组件进行执行。如:在本实施例中,将该页面构建资源封装为第二转换脚本组件可以执行的数据格式。在本实施例中,并不对该封装操作的具体内容进行限定,只需其可满足本发明实施例的要求即可。

s312:通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;

在通过第一转换脚本组件进行封装操作以得到封装结果后,通过该第一转换脚本组件将该封装结果发送至第二转换脚本组件。在该第二转换脚本组件得到该封装结果后,通过该第二转换脚本组件对该封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据。

s313:依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

具体的,基于所述第二转换脚本组件可以执行的业务布局数据及所述第二转换脚本组件可以执行的业务逻辑代码,通过所述第二转换脚本组件即可完成目标页面的构建。

由此,实现了将页面构建资源转换成了第二转换脚本组件可以执行的格式。而且,基于该转换之后的页面构建资源,通过该第二转换脚本组件可以生成目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收第二转换脚本组件可以执行的资源信息。由此,可以通过该第二转换脚本组件完成通用功能的接入设计,如:网络请求、提示弹窗、页面跳转管理等通用功能。

可选的,上述步骤s21之前,本实施例还包括以下步骤s20,即:本实施例在步骤s211之前还包括步骤s20。

其中,s20:通过所述业务资源转换模块发送调用指令至所述第一脚本语言组件,所述调用指令用于通过所述业务资源转换模块从所述第一脚本语言组件获取所述页面构建资源。

本发明除了提供直接调用的方式之外,还提供一种通过发送调用指令来获取页面构建资源的方式。

图6为本发明第六实施例一种页面构建方法的流程框图。根据图6所示,本发明第六实施例提供了一种页面构建方法,其应用于应用程序,该方法包括:

s11:获取来自服务端的页面构建资源;

s21:基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块;

s31:通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,上述步骤s11及步骤s21之间包括以下步骤:

s111:对所述页面构建资源是否合法进行校验;在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

其中,所述业务转换模块包括第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

所以,上述s21的一种实现方式包括:

s211:根据获取到的页面构建资源,生成所述页面构建资源的索引文件;基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

其中,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

可选的,上述步骤s31的一种实现方式包括:

s311:通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;

在本实施例中,通过该第一转换脚本组件将该页面构建资源进行封装,其得到的封装结果可被第二转换脚本组件进行执行。如:在本实施例中,将该页面构建资源封装为第二转换脚本组件可以执行的数据格式。在本实施例中,并不对该封装操作的具体内容进行限定,只需其可满足本发明实施例的要求即可。

s312:通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;

在通过第一转换脚本组件进行封装操作以得到封装结果后,通过该第一转换脚本组件将该封装结果发送至第二转换脚本组件。在该第二转换脚本组件得到该封装结果后,通过该第二转换脚本组件对该封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据。

s313:依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

具体的,基于所述第二转换脚本组件可以执行的业务布局数据及所述第二转换脚本组件可以执行的业务逻辑代码,通过所述第二转换脚本组件即可完成目标页面的构建。

由此,实现了将页面构建资源转换成了第二转换脚本组件可以执行的格式。而且,基于该转换之后的页面构建资源,通过该第二转换脚本组件可以生成目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收第二转换脚本组件可以执行的资源信息。由此,可以通过该第二转换脚本组件完成通用功能的接入设计,如:网络请求、提示弹窗、页面跳转管理等通用功能。

可选的,本实施例在步骤s211之前还包括步骤s20。

其中,s20:通过所述业务资源转换模块发送调用指令至所述第一脚本语言组件,所述调用指令用于通过所述业务资源转换模块从所述第一脚本语言组件获取所述页面构建资源。

可选的,在上述步骤s31之后,本实施例还包括以下步骤s32,即:本实施例在步骤s313之后还包括步骤s32。

其中,s32:将所述目标页面发送至第二脚本语言组件,并通过所述第二脚本语言组件对所述目标页面进行展示,其中,所述第二脚本语言组件注册于原生系统。

由此,可以实现对已构建的目标资源进行展示,以供用户进行查看。

为了更好说明本实施例所述方法的实施过程,下面结合一个具体应用示例,对本实施例所述方法进行说明。

图7为本发明第七实施例一种页面构建方法的流程框图。根据图7所示,本发明第七实施例提供的一种页面构建方法,其中,该方法涉及页面构建系统的js业务层、js核心层、native核心层及native展示层。其中,该js业务层相当于第一实施例至第五实施例中的第一脚本语言组件;该js核心层相当于第四实施例至第六实施例的第一转换脚本组件;该native核心层相当于第五实施例的第二转换脚本组件;该native展示层相当于第六实施例的第二脚本语言组件。

而且,图8为本发明第七实施例中js侧与native侧交互示意图;图9为本发明第七实施例中通过调用nativeviewcontroller生命周期方法以调用对应的jsviewcontroller生命周期方法的示意图。

根据区7至图9所示,在native端创建nativeviewcontroller页面时,在js环境内会创建一个与之对应的jsviewcontroller页面。而且,应用程序在调用nativeviewcontroller生命周期方法时会通过会调用与之对应的jsviewcontroller内相同的生命周期方法。如此,就可以在native侧动态的实现viewcontroller的生命周期方法逻辑,并由此能够动态的实现目标页面的构建更新。

具体的,根据图7所示,由该native核心层发出调用指令,调用指令经过js核心层到达js业务层,该js业务层在收到调用指令后,响应该调用指令后,发出页面构建资源至js核心层。其中,该页面构建资源包括所有的业务逻辑及用户操作监听数据,其中,该业务逻辑相当于上述的业务逻辑代码及业务布局数据。而且,该页面构建资源是从服务端动态获取的。

js核心层在收到页面构建资源后,将接收到的数据进行封装,并将封装之后的封装结果传递给native核心层。接着,native核心层在收到封装结果后,对该封装结果进行解析,得到native核心层可以执行的业务逻辑代码及业务布局数据,从而实现了脚本语言转换。就此,native核心层可以根据不同的业务布局数据运行相应的业务逻辑代码,以生成目标页面。

可选的,在本实施例中,可以通过native展现层将目标页面展示给用户。

此外,上述的native核心层还设有外挂接口,所述外挂接口用于接收native核心层可以执行的资源信息。

具体的,图10为本发明第七实施例中外挂接口的工作原理示意图。根据图10所示,通过该外挂接口可以接收通用功能的接入设计参数,如:网络请求、提示弹窗、页面跳转管理等通用功能,而且,该外挂接口的底层是按照jsexport的方式进行接入的。而且,在本实施例中,具有两个协议,一个是实现于jsexport,是由应用程序实现的;另一个是应用程序定义的提供给接入方实现的。因为不同的项目会有相同的通用功能,而这些相同能功能可能会有不同的实现,通过双协议,应用程序提供给接入方的结构就可以统一。

图11为本发明第八实施例一种页面构建装置法的结构示意图。根据图11所示,本发明第八实施例提供了一种页面构建装置,其包含于应用程序,该装置包括:

获取模块110,用于获取来自服务端的页面构建资源;发送模块120,用于基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块;构建模块130,用于通过所述业务转换模块对所述页面构建资源进行脚本语言转换,得到脚本语言转换结果,并依据所述脚本语言转换结果对目标页面进行构建。

可选的,所述装置还包括:校验模块,用于在所述获取来自服务端的页面构建资源之后,且在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,对所述页面构建资源是否合法进行校验;下载模块,用于在校验通过的情况下,将所述页面构建资源存储至本地预设位置,以供所述第一脚本语言组件将所述页面构建资源从所述本地预设位置发送至业务转换模块。

可选的,所述业务转换模块包括:第一转换脚本组件,所述第一转换脚本组件由所述第一脚本语言编写完成;

所述发送模块120包括:索引生成单元,用于根据获取到的页面构建资源,生成所述页面构建资源的索引文件;查找单元,用于基于所述索引文件,通过第一脚本语言系统查找到所述页面构建资源,所述第一脚本语言组件注册于所述第一脚本语言系统;发送单元,用于基于所述第一脚本语言组件,将所述页面构建资源发送至第一转换脚本组件。

可选的,所述业务转换模块还包括:第二转换脚本组件,所述第二转换脚本组件注册于原生系统;

所述构建模块130包括:封装单元,用于通过所述第一转换脚本组件对所述页面构建资源进行封装,得到所述第二转换脚本组件可以执行的封装结果;解析单元,用于通过所述第一转换脚本组件将所述封装结果发送至第二转换脚本组件,并通过所述第二转换脚本组件对所述封装结果进行解析,得到所述第二转换脚本组件可以执行的业务逻辑代码及所述第二转换脚本组件可以执行的业务布局数据;构建单元,用于依据所述第二转换脚本组件可以执行的业务布局数据,通过所述第二转换脚本组件执行所述第二转换脚本组件可以执行的业务逻辑代码,得到目标页面。

可选的,所述第二转换脚本组件还包括:外挂接口,所述外挂接口用于接收第二转换脚本组件可以执行的资源信息。

可选的,所述装置还包括:指令模块,用于在所述基于第一脚本语言组件,将所述页面构建资源发送至业务转换模块之前,通过所述业务资源转换模块发送调用指令至所述第一脚本语言组件,所述调用指令用于通过所述业务资源转换模块从所述第一脚本语言组件获取所述页面构建资源。

可选的,所述装置还包括:展示模块,用于在所述通过所述业务转换模块对所述页面构建资源进行预设处理,得到处理结果,并依据所述处理结果对目标页面进行构建之后,将所述目标页面发送至第二脚本语言组件,并通过所述第二脚本语言组件对所述目标页面进行展示,其中,所述第二脚本语言组件注册于原生系统。

本发明第九实施例提供了一种电子设备,包括处理器和存储器;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现上述的一种页面构建方法。

本发明第九实施例中的一种电子设备所涉及的名词及实现原理具体可以参照本发明实施例中的第一至七实施例的一种页面构建方法,在此不再赘述。

本发明第十实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个模块,所述一个或者多个模块可被一个或者多个处理器执行,以实现上述的一种页面构建方法。

本发明第四实施例中的一种计算机可读存储介质所涉及的名词及实现原理具体可以参照本发明实施例中的第一至三实施例的一种页面构建方法,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

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