CN113342450A - 页面处理的方法、装置、电子设备及计算机可读介质 - Google Patents
页面处理的方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN113342450A CN113342450A CN202110731645.2A CN202110731645A CN113342450A CN 113342450 A CN113342450 A CN 113342450A CN 202110731645 A CN202110731645 A CN 202110731645A CN 113342450 A CN113342450 A CN 113342450A
- Authority
- CN
- China
- Prior art keywords
- data object
- sub
- target page
- module
- page
- 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
Images
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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种页面处理的方法、装置、电子设备及计算机可读介质,涉及移动互联技术领域。该方法的一具体实施方式包括:接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;根据所述配置数据确定至少一个数据对象,每个数据对象中包括至少一个属性;根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;根据所述组件模块构建所述目标页面。该实施方式在不更新应用程序版本的情况下,就可以快速实现页面的更新,提高的页面更新的效率,进而提升了用户体验。
Description
技术领域
本发明涉及移动互联技术领域,尤其涉及一种页面处理的方法、装置、电子设备及计算机可读介质。
背景技术
应用程序(APP)的首页一般需要配合运营快速迭代,以快速推出活动,给用户展示不同的页面来吸引用户。
原生页面一般由不同的UI组件构成,页面更改变动需要重新编写代码,且需要提交审核后才能发布,效率较低。若使用H5页面则页面效果不佳,加载时间长,页面缓存机制差,用户体验较差。
发明内容
有鉴于此,本发明实施例提供一种页面处理的方法、装置、电子设备及计算机可读介质,能够在不更新应用程序版本的情况下,实现页面的快速更新,提高了更新效率,进而提升了用户体验。
为实现上述目的,根据本发明实施例的一个方面,提供了一种页面处理的方法,包括:
接收针对目标页面的获取请求的响应结果,获取所述目标页面的配置数据;
根据所述配置数据确定至少一个数据对象,每个数据对象中包括至少一个属性;
根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;
根据所述组件模块构建所述目标页面。
可选地,在获取所述目标页面的配置数据之前,包括:
确定所述响应结果中的请求状态字段对应的状态值指示通信正常;
当所述状态值指示通信异常时,重新发送针对目标页面的获取请求。
可选地,在重新发送针对目标页面的获取请求之前,包括:
确定发送针对目标页面的获取请求的次数不超过预设阈值;
当超过所述预设阈值时,展示失败页面。
可选地,为所述失败页面关联触发事件,当监控到所述触发事件被触发时,发送针对目标页面的获取请求。
可选地,所述目标页面的获取请求的请求头中包括应用***信息;
根据所述配置数据生成至少一个数据对象,包括:
对所述配置数据进行归类解析,确定与所述应用***的对应的至少一个数据对象。
可选地,根据所述配置数据生成至少一个数据对象,还包括:
将所述数据对象的属性的数据类型转换为NSString类型。
可选地,所述属性包括标识信息,所述标识信息指示了子组件的类型和高度,所述子组件的类型包括图片、文字。
可选地,根据所述配置数据确定至少一个数据对象,还包括:
当所述数据对象的所有的属性对应的属性值均为空时,确定所述数据对象为空对象。
可选地,根据数据对象生成包括至少一个子组件的组件模块,包括:
基于视图创建容器,将数据对象生成包括至少一个子组件的组件模块。
可选地,根据所述数据对象生成包括至少一个子组件的组件模块之后,包括:
将所述数据对象中的属性与根据所述数据对象生成的所述组件模块中的子组件进行绑定;
基于block代码块构建所述组件模块中的子组件与至少一个响应操作的绑定关系。
可选地,根据所述数据对象生成包括至少一个子组件的组件模块,还包括:
根据所述数据对象,确定组件模块中子组件的位置信息以及所述子组件的顺序标识,以生成包括至少一个子组件的组件模块。
可选地,根据所述组件模块构建所述目标页面,包括:
基于视图控制器,根据所述子组件的位置信息、所述子组件的顺序标识,以及所述子组件与响应操作的绑定关系,构建所述目标页面。
根据本发明实施例的再一个方面,提供了一种页面处理的装置,包括:
获取模块,接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;
确定模块;根据所述配置数据确定至少一个数据对象,每个数据对象包括至少一个属性;
生成模块,根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;
构建模块,根据所述组件模块构建所述目标页面。
根据本发明实施例的另一个方面,提供了一种页面处理的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的页面处理的方法。
根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的页面处理的方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明实施例通过将获取的目标页面的配置数据确定为数据对象,并根据数据对象生成包括至少一个子组件的组件模块,数据对象中的属性与子组件是一一对应的,根据组件模块构建目标页面,以显示目标页面。本发明实施例所提供的方法使用原生页面保持用户体验的同时实现页面构成的快速动态更新,可以使得页面配合运营快速迭代,免去发版的过程,提高了效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种页面处理的方法的主要流程的示意图;
图2是根据本发明实施例的另一种页面处理的方法的主要流程的示意图;
图3是根据本发明实施例的一种组件模块的结构示意图的;
图4是根据本发明实施例的一种页面更新前的示意图;
图5是根据本发明实施例的一种页面更新后的示意图;
图6是根据本发明实施例的页面处理的装置的主要模块的示意图;
图7是本发明实施例可以应用于其中的示例性***架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的一种页面处理的方法的主要流程的示意图,如图1所示,该页面处理的方法,应用于客户端,包括:
步骤S101:接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;
步骤S102:根据配置数据确定至少一个数据对象,每个数据对象中包括至少一个属性;
步骤S103:根据数据对象生成包括至少一个子组件的组件模块,其中,组件模块中的子组件与数据对象中的属性一一对应;
步骤S104:根据组件模块构建目标页面。
本发明实施例中,目标页面可以为应用程序(APP)客户端的首页,应用程序可以为iOS应用***或安卓***的APP,APP首页一般用于配合运营推出不同的活动,以吸引用户,如金融行业APP推出活动向用户展示。
在本发明实施例中,在获取目标页面的配置数据之前,包括:确定响应结果中的请求状态字段对应的状态值指示通信正常;当状态值指示通信异常时,重新发送针对目标页面的获取请求。
在本发明实施例中,在重新发送针对目标页面的获取请求之前,包括:确定发送针对目标页面的获取请求的次数不超过预设阈值;当超过预设阈值时,展示失败页面。
在本发明实施例的中,为失败页面关联触发事件,当监控到触发事件被触发时,发送针对目标页面的获取请求,触发事件可以为点击、双击、滑动、语音识别、手势识别等,可选地,失败页面上包括刷新按钮,当触发或点击刷新按钮时,发送针对目标页面的获取请求。
在本发明实施例的一种实施方式中,如图2所示,当接收到针对目标页面的获取请求的响应结果后,从响应结果中获取请求状态字段,判断请求状态字段对应的状态值是否指示通信正常,若是,获取目标页面配置数据,若否,判断发送针对目标页面的获取请求的次数是否超过预设阈值,若是,展示失败页面,若否,重新发送针对目标页面的获取请求。
当用户打开应用程序或登录应用程序时,即向服务端发送针对目标页面如首页的获取请求,服务端接收到获取请求,向客户端返回该获取请求的响应结果,客户端接收到针对目标页面的获取请求的响应结果后,获取响应结果中的请求状态字段,与服务端确定该请求状态字段对应的状态值(如错误码),如果状态值指示通信正常(如状态值为000),则可以获取目标页面的配置数据,如果状态值指示通信异常(如状态值999),如错误或超时,则无法获取目标页面的配置数据,则重新发送针对目标页面的获取请求,在此之前,需要判断发送针对目标页面的获取请求的次数是否超过预设阈值(如3次),如果不超过预设阈值,则可以重新发送针对目标页面的获取请求;如果超过预设阈值,则客户端展示失败页面,在失败页面上包括刷新按钮,当刷新按钮被触发时,即手动刷新,向服务端发送针对目标页面的获取请求。
可选地,当状态值指示通信异常时,如因网络问题导致请求超时,也可以向用户弹出设置网络等组件,引导用户进行网络设置操作,重新发送针对目标页面的获取请求,以获取目标页面的配置数据。
本发明实施例的一种实施方式中,应用程序的原生页面的代码可以为Objective-C语言开发,使用iOS***原生的接口开发,可以使得页面快速更新以保证良好的用户体验。目标页面的配置数据可以为json形式,即服务端将json形式的配置数据下发给客户端,以使得客户端根据配置数据构建目标页面。服务端下发的目标页面的配置数据是有顺序的,即配置数据具有顺序标识,以使得后续生成的子组件具有顺序标识,以保证目标页面的显示的顺序。
在本发明实施例中,针对目标页面的获取请求的请求头中包括应用***信息,根据配置数据生成至少一个数据对象,包括:对配置数据进行解析,确定与应用***对应的至少一个数据对象。
针对目标页面的获取请求的请求头中包括应用***信息,可以使得服务端将页面配置数据下发给对应的应用***,应用***信息包括应用***标识和应用***的版本标识,不同的应用***及不同应用***的版本标识所对应的目标页面的配置数据不同;可选地,针对目标页面的获取请求的请求头中还可以包括安装有客户端的设备的标识、客户端的版本标识等,从而可以使得配置数据的下发更加精准;进一步地,当用户登录APP后,针对目标页面的获取请求的请求头中还可以包括用户的个人信息、位置信息等,个人信息如用户的性别、年龄等,位置信息可以为用户当前所处的城市,从而可以根据用户的个人信息、位置信息等的确定针对用户的目标页面的配置数据,使得目标页面的更具个性化,提升用户体验。
客户端对获取的目标页面的配置数据进行解析,即从配置数据中提取与构建目标页面的数据,从配置数据中提取生成组件模块相关的数据信息,包括位置信息、链接信息、颜色信息、显示隐藏信息等中的至少一种数据信息,根据位置信息可以获得组件模块中子组件的位置,如左上位置,根据显示隐藏信息可以得知左上位置是显示的还是隐藏的;根据链接信息可以获得子组件如图片可以链接的位置,颜色信息可以为子组件如文件的字体颜色、背景颜色等信息。通过对配置数据进行归类解析,获得至少一个数据对象;数据对象中包括数据信息。即将json形式的配置数据转换为与应用***对应的数据对象,如针对iOS应用***,生成Object对象。
在本发明实施例中,每个数据对象中包括至少一个属性,属性可以为iOS的变量,属性包括标识信息,每个属性具有对应的属性值,可以为标识信息对应的具体内容,标识信息指示了子组件的类型、大小和位置,子组件的类型包括图片、文字,大小包括子组件的高度,位置包括子组件在组件模块中所处的位置。例如,子组件图片位于组件模块的左边位置,标识信息可以为leftImageView,属性值为对应的图片(或图片链接)。数据对象的属性中不包括业务信息,从而可以使得数据对象适配不同的业务。
在本发明实施例中,根据配置对象生成至少一个数据对象,还包括:将数据对象的属性的数据类型转换为NSString类型(Objective-C语言中用于保存字符串类型的类)。当数据对象的所有的属性对应的属性值均为空时,数据对象为空对象。通过代码将数据对象属性的数据类型转换为NSString类型,可以通过设置条件,排除无用的数据,如可以设置属性为16位的字符串,若转换为NSString后不是16位字符串,则自动删除该数据。在对配置数据进行解析时,如属性值为空时,保持丢失的属性,将丢失属性的属性值设为空字符串,当一个数据对象所有的属性对应的属性值都为空字符串时,该数据对象为空对象。
在本发明实施例的一种实施方式中,在根据数据对象生成包括至少一个子组件的组件模块之前,包括:确定数据对象不为空对象。若数据对象是空对象,则无法生成对应的组件模块。
在本发明实施例中,当确定至少一个数据对象后,根据数据对象生成包括至少一个子组件的组件模块,包括:基于视图创建容器,将数据对象生成包括至少一个子组件的组件模块。如基于视图创建容器如基于iOS的Tableview(用于创建列表页的基础容器,属于iOS原生应用接口的一部分),采用数据驱动的模式,将数据对象生成组件模块,组件模块可以为UI(User Interface,用户界面)组件模块,子组件可以为子UI组件;该组件模块可以根据数据对象中的数据信息进行不同的展示,如位置信息、大小、背景等,可以根据的数据的有无做到显示或隐藏组件模块中的子组件。
一个数据对象可以生成一个组件模块,一个数据对象中的每个属性生成组件模块中的一个子组件,数据对象中的属性与组件模块中的子组件是一一对应的。如图3所示为一种组件模块的示意图,该组件模块包括3个子组件,3个子组件分别为左边的图片、中间的文字和右边的图片,左边的图片与数据对象的属性leftImageView对应,中间的文字与数据对象的属性titleLabel对应,右边的图片与数据对象的属性rightImageView对应。
本发明实施例中,组件模块基于iOS的tableview的cell(单元格或单元格组件)进行开发,通过组件模块承载cell的子组件,以数据驱动的模式生成,组件模块的高度可以根据子组件的高度自动计算,组件模块是对tableview的cell的再次封装,可以通过组件模块的中子组件的属性定位到该组件模块。
在本发明实施例中,根据数据对象生成包括至少一个子组件的组件模块之后,包括:将数据对象中的属性与根据数据对象的属性生成的子组件进行绑定;基于block代码块构建组件模块中的子组件与至少一个响应操作的绑定关系。数据对象中的属性与组件模块中的子组件是一一对应的,将数据对象中的属性与由该属性生成的子组件进行绑定,使得该子组件具有自动响应的逻辑,可以根据数据对象中的属性进行子组件的展示。并且,采用block代码块形式给一个组件模块绑定至少一个响应操作,响应操作可以为点击操作,根据触发规则不同,自动响应相关的代码逻辑,代码的书写形式也较为简便,便于代码逻辑理解和代码审核,且便于代码漏洞的排查。例如,点击该组件模块的不同位置如点击不同的子组件,可以触发不同的代码逻辑,以响应不同的子组件或功能模块,如可以触发相机功能、存储功能等。
在本发明实施例中,根据组件模块构建目标页面,包括:基于视图控制器,根据子组件的位置信息、子组件的顺序标识,以及子组件与响应操作的绑定关系,构建目标页面。视图控制器可以为UIViewController(UI视图控制器,是用于创建界面的基础容器,属于iOS原生应用接口的一部分),可以在发送针对目标页面的获取请求的同时采用视图控制器进行页面的创建,基于UItableview创建组件模块容器,将生成的组件模块加入组件模块容器中进行管理,组件模块容器中包括组件模块中子组件的位置信息、顺序标识以及子组件与响应操作的绑定关系,可以使得视图控制器根据组件模块容器中的组件模块中子组件的位置信息、顺序标识以及子组件与响应操作的绑定关系构建目标页面。
将组件模块加入组件模块容器进行管理,由于组件模块的大小是根据子组件的大小确定的,可以在组件模块内独立进行,而无需在组件模块容器内编辑组件模块的大小,实现了解耦,便于维护。
在本发明实施例中,组件模块容器带有缓存机制,有换存储管理,当组件模块多次被调用时,从缓存中调用该组件模块,以减少计算,以快速显示目标页面。如在目标页面进行展示时,将目标页面中组件模块进行缓存,具体地,将组件模块中子组件的高度进行缓存,从而当滑动目标页面时,能够快速显示目标页面,而不需要重新计算子组件的高度,提高了目标页面更新的效率,保证了***的流畅运行,从而提升了用户体验。
当目标页面构建完成后,针对每次目标页面的获取请求,加载组件模块并进行页面的刷新,调用视图控制器的刷新方法,以展示目标页面。
如图4和图5所示分别为本发明实施例的一种页面更新前和页面更新后的示意图,每个组件模块通过属性type表明身份,type_a代表图文组件模块,type_b代表功能集模块,type_c代表大图模块,图4所示的更新前页面构成包括3个组件模块,由上到下依次为1个type_a组件模块、1个type_b组件模块、1个type_c组件模块,当获取首页的页面时,通过配置数据的变化,由图4所示的页面动态更新为图5所示的页面,3个组件模块的顺序发生变化,type_a组件模块的数量以及子组件的构成也发生了变化,图5所示的页面构成包括4个组件模块,由上到下依次为1个type_c组件模块、1个type_b组件模块、2个type_a组件模块,通过配置数据变化,能够快速更新页面构成。
本发明实施例所提供的页面处理的方法,通过获取的目标页面的配置数据获得至少一个数据对象,然后再根据数据对象生成包括至少一个子组件的组件模块,通过组件模块构建目标页面,进而显示目标页面。本发明实施例的方法使用原生页面进行页面构成的快速更改,免去发版的过程,无需重新编写代码,可以配合运营实现页面的快速迭代,保证了页面更新的效率,且采用缓存机制,对组件模块进行缓存,提升了页面加载速度,保证***的流畅运行,进而提升了用户体验。
本发明实施例的另一方面提供一种页面处理的装置600,如图6所示,该装置包括:
获取模块601,接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;
确定模块602,根据配置数据确定至少一个数据对象,每个数据对象包括至少一个属性;
生成模块603,根据数据对象生成包括至少一个子组件的组件模块,其中,组件模块中的子组件与数据对象中的属性一一对应;
构建模块604,根据组件模块构建目标页面。
在本发明实施例中,获取模块601,还用于:在获取目标页面的配置数据之前,确定响应结果中的请求状态字段对应的状态值指示通信正常;当状态值指示通信异常时,重新发送针对目标页面的获取请求。
在本发明实施例中,获取模块601,还用于:在重新发送针对目标页面的获取请求之前,包括:确定发送针对目标页面的获取请求的次数不超过预设阈值;当超过预设阈值时,展示失败页面。失败页面上包括刷新按钮,当刷新按钮被触发时,发送针对目标页面的获取请求。
在本发明实施例中,确定模块602,还用于:对配置数据进行解析,确定与应用***对应的至少一个数据对象;将数据对象的属性的数据类型转换为NSString类型;当数据对象的所有的属性对应的属性值均为空时,数据对象为空对象。其中,对配置数据进行解析可以通过数据解析器实现,确定与应用***对应的至少一个数据对象可以通过数据对象生成器实现。
在本发明实施例中,生成模块603,还用于:在根据数据对象生成包括至少一个子组件的组件模块之前,确定数据对象不为空对象;基于视图创建器,将数据对象生成包括至少一个子组件的组件模块;将数据对象中的属性与根据数据对象生成的组件模块中的子组件进行绑定;基于block代码块构建组件模块中的子组件与至少一个响应操作的绑定关系。基于视图创建器,将数据对象生成包括至少一个子组件的组件模块;将数据对象中的属性与根据数据对象生成的组件模块中的子组件进行绑定也可以通过图形模块生成器实现;基于block代码块构建组件模块中的子组件与至少一个响应操作的绑定关系,可以通过模块响应绑定器实现。
在本发明实施例中,生成模块603,还用于:根据数据对象,确定组件模块中子组件的位置信息以及子组件的顺序标识,以生成包括至少一个子组件的组件模块。也可以通过图形模块生成器实现。
在本发明实施例中,构建模块604,还用于:基于视图控制器,根据子组件的位置信息、子组件的顺序标识,以及子组件与响应操作的绑定关系,构建目标页面。也可以通过图形模块容器实现。
在本发明实施例中,该页面处理的装置还包括显示模块,用于加载组件模块并刷新页面,以显示目标页面。
本发明实施例的再一方面提供一种页面处理的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例的页面处理的方法。
本发明实施例的再一方面提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时本发明实施例的页面处理的方法。
图7示出了可以应用本发明实施例的页面处理的方法或页面处理的装置的示例性***架构700。
如图7所示,***架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯客户端应用,例如金融类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所使用的金融类应用提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的针对目标页面的获取请求进行分析等处理,并将处理结果(例如目标页面的配置数据--仅为示例)反馈给终端设备,终端设备根据获取的目标页面的配置数据,确定至少一个数据对象,并根据数据对象生成包括至少一个子组件的组件模块,并根据组件模块构建目标页面,并显示目标页面。
需要说明的是,本发明实施例所提供的页面处理的方法一般由终端设备701、702、703执行,相应地,页面处理的装置一般设置于终端设备701、702、703中。
应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机***800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有***800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、确定模块、生成模块和构建模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;根据所述配置数据确定至少一个数据对象,每个数据对象中包括至少一个属性;根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;根据所述组件模块构建所述目标页面。
根据本发明实施例的技术方案,通过获取的目标页面的配置数据获得至少一个数据对象,然后再根据数据对象生成包括至少一个子组件的组件模块,通过组件模块构建目标页面,进而显示目标页面。本发明实施例的方法使用原生页面进行页面构成的快速更改,免去发版的过程,无需重新编写代码,可以配合运营实现页面的快速迭代,保证了页面更新的效率,且采用缓存机制,对组件模块进行缓存,保证***的流畅运行,进而提升了用户体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种页面处理的方法,其特征在于,包括:
接收针对目标页面的获取请求的响应结果,获取所述目标页面的配置数据;
根据所述配置数据确定至少一个数据对象,每个数据对象中包括至少一个属性;
根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;
根据所述组件模块构建所述目标页面。
2.根据权利要求1所述的方法,其特征在于,在获取所述目标页面的配置数据之前,包括:
确定所述响应结果中的请求状态字段对应的状态值指示通信正常;
当所述状态值指示通信异常时,重新发送针对目标页面的获取请求。
3.根据权利要求2所述的方法,其特征在于,在重新发送针对目标页面的获取请求之前,包括:
确定发送针对目标页面的获取请求的次数不超过预设阈值;
当超过所述预设阈值时,展示失败页面。
4.根据权利要求3所述的方法,其特征在于,为所述失败页面关联触发事件,当监控到所述触发事件被触发时,发送针对目标页面的获取请求。
5.根据权利要求1所述的方法,其特征在于,所述针对目标页面的获取请求的请求头中包括应用***信息;
根据所述配置数据生成至少一个数据对象,包括:
对所述配置数据进行解析,确定与所述应用***的对应的至少一个数据对象。
6.根据权利要求5所述的方法,其特征在于,根据所述配置数据生成至少一个数据对象,还包括:
将所述数据对象的属性的数据类型转换为NSString类型。
7.根据权利要求6所述的方法,其特征在于,所述属性包括标识信息,所述标识信息指示了子组件的类型和高度,所述子组件的类型包括图片、文字。
8.根据权利要求6所述的方法,其特征在于,根据所述配置数据确定至少一个数据对象,还包括:
当所述数据对象的所有的属性对应的属性值均为空时,确定所述数据对象为空对象。
9.根据权利要求1所述的方法,其特征在于,根据数据对象生成包括至少一个子组件的组件模块,包括:
基于视图创建容器,将数据对象生成包括至少一个子组件的组件模块。
10.根据权利要求1所述的方法,其特征在于,根据所述数据对象生成包括至少一个子组件的组件模块之后,包括:
将所述数据对象中的属性与根据所述数据对象生成的所述组件模块中的子组件进行绑定;
基于block代码块构建所述组件模块中的子组件与至少一个响应操作的绑定关系。
11.根据权利要求1所述的方法,其特征在于,根据所述数据对象生成包括至少一个子组件的组件模块,还包括:
根据所述数据对象,确定组件模块中子组件的位置信息以及所述子组件的顺序标识,以生成包括至少一个子组件的组件模块。
12.根据权利要求11所述的方法,其特征在于,根据所述组件模块构建所述目标页面,包括:
基于视图控制器,根据所述子组件的位置信息、所述子组件的顺序标识,以及所述子组件与响应操作的绑定关系,构建所述目标页面。
13.一种页面处理的装置,其特征在于,包括:
获取模块,接收针对目标页面的获取请求的响应结果,获取目标页面的配置数据;
确定模块;根据所述配置数据确定至少一个数据对象,每个数据对象包括至少一个属性;
生成模块,根据所述数据对象生成包括至少一个子组件的组件模块,其中,所述组件模块中的子组件与所述数据对象中的属性一一对应;
构建模块,根据所述组件模块构建所述目标页面。
14.一种页面处理的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-12中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110731645.2A CN113342450B (zh) | 2021-06-29 | 2021-06-29 | 页面处理的方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110731645.2A CN113342450B (zh) | 2021-06-29 | 2021-06-29 | 页面处理的方法、装置、电子设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342450A true CN113342450A (zh) | 2021-09-03 |
CN113342450B CN113342450B (zh) | 2023-04-25 |
Family
ID=77481542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110731645.2A Active CN113342450B (zh) | 2021-06-29 | 2021-06-29 | 页面处理的方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342450B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925241A (zh) * | 2022-04-24 | 2022-08-19 | 杭州悦数科技有限公司 | 图数据处理的方法、***、电子装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367507A (zh) * | 2020-03-11 | 2020-07-03 | 上海东普信息科技有限公司 | 页面代码生成方法、装置、设备及存储介质 |
CN112052064A (zh) * | 2020-09-28 | 2020-12-08 | 深圳前海微众银行股份有限公司 | 小程序页面跳转方法、装置、设备与计算机可读存储介质 |
CN112684968A (zh) * | 2020-12-28 | 2021-04-20 | 北京五八信息技术有限公司 | 页面展示方法、装置、电子设备和计算机可读介质 |
-
2021
- 2021-06-29 CN CN202110731645.2A patent/CN113342450B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367507A (zh) * | 2020-03-11 | 2020-07-03 | 上海东普信息科技有限公司 | 页面代码生成方法、装置、设备及存储介质 |
CN112052064A (zh) * | 2020-09-28 | 2020-12-08 | 深圳前海微众银行股份有限公司 | 小程序页面跳转方法、装置、设备与计算机可读存储介质 |
CN112684968A (zh) * | 2020-12-28 | 2021-04-20 | 北京五八信息技术有限公司 | 页面展示方法、装置、电子设备和计算机可读介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925241A (zh) * | 2022-04-24 | 2022-08-19 | 杭州悦数科技有限公司 | 图数据处理的方法、***、电子装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113342450B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831858B2 (en) | Mobile enablement of existing web sites | |
CN106569900B (zh) | 应用程序处理方法和装置 | |
US11079909B2 (en) | Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency | |
CN112100550A (zh) | 一种页面构建方法和装置 | |
US20200322570A1 (en) | Method and apparatus for aligning paragraph and video | |
CN113382083B (zh) | 一种网页截图方法和装置 | |
CN110795649A (zh) | 目标页面展示方法、装置、***及电子设备 | |
CN109582317B (zh) | 用于调试寄宿应用的方法和装置 | |
CN111294395A (zh) | 一种终端页面传输方法、装置、介质和电子设备 | |
CN113158101A (zh) | 一种可视化页面渲染方法、装置、设备及存储介质 | |
CN113010405A (zh) | 一种应用程序的测试方法和装置 | |
CN112395027A (zh) | 微件界面生成方法、装置、存储介质与电子设备 | |
CN112486482A (zh) | 一种页面展示方法和装置 | |
WO2023092580A1 (zh) | 页面显示方法、装置、存储介质及电子设备 | |
US20210397646A1 (en) | Method, electronic device, and storage medium for processing visual data of deep model | |
CN113342450B (zh) | 页面处理的方法、装置、电子设备及计算机可读介质 | |
CN113656737A (zh) | 网页内容展示方法、装置、电子设备以及存储介质 | |
CN113220381A (zh) | 一种点击数据展示方法和装置 | |
CN110647327A (zh) | 基于卡片的用户界面动态控制的方法和装置 | |
CN110647331A (zh) | 开发工具的获取方法及装置、存储介质、电子设备 | |
CN113656041A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113495651B (zh) | 一种窗口控制方法和装置 | |
CN114721740A (zh) | 消息触发方法、装置、设备及存储介质 | |
CN111176982B (zh) | 一种测试界面生成方法和装置 | |
CN111131354B (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 |