一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

页面生成方法、装置、设备及介质与流程

2021-11-05 18:19:00 来源:中国专利 TAG:
1.本技术涉及计算机
技术领域
:,尤其涉及云
技术领域
:,提供一种页面生成方法、装置、设备及介质。
背景技术
::2.大多内容服务应用程序是以feed流页面的形式展现各类内容。目前在开发内容服务应用程序时,编译了feed流页面的布局。在内容服务应用程序运行时,可以加载相应的feed流页面的布局。3.但随着媒体技术的不断发展,可能会不定时地出现新的布局。如果需要在feed流页面中展示新的布局,那么要求开发人员按照开发周期更新内容服务应用程序,更新后的内容服务应用程序可以加载并展示新的feed流布局。但这种方式需要对内容服务应用程序进行更新发版,开发周期长,且需要用户及时更新内容服务应用程序,才能显示新的布局的feed流页面,导致页面生成的效率较低。技术实现要素:4.本技术实施例提供一种页面生成方法、装置、设备及介质,用于提高生成页面的效率。5.一方面,提供了一种页面生成方法,应用于终端中,所述终端中安装有应用程序,包括:6.每接收到服务器下发的新的元素单元配置信息,将所述新的元素单元配置信息中包含的新类型的元素单元的标识信息和布局数据,进行关联保存,所述元素单元为用于生成页面的基础单元;7.响应于在应用程序上触发的页面生成操作,获得相应的目标页面配置信息,其中,所述目标页面配置信息包括用于生成目标页面的目标元素单元的目标标识信息,以及所述目标元素单元关联的信息内容,所述目标元素单元包括所述新类型的元素单元中的至少一种;8.基于所述目标标识信息,获取所述目标元素单元对应的布局数据;9.基于所述目标元素单元的布局数据和信息内容,生成所述目标元素单元;10.基于所述目标元素单元,生成所述目标页面。11.一方面,提供一种页面生成装置,所述装置设置于终端中,所述终端中安装有应用程序,所述装置包括:12.布局数据注册模块,用于每接收到服务器下发的新的元素单元配置信息,将所述新的元素单元配置信息中包含的新类型的元素单元的标识信息和布局数据,进行关联保存,所述元素单元为用于生成页面的基础单元;13.页面配置信息获得模块,用于响应于在应用程序上触发的页面生成操作,获得相应的目标页面配置信息,其中,所述目标页面配置信息包括用于生成目标页面的目标元素单元的目标标识信息,以及所述目标元素单元关联的信息内容,所述目标元素单元包括所述新类型的元素单元中的至少一种;14.页面生成模块,用于基于所述目标标识信息,获取所述目标元素单元对应的布局数据;基于所述目标元素单元的布局数据和信息内容,生成所述目标元素单元;基于所述目标元素单元,生成所述目标页面。15.在一种可能的实施例中,所述页面配置信息获得模块具体用于:16.响应于所述页面生成操作,向服务器发送页面生成请求;17.若接收到所述服务器反馈的新页面配置信息,则将所述新页面配置信息作为所述目标页面配置信息,以及基于所述新页面配置信息对本地缓存中记录的历史页面配置信息进行替换;18.若未接收到所述服务器反馈的新页面配置信息,则将本地缓存中记录的历史页面配置信息作为所述目标页面配置信息。19.在一种可能的实施例中,所述新的元素单元配置信息中包含新类型的元素单元关联的多个布局数据,以及每个布局数据对应的布局数据标识,所述目标页面配置信息中还包括所述目标元素单元对应的目标布局数据标识;所述页面配置信息获得模块具体用于:20.基于所述目标标识信息和所述目标布局数据标识,获得与所述目标元素单元对应的布局数据。21.在一种可能的实施例中,所述与所述目标元素单元对应的布局数据包括所述目标元素单元对应的目标视图类,所述目标视图类定义了所述目标元素单元支持展示的页面元素种类,所述信息内容包括目标元素单元中的各个页面元素对应的页面元素数据;所述页面生成模块具体用于:22.根据所述信息内容,确定所述目标元素单元中的每类页面元素的数量;23.将所述目标元素单元中各类页面元素的数量输入所述目标视图类中,分别创建相应数量的页面元素;24.将所述信息内容中与已创建的各个页面元素对应的页面元素数据,分别配置到相应的页面元素中。25.在一种可能的实施例中,所述目标元素单元对应的布局数据还包括用于确定所述目标元素单元的尺寸的数据模型,所述信息内容还包括各页面元素在所述目标页面中的呈现区域信息;所述页面生成模块还用于:26.将所述各页面元素在所述目标页面中的呈现区域信息输入所述数据模型,获得所述目标元素单元的尺寸。27.在一种可能的实施例中,所述目标元素单元对应的布局数据还包括用于确定所述目标元素单元的尺寸的数据模型,所述应用程序中设置有用于计算文本元素在页面中的布局大小的拓展接口,所述目标元素单元中的各页面元素包括文本元素,所述信息内容还包括各页面元素中除了所述文本元素之外的其它页面元素在所述目标页面中的呈现区域信息,所述信息内容还包括与所述文本元素对应的文本内容和字体参数;所述页面生成模块具体用于:28.将所述文本内容和所述字体参数输入所述拓展接口,确定所述文本内容在所述目标页面中的呈现区域信息;29.将各页面元素中除了所述文本元素之外的其它页面元素在所述目标页面中的呈现区域信息、以及所述目标页面中的呈现区域信息输入所述数据模型,确定目标元素单元的尺寸。30.在一种可能的实施例中,若所述目标元素单元的数目为多个,所述内容信息还包括多个目标元素单元的排布顺序;所述页面生成模块具体用于:31.所述基于所述目标元素单元,生成所述目标页面,包括:32.按照所述排布顺序,依次排布多个目标元素单元,以生成所述目标页面。33.在一种可能的实施例中,所述页面配置信息获得模块,还用于在基于所述目标元素单元,生成所述目标页面之后,响应于针对所述目标页面触发的页面刷新操作,获得更新后的页面配置信息;34.所述页面生成模块,还用于若与所述目标页面配置信息相比,所述更新后的页面配置信息中存在变更元素单元的变更标识信息和变更信息内容,则基于所述变更标识信息确定对应的布局数据;根据所述变更元素单元的布局数据和所述变更信息内容,生成所述变更元素单元;以及,根据所述目标元素单元,以及所述变更元素单元,生成刷新后的目标页面。35.本技术实施例提供一种计算机设备,包括:36.至少一个处理器,以及37.与所述至少一个处理器通信连接的存储器;38.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如一方面中任一项所述的方法。39.本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如一方面中任一项所述的方法。40.由于本技术实施例采用上述技术方案,至少具有如下技术效果:41.在本技术实施例中,终端可以从服务器直接获取新类型的元素单元的元素单元配置信息,后续在需要生成页面时,可以根据已获得元素单元配置信息,生成相应的元素单元,进而生成页面,无需对应用程序进行发版,也能生成新类型的元素单元配置信息,以提升页面生成效率。且,由于无需重新针对应用程序进行发版,相对节省了开发人员的人力,降低页面生成的成本。且,对于用户而言,无需对应用程序进行更新,也能及时查看新类型的元素单元,提升用户的使用效率。附图说明42.图1为本技术实施例提供的一种页面的示例图一;43.图2a为本技术实施例提供的一种页面生成方法的应用场景示意图;44.图2b为本技术实施例提供的图2a中设备的结构示意图;45.图3为本技术实施例提供的一种页面生成方法的流程图;46.图4a为本技术实施例提供的一种页面的示例图二;47.图4b为本技术实施例提供的一种生成的目标页面的示例图;48.图5为本技术实施例提供的一种目标页面配置信息的示例图;49.图6为本技术实施例提供的一种生成目标元素单元的过程示例图;50.图7为本技术实施例提供的一种计算目标元素单元的尺寸的示例图;51.图8为本技术实施例提供的图4b中目标页面刷新后显示的页面;52.图9为本技术实施例提供的图2a中各设备之间的交互过程示意图;53.图10为本技术实施例提供的一种页面生成方法的流程示意图;54.图11为本技术实施例提供的一种页面生成装置的结构示意图;55.图12为本技术实施例提供的一种计算机设备的结构示意图。具体实施方式56.为了更好的理解本技术实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。57.为了便于本领域技术人员更好地理解本技术的技术方案,下面对本技术涉及的名词进行介绍。58.用户界面(userinterface,ui)和页面:对软件的人机交互、操作逻辑、界面美观的整体设计。较佳的ui设计不仅是让软件变得有个性有品位,还可以使得应用程序的操作变得舒适简单、自由,充分体现软件的定位和特点。本技术实施例中涉及的页面属于用户界面中的一种,本技术实施例中的页面可以是在终端中运行的应用程序呈现出的界面。59.feed流页面:页面中的一种,是指以feed实现的页面,feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。feed可进一步理解为一种给用户持续提供内容的数据形式,是由多个内容提供源组成的资源聚合器,由用户主动订阅消息源并且向用户提供内容。60.uitableviewcell:uikit框架下的视图类,是列表显示的载体,基于uitableview可以定制不同样式的列表内容,可以应用于生成feed流页面。61.黑魔法(methodswizzling):应用在objective‑c或其他语言中是一种技术,可以支持动态方法派发。methodswizzling通过改变特定方法与实际实现之间的映射,在运行时可以将一个方法的实现替换成其它方法的实现。进一步理解为该技术可以让应用程序在运行过程中进行hook,也就是说,在应用程序运行过程中,动态地生成类和对象。methodswizzling可以适用于不同的操作系统,例如ios系统。62.元素单元:是指页面的组成单元,例如可以为页面的基本组成单元,可以进一步理解为用于承载页面元素的单元。以uitableviewcell生成的页面中的元素单元可以是单元格(cell)。一个页面可以由一个或多个元素单元组成,每个元素单元包含一种或多种页面元素,页面元素例如单图片元素、多图片元素、文本元素、视频元素、音频元素、按钮元素、直播接口元素等一种或多种。元素单元可以分为多种类型,例如可以以元素单元支持展示的页面元素种类进行类型划分,即两个元素单元支持展示的页面元素种类不完全相同或完全不同,那么这两个元素单元可以视为属于不同类型。举例说明:一元素单元支持展示图片元素和文本元素,另一个元素单元支持展示图片元素和音频元素,那么这两个元素单元可以则视为不同类型的元素单元。不同的元素单元可以包含种类完全相同的页面元素,也可以包含部分种类相同的页面元素,也可以包含种类完全不同的页面元素。需要说明的是,元素单元支持展示的页面元素是指该元素单元能够承载相应的页面元素,但这并不意味着该类元素单元中元素单元一定会包含所有支持展示的页面元素。例如,a类元素单元支持文本元素和视频元素,而在某个页面中,属于a类元素单元中一个元素单元可以仅包含视频元素。63.为了更清楚地说明页面与元素单元之间的关系,下面以图1所示的页面为例进行介绍:请参照图1,该页面100展示有视频相关的内容,该页面100包括多个元素单元110,例如图1中所示的第一元素单元111和第二元素单元112。第一元素单元111的页面元素包括图1中所示的视频元素111‑1和文本元素111‑2。64.布局:是指元素单元的具体呈现。页面可以包含一种类型布局的元素单元,或者包括多种类型布局的元素单元。两个页面各自包括的元素单元的布局存在不同,那么可以等同于两个页面的布局不同。元素单元的布局类型可以按照多种方式进行划分,例如元素单元的布局类型可以按照元素单元能够支持加载的页面元素种类进行划分。例如,一个元素单元能够支持加载图片,另一个元素单元支持加载文本,那么两个元素单元可以视为不同的元素单元。又例如,元素单元的布局类型按照元素单元包含页面元素种类进行划分,即加载的页面元素种类不同,则视为不同布局的元素单元。例如一个元素单元包含单个图片,另一个元素单元包含多个图片,那么两个元素单元可以视为不同的布局,又例如一个元素单元包含图片和文本,另一个元素单元包含图片和按钮,那么两个元素单元视为不同布局的元素单元。65.样式:可以理解为页面元素的具体呈现,针对一个元素单元中的每个页面元素可以以多种样式进行排列显示,一个元素单元中的多个页面元素之间也可以以多种样式进行排列显示。以文本为例,文本的不同字体可以视为不同的样式;又例如文本叠加在图片上,图片覆盖在文本可以视为两种样式。66.元素单元配置信息:包括元素单元的标识信息和元素单元的布局数据。标识信息用于标识不同类型的元素单元,即不同类型的元素单元对应的标识信息不同。需要说明的是,一种类型的元素单元可以存在一种或多种生成布局的方式,因此一种类型的元素可能对应一个或多个布局数据。为了便于区分,每个布局数据可以关联有对应的布局数据标识。该布局数据标识可以以布局数据的名称来表示。67.布局数据:用于描述元素单元的布局生成方式。布局数据包括元素单元的视图类,视图类定义了元素单元能够支持显示的页面元素种类。视图类例如用cellclassname表示。布局数据还可以包括数据模型,数据模型定义了生成元素单元的尺寸的方式。数据模型例如用modelclass表示。元素单元的尺寸包括元素单元的高度,以及还可以包括元素单元的宽度。当元素单元以三维或三维以上进行展示时,那么元素单元的尺寸还包括除宽度和高度之外的其他维度上的尺寸。继续以图1为例,元素单元的高度具体用图1中h表示,元素单元的宽度可以具体用图1中w表示。68.页面元素和页面元素数据:用于描述页面显示的元素类型,例如图片、视频、文本、表情或直播接口等。页面元素数据用于描述页面中页面元素对应具体需要呈现的内容,页面元素数据可以以具体的内容进行表示,例如文本c,页面元素数据也可以以具体内容的资源标识表示,例如以图片的统一资源定位符(uniformresourcelocator,url)表示。69.页面配置信息:可以理解为用于呈现页面所需的数据集合。页面配置信息配包括呈现页面的信息内容,以及组成页面的元素单元的标识信息等。信息内容用于描述页面中每个元素单元中呈现的页面元素相关的数据,包括页面元素数据,以及还可以包括各页面元素在页面中的呈现区域信息等。页面配置信息可以以树状集合模型来表示,页面配置信息例如可以以属性表文件(propertylist,plist)实现。页面元素配置信息还可以包括组成页面的元素单元的总数量,以便于后续校验页面配置信息的完整性。页面元素配置信息还可以包括该信息的版本号,以便于后续确定页面配置信息是否更新。70.本技术实施例中的新的页面配置信息和历史页面配置信息的内容均可以参照页面配置信息的定义,新的页面配置信息与历史页面配置信息不同的是应用程序获得页面配置信息的时机不同,如果是应用程序当前从后台获取的,则视为新的页面配置信息,如果是应用程序在当前时刻之前从后台获得的页面配置信息,则视为历史页面配置信息。71.plist:是一种文件形式,类似xml、doc或json等,plist可以以键值对的方式存储相应的数据,可以用于储存用户设置,也可以用于存储捆绑的信息。plist可以存储各类抽象的数据,因此每个plist可以包括多种格式的数据。72.呈现区域信息:用于描述各页面元素在页面占用的区域大小,以及页面元素在页面中的位置。根据呈现区域信息可以确定出页面元素在页面中占用的区域,对应可以称为呈现区域。以页面元素为图片为例,呈现区域信息例如为图片的参考坐标点以及图片的高度和宽度,参考坐标点例如为图片的中心坐标点或者图片在页面中的起始坐标点等,呈现区域信息例如图片的呈现区域信息可以表示为(x,y,w,h),(x,y)分别表示图片在页面中起始坐标点,w表示图片在页面中的宽度,h表示图片在页面中的高度。呈现区域信息例如还可以用图片的四个边界坐标点表示,本技术不对呈现区域信息的具体表达方式进行限制。73.tmffeedmapper:一种类,该类可以对外提供元素单元的布局注册方法(registerlayout),注册可以理解为确定生成元素单元的布局方法,例如注册可以通过关联保存元素单元的标识信息以及布局数据来实现。该类可以在应用程序中用于实现元素单元的布局注册过程。74.应当说明的是,本技术实施例中的“多个”是指两个或两个以上,“至少一个”是指一个或一个以上。75.下面对相关技术进行介绍:76.相关技术中是开发人员根据需求,开发具有新布局的页面,将开发代码写入应用程序,并发布新版本的应用程序。在用户下载新版本的应用程序后,该应用程序才能支持展示新布局的页面。但这种方式中,开发人员因需要考虑新布局对应的代码片段与原应用程序的代码之间的兼容性等,开发难度较大,开发周期较长。且需要针对不同操作系统上的应用程序均需要开发新版本,进一步导致开发难度大。且对于用户而言,还需要更新应用程序,才能进行展示更新后的页面,导致页面控制的效率较低。77.鉴于此,本技术实施例提供一种页面生成方案,该页面生成方案中,应用程序可以解析服务器下发的元素单元配置信息,以获得新类型的元素单元的布局生成方法,且能够动态解析服务器下发的页面配置信息,以根据获得的元素单元的布局生成方法,以生成相应的元素单元,从而构建页面,实现动态调整页面的布局,也可以是实现动态新增页面的布局。在具体实现时,应用程序中预先设置有注册接口,当存在新类型的某个元素单元时,终端中的应用程序可以直接从服务器获得该元素单元的元素单元配置信息,调用该注册接口基于元素单元配置信息,从而可以获得新类型的元素单元的布局生成方法,在需要显示页面时,应用程序可以获取相应的页面配置信息,直接从已获得的元素单元配置信息中,查找该页面配置信息中的元素单元对应的元素单元配置信息,根据已获得的元素单元的布局生成方法,实时地生成相应的元素单元,进而生成页面,也就是说,该方案中服务器可以随时向应用程序下发相应的更新的元素单元,而无需更新应用程序,能实现新类型的元素单元的生成,进而实现页面的布局的更新,从而提升应用程序中页面生成的效率。78.基于上述设计思想,下面对本技术实施例的页面生成方法的应用场景进行介绍。79.请参照图2a,为本技术实施例提供的一种页面生成方法的应用场景图,图2a或可以理解为本技术实施例中页面控制系统的结构示例图。该场景图包括终端210、服务器220和数据库230。80.终端210中运行有应用程序211,该应用程序211为预装在终端210中的应用程序。该应用程序可以是任意类型的应用程序,例如内容服务应用程序、社交即时通信应用程序或即时通讯应用程序等,本技术不对此进行限制。81.终端210和服务器220可以通过通信网络进行直接或间接地连接,通信网络例如局域网、广域网或因特网等,本技术不对此进行限制。服务器220可以是应用服务器、网络工具或专用服务器设备等。82.服务器220可以对数据库230进行相应的读写操作,例如服务器220在响应应用程序的相应请求时,服务器220可以从数据库230中获取相应的数据。83.数据库230可以部署在服务器220中,也可以部署在与服务器220相对独立的其他设备上。数据库230可以存储各类数据,例如多个页面中每个页面对应的页面元素数据,例,如数据库230中可以存储有展示在页面上视频、图片或文本内容等。另外,数据库230中还可以存储有各个用户的用户画像,以便后续为用户推荐其感兴趣的页面元素数据等。数据库230可以以固定的形式存储各类数据。数据库230例如可以以键值方式存储各类数据。数据库230可以直接写入各类数据,也可以写入各类数据的资源地址,以减少存储量。84.其中,各类数据可以是服务器220从网络资源中获取并存储到数据库230中的,也可以是服务器220从其他终端获得并存储到数据库230中的,也可以是服务器220从远程内容服务器中获得并存储至数据库230中,远程内容服务器为数据对应的数据源服务器,服务器220可以从该远程内容服务器请求响应的数据。85.例如,各个用户通过终端将各自创作的内容转发至服务器220,通过服务器220转发给其他用户对应的终端,服务器220还可以将这些内容存储至数据库230中。举例说明,用户a通过应用程序发布了文章f,服务器220可以通过网络将该文章f分享到其他用户的终端,服务器220还可以将该文章f写入到数据库230中。86.具体来说,终端210可以用于响应于用户在应用程序211上进行的各类操作,展示相应的页面。例如,用户可以在应用程序211上进行页面请求操作,应用程序211响应于该页面生成操作,生成页面生成请求,以从服务器220请求相应的页面配置信息。87.服务器220在获得页面生成请求之后,根据应用程序211的页面请求,从数据库230中获取相应的页面内容。服务器220也可以根据页面请求,从数据库230中获取用户画像,基于用户画像从数据库230中获取为该用户推荐的页面内容。进而将获取的页面内容转换成固定形式的配置信息,并将配置信息反馈给应用程序211。88.应用程序211获得配置信息之后,解析配置信息,以页面的形式展示相应的页面内容。其中,涉及到页面呈现的具体内容将在下文中进行介绍。89.进一步地,当用户针对呈现的页面进行相应操作时,例如对页面中的某项页面内容进行点击操作、转发操作或收藏操作等,终端211可以响应于该操作,生成内容操作信息,该内容操作信息包括用户进行的操作类型,以及该操作对应的页面内容等。90.终端211可以将内容操作信息发送给服务器220,服务器220根据该操作信息,可以更新用户画像,并将更新后的用户画像存储至数据库230中。91.在一种可能的具体应用场景中,服务器220可以执行多个模块,以响应对应用程序发送的请求。请参照图2b所示,服务器220包括内容反馈模块221和内容推荐模块222。内容反馈模块221和内容推荐模块222可以部署在同一个服务器上,也可以部署在不同的服务器上。内容反馈模块221和内容推荐模块222均可以通过进程或服务实现。92.内容反馈模块221用于与终端210进行交互,内容推荐模块222用于确定为用户显示的页面内容。例如,内容反馈模块221可以从终端210接收页面请求,将页面请求反馈给内容推荐模块222,内容推荐模块222接收该页面请求之后,根据该页面请求以及用户画像,从数据库230中确定为用户推荐的页面内容。93.内容推荐模块222在确定为用户推荐的页面内容之后,可以将相应的页面内容反馈给内容反馈模块221,内容反馈模块221进一步将页面内容反馈给终端210,终端加载相应的页面内容,从而显示相应页面。94.进一步地,终端210可以根据用户针对显示页面中的页面内容进行的相应操作,例如点击、转发或收藏操作等,终端210可以根据该操作,生成相应的内容操作信息,该内容操作信息可以参照前文论述的内容,此处不再赘述。95.需要说明的是,如果用户访问的是为特定页面,那么服务器220则无需进行页面内容的推荐。96.在一种可能的示例中,终端210还可以响应于针对用户的个人信息进行的相应操作,例如更新操作、新增操作等,获得更新后的个人信息,并将更新后的个人信息反馈给内容反馈给模块221,由内容反馈模块221将更新后的个人信息写入数据库230。服务器220也可以根据更新后的个人信息更新用户画像,将更新后的用户画像写入数据库230中。97.其中,上述中的终端210可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、游戏设备、智能电视、智能手环等,但并不局限于此。服务器220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdeliverynetwork,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。当数据库230部署在与服务器220相对独立的其他设备上时,其他设备也可以通过各类云服务器实现。98.在一种可能的实施例中,上述中的服务器220可以通过云技术(cloudtechnology)实现。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,这些均可以通过云计算来实现。99.在前文论述的应用场景的基础上,下面以图2a~图2b中的终端执行页面生成方法为例,对本技术实施例涉及的页面生成方法进行介绍:100.请参照图3,为本技术实施例提供的一种页面生成方法的流程图,该方法的具体实施流程如下:101.s31,终端每接收到服务器下发的新的元素单元配置信息,将新的元素单元配置信息中包含的新类型的元素单元的标识信息和布局数据,进行关联保存。102.终端中安装有应用程序,在应用程序启动之后,可以向服务器请求元素单元配置信息,如果服务器检测存在未下发新类型的元素单元配置信息,那么可以向终端发送元素单元配置信息。服务器也可以检测到终端中的应用程序开启之后,且检测存在未下发的新的元素单元配置信息,可以主动向终端发送新的元素单元配置信息。103.在终端获得元素单元配置信息之后,可以解析元素单元配置信息,从而获得新类型的元素单元的标识信息和布局数据,并将新类型的元素单元的标识信息和布局数据进行关联。当然元素单元配置信息中可以包括一种新类型的元素单元的标识信息和布局数据,也可以包括多种新类型的元素单元的标识信息和每种类型的元素单元的布局数据,对应地,终端可以关联保存每种新类型的元素单元的标识信息与其对应的布局数据。其中,元素单元配置信息的具体含义可以参照前文论述的内容,此处不再赘述。终端在关联保存新类型的元素单元的标识信息和布局数据之后,相当于获取了用于生成新类型的元素单元的布局方法。以此类推,终端便可以获取各种类型的元素单元对应的单元标识信息,以及元素单元对应的布局数据。104.需要说明的是,s31可以是在每次应用程序启动后执行、实时执行、或周期性执行等,本技术不对此进行限制。105.s32,终端响应于在应用程序上触发的页面生成操作,获得相应的目标页面配置信息。106.在应用程序开启后,用户可以在应用程序上进行页面生成操作,例如,用户对应用程序中进行的滑动操作,又例如用户对应用程序中预设功能控件进行的点击操作等,终端根据该页面生成操作,可以获得相应的新的页面配置信息。目标页面配置信息包括用于生成目标页面的目标元素单元的目标标识信息,以及目标元素单元关联的信息内容。目标标识信息可以参照前文标识信息的含义,信息内容可以参照前文论述的内容,此处不再赘述。目标元素单元可以包括一个目标元素单元或多个目标元素单元。如果目标页面配置信息中的目标元素单元包括多个目标元素单元,那么目标页面配置信息具体会包括每个目标元素单元的标识信息,以及每个目标元素单元对应的信息内容。107.例如,请参照图4a所示的应用程序的页面,当用户点击页面中“汽车”控件,相当于进行了页面生成操作。108.s33,终端基于目标标识信息,获取目标元素单元对应的布局数据。109.终端根据目标页面配置信息中的目标标识信息,从终端已关联保存的新类型的元素单元的标识信息和布局数据中,查找与目标标识信息对应的布局数据,如果目标元素单元存在多个,那么目标标识信息也就分别有多个,那么对应也就能查找出多个布局数据。110.s34,终端基于目标元素单元的布局数据和信息内容,生成目标元素单元。111.终端在获得目标元素单元的布局数据和信息内容之后,可以根据布局数据和信息内容,对应生成相应的目标元素单元。当然,如果目标元素单元对应存在多个,那么终端可以根据每个目标元素单元的布局数据和信息内容,以生成多个目标元素单元。112.s35,终端基于目标元素单元,生成目标页面。113.终端在生成目标元素单元之后,如果有多个目标元素单元,可以排布多个目标元素单元,从而生成目标页面。作为一种实施例,页面中还可以包括一些基础页面元素,在应用程序的页面更新时,这些基础页面元素基本不会发生变化,为了简化终端与服务器之间的数据传输量,终端可以预存这些基础页面元素,终端在生成目标元素单元之后,可以将目标元素单元与基础页面元素进行排布,从而生成目标页面。114.继续沿用图4a所示的例子,当用户点击图4a中的“汽车”控件之后,终端可以生成并显示图4b所示的目标页面。115.本技术实施例中,终端可以实时地从服务器请求新类型的元素单元对应的元素单元配置信息,从而提前获得生成新类型的元素单元的布局方法,在需要生成页面时,可以从服务器获得相应的页面配置信息,从而根据页面配置信息,以查找生成页面配置信息中对应的元素单元的元素单元配置信息,进而生成相应的元素单元,如此一来,终端无需更新应用程序,便可以支持生成新类型的元素单元的生成,从而提高了页面生成的效率。且,避免了旧版本的应用程序无法兼容新版本的元素单元的布局的情况,从而提升了应用程序运行的可靠性。116.作为一种实施例,应用程序可以预先设置有tmffeedmapper类,并对外提供registerlayout方法,registerlayout方法对应的参数为布局数据标识、页面配置信息类名和元素单元类名并对外部提供一个配置类(config)的工具类。应用程序在获得新的元素单元配置信息之后,可以根据该新的元素单元配置信息,从而获得布局数据标识、页面配置信息类名和元素单元类名,将获得的布局数据标识、页面配置信息类名和元素单元类名输入至registerlayout方法,从而完成元素单元的注册。117.终端在获得新的元素单元配置信息之后,可以调用config中的初始化函数(setup),根据元素单元配置信息,解析元素单元配置信息中的元素单元的标识信息以及对应布局数据,并创建标识信息与对应的布局数据之间的关系,进而完成新类型的元素单元的注册过程。118.进一步地,为了减少后续加载页面过程中的延迟,在应用程序启动后,终端直接从服务器请求新的元素单元配置信息,以提前完成新类型的元素单元的注册过程。119.例如,请参照下表1所示的元素单元的标识信息和布局数据之间的关联关系:120.表1[0121][0122]参照上述表1,表1中的第一类元素单元的标识信息为“out_text”,布局数据具体包括第一视图类为tmffeedtitlecell的描述信息,数据模型为tmffeed的描述信息;表1中的第一类元素单元的标识信息为“out_text_image_1”,布局数据具体包括第二视图类为tmffeedtitleimagelightcell的描述信息和数据模型为tmffeed的描述信息;表1中的第三类元素单元的标识信息为“out_text_image_3”,布局数据具体包括第三视图类为tmffeedtripleimagelightcell的描述信息和数据模型为tmftripleimagefeed的描述信息。需要说明的是,表1中视图类对应的描述信息可以理解为依据视图类生成相应视图的方式,数据模型对应的描述信息可以理解为依据相应数据模型生成元素单元的尺寸的方式,描述信息的具体形式例如为代码。[0123]作为一种实施例,由于一个类型的元素单元可能对应多个布局数据,为了便于后续准确查找相应的布局数据,终端在关联标识信息和布局数据时,可以将标识信息、布局数据以及布局数据对应的布局数据标识一并进行关联。[0124]当用户进行页面生成操作之后,终端确定需要加载页面,因此终端可以获得相应的目标配置信息,下面对s32中涉及的获得目标配置信息的方式进行示例:[0125]示例一:终端可以从服务器获得新的页面配置信息,将新的页面配置信息作为目标页面配置信息。[0126]具体来说,终端可以响应于页面生成操作,生成页面生成请求,该页面生成请求用于请求页面,具体可以携带该应用程序中的用户标识。该用户标识可以是根据应用程序中登录的账号生成的,可以根据终端的设备标识生成的,也可以由服务器为该用户直接分配的唯一标识。在服务器接收该页面生成请求之后,确定需要为该用户生成相应的页面配置信息。[0127]一种可能的实施例中,服务器可以从数据库中获得目标页面的页面配置信息。[0128]在具体实施时,数据库可以存储有各类页面或者部分页面的页面配置信息,为了便于查找,该数据库中还存储有每个页面配置信息对应的页面标签,该页面标签用于指示页面的主要内容。服务器在获得页面生成请求之后,可以从数据库中获得相应的页面配置信息。[0129]例如,页面生成请求中还可以携带有操作标签,该操作标签可以用于指示用户进行的页面生成操作,服务器可以根据页面生成请求中携带有的操作标签,根据该操作标签从数据库中匹配出该固定页面的页面配置信息,作为新的页面配置信息反馈给终端。[0130]在另一种可能的实施例中,服务器可以根据页面生成请求,确定与该用户匹配的页面元素数据,根据匹配出的页面元素数据,生成新的页面配置信息。[0131]例如,服务器可以从数据库中为该用户配置相应的页面元素数据,例如服务器可以根据数据库中该用户的用户画像,匹配出该用户感兴趣的页面元素数据。进一步地,服务器可以根据确定出的页面元素数据,生成页面配置信息。例如服务器可以预存有页面配置信息模板,该配置信息模板定义了生成页面配置信息需要的数据项,将确定出的页面元素数据加载到对应的数据项中,从而生成页面配置信息。服务器也可以将确定出的页面元素数据输入至预设代码中,以生成新的页面配置信息,预设代码是用于生成页面配置信息的代码。[0132]在一种可能的实施方式中,终端可以先加载历史页面配置信息作为兜底数据,在从服务器获得新的页面配置信息之后,再用新的页面配置信息覆盖该历史页面配置信息。历史页面配置信息的含义可以参照前文论述的内容,此处不再赘述。[0133]作为一种实施例,在上述的示例一中,终端在从服务器获得新的页面配置信息之后,可以将新的页面配置信息更新存储在本地缓存中,对于下次页面生成过程而言,该新的页面配置信息即视为历史页面配置信息[0134]示例二:终端可以将本地缓存中记录的历史页面配置信息作为目标页面配置信息。[0135]终端可以在本地缓存中记录历史页面配置信息,该历史页面配置信息可以终端中应用程序中默认页面对应的配置信息,如果历史页面配置信息为默认页面对应的页面配置信息,那么历史页面配置信息不会随时间发生变化。历史页面配置信息也可以是终端在当前时刻之前显示的历史页面配置信息,本技术不对此进行限制,这种情况下,终端可以根据当前显示的页面不同,适应性地更新本地缓存的历史页面配置信息。由于终端和服务器之间的通信情况是可能会随着终端的位置等是不确定的,可能会出现终端或服务器通信异常的情况,这种情况下,终端可能无法将页面生成请求成功地发送给服务器。也可能是服务器在收到页面生成请求后,无法成功地将新的页面配置信息发送给终端。因此在本技术实施例中,终端确定从服务器获取新的页面配置信息失败之后,可以从本地缓存中获得历史页面配置信息,进而将历史页面配置信息作为目标页面配置信息。[0136]这其中涉及到终端具体如何确定从服务器获取新的页面配置信息失败,例如终端可以在向服务器发送页面生成请求时开始计时,确定达到预设时长之后,还没有从服务器获得新的页面配置信息,那么终端确定从服务器获得新的页面配置信息。终端也可以向服务器多次重发页面生成请求,在重发达到预设次数后,还没有从服务器获得新的页面配置信息,从而确定获得新的页面配置信息失败,这样可以避免终端一直等待服务器的反馈,而导致终端无法正常显示的情况,且,在本技术实施例中,即使终端没有从服务器获得新的页面配置信息,也可以基于历史页面配置信息,后续进行显示,而避免显示空白,提升用户体验。[0137]下结合图5所示的目标页面配置信息的示例图,对目标页面配置信息进行示例介绍:[0138]该目标页面配置信息的形式为键值对,在图5中目标页面配置信息以信息属性列表(informationpropertylist)为例,该信息属性列表记录了该列表的布局版本为1.2.1,该信息属性列表记录了3个元素单元,具体如图5中的第一元素单元510、第二元素单元520、以及第三元素单元530。该信息属性列表还记录了每个元素单元的标识信息,第一元素单元510、第二元素单元520和第三元素单元530的标识信息分别为:out_text、out_text_image_1和out_text_image_3。[0139]该信息属性列表还记录了每个元素单元包括的信息内容,下面对三个元素单元分别进行介绍:[0140]该第一元素单元510的页面元素种类分别包括图片元素和文本元素,图片元素具体如图5中第一图片511和第二图片512,文本元素具体如图5中的文本513。在该信息属性列表中记录有第一图片511和第二图片512各自的url,以及还记录有文本513为“titlename”。另外,该信息属性列表还记录有第一图片511、第二图片512的呈现区域信息,具体如图5中所示的(20,10,60,60),图5中是以第一图片511、第二图片512的呈现区域信息相同为例,实际不限制各个图片的呈现区域信息。[0141]该信息属性列表还记录有第二元素单元520的页面元素种类包括图片元素,并记录了图片的url,以及该图片的呈现区域信息。另外,该信息属性列表还记录有第三元素单元包括的页面元素为标签,以及该标签的呈现区域信息。[0142]除此之外,该信息属性列表还记录有每个元素单元对应的布局数据标识,例如第一元素单元510对应布局数据标识具体为:tmffeedtitlecell和tmffeed,第二元素单元520的布局数据标识具体为:tmffeedtitleimagelightcell和tmffeed,第三元素单元530的布局数据标识具体为:tmffeedtripleimagelightcell和tmftripleimagefeed。[0143]终端在获得目标页面配置信息之后,可以执行s33,下面对s33的实现方式进行介绍:[0144]方式一:终端从关联保存的标识信息和布局数据中,查找与目标页面配置信息中的目标标识信息匹配的布局数据。[0145]目标页面配置信息包括组成目标页面的目标元素单元的目标标识信息,终端可以解析目标页面配置信息,从目标页面配置信息中获得相应的目标标识信息,并从已关联保存的标识信息和布局数据中,确定出与该目标标识信息匹配的布局数据。[0146]例如,以标识信息是元素单元对应的名称和元素单元为单元格为例,终端在获得目标页面配置信息中的元素单元的名称之后,可以从tmffeedmapper中查找已经注册的元素单元,从而获得与该元素单元的名称对应的布局数据。[0147]方式二:终端从关联保存的标识信息和布局数据中,查找与目标页面配置信息中的目标标识信息和目标布局数据标识匹配的布局数据。[0148]如前文论述的内容,由于某些元素单元对应的布局数据可能有多个,在本技术实施例中目标页面配置信息还包括目标元素单元的目标数据标识,在终端解析目标页面配置信息之后,可以获得目标数据标识以及目标标识信息,进而终端可以依据目标数据标识以及目标标识信息,查找与目标数据标识以及目标标识信息均匹配的布局数据。[0149]作为一种实施例,如果目标页面配置信息中的目标元素单元的数目为多个,那么终端可以采用上述方式一或方式二,分别确定出每个目标元素单元对应的布局数据。[0150]请继续参照图5所示的目标页面配置信息,终端解析出该目标页面配置信息中的目标元素单元的标识信息具体为out_text,并获得目标元素单元的布局数据标识包括tmffeedtitlecell和tmffeed。终端关联保存的标识信息和布局数据之间的关联关系可以参照前文中的表1,终端依据out_text、tmffeedtitlecell和tmffeed,从而确定出该目标元素单元的布局数据。[0151]终端在获得目标页面配置信息、目标页面配置信息中目标元素单元对应的布局数据后,终端可以执行s34,下面对s34的具体实现方式进行示例介绍:[0152]某些情况下,目标元素单元可能为多个,而终端生成每个目标元素单元的方式是相同的,下面以生成一个目标元素单元为例进行介绍:[0153]终端根据目标元素单元中的各类页面元素的数量,以及目标元素单元的布局数据中视图类,生成目标元素单元。[0154]具体来说,终端可以解析目标页面配置信息中的信息内容,从而确定目标元素单元中包含的每类页面元素的数量。当然目标元素单元中可以包括一类页面元素,也可以包括多类页面元素,页面元素的具体含义可以参照前文论述的方法,此处不再赘述。在获得各类页面元素的数量之后,可以将各类页面元素的数量输入目标视图类中,例如可以将各类页面元素的数量按照预设的各类页面元素的组成顺序组成数组,以数组形式输入至目标视图类,从而可以通过目标视图类创建相应的页面元素。[0155]在具体实施时,终端在获得目标元素单元的目标视图类之后,可以分别调用该目标视图类下的各类方法,以分别创建相应的页面元素,进而以生成目标元素单元。其中,不同的页面元素对应的目标视图类下的方法不同。另外需要说明的是,一个页面元素对应的目标视图类下的方法可能是一个或多个,本技术实施例不对此进行限制。[0156]终端在获得各个页面元素之后,可以将各个页面元素对应的页面元素数据分别配置到相应的页面元素中,从而获得了目标元素单元。终端可以是在创建页面元素时,根据目标配置信息中各个页面元素的呈现区域信息,确定创建的页面元素的呈现区域,后续只需将页面元素数据配置到对应的页面元素中即可,终端也可以在将页面元素数据配置到页面元素后,再确定各个页面元素对应的呈现区域,以生成目标元素单元。[0157]举例说明,目标元素单元包括一个视频和两个文本,从而构建数组为(1,2),并将该数组输入目标视图类,进而调用用于生成视频元素的方法,创建图片元素,例如,可以调用用于实现视频播放的方法,以及还可以调用在播放中用于播放广告的方法,以及还可以调用用于暂停广告播放的方法等,以生成完整的视频元素,还需调用用于生成文本元素的方法,创建文本。[0158]为了提高下一次生成目标元素单元的效率,本技术实施例中可以在调用目标视图类下对应的方法之后,可以将目标视图类以及调用的各个方法与该目标元素单元的目标标识信息进行关联,这样后续如果需要再次生成该目标元素单元,可以直接根据该目标标识信息获取各个方法,从而调用各个方法生成相应的页面元素。[0159]作为一种实施例,应用程序可以配置一个基础的tmffeedtableviewcell类,该类继承于uitableviewcell,该tmffeedtableviewcell类包括了数据配置(configwithdata)方法和初始化元素单元(inititems)方法,这两个方法均归属于视图类,该configwithdata方法用于给每个元素单元配置页面元素数据,inititems方法用于对视图进行初始化,即确定目标元素单元支持展示的视图元素。[0160]终端在生成目标元素单元时,可以调用初始化元素单元(inititems)方法,初始化视图。初始化视图具体包括加载该目标元素单元支持展示的页面元素,以及各类页面元素数量构成的数组所占用的内存大小。终端将各类页面元素组成的数组输入inititems方法中,并根据该数组在该目标元素单元中的tmffeedtableviewcell类添加分类,这里的分类可以理解为添加用于生成各种页面元素的方法,通过这些方法生成对应的页面元素。[0161]在生成相应的页面元素之后,可以通过objc_setassociatedobject函数调用该目标元素单元对应的布局数据,并调用configwithdata方法给各个页面元素配置相应的页面元素数据。[0162]进一步地,终端通过对象关联设置(objc_setassociatedobject)函数将包括调用的各个方法的布局数据与对应的目标元素单元的目标标识信息进行关联,后续可以直接根据目标标识信息调用相应的包含调用的各个方法的布局数据。需要说明的是,这里布局数据不仅仅包括目标视图类,还包括调用的目标视图类下的各个方法等,还可以包括目标数据模型等。[0163]例如,请参照图6,为生成目标元素单元的过程示例图,终端在确定该目标元素页面包括一个文本元素、多图文元素、两个标签元素,从而创建如图6中(1)所示的文本元素601、多图文元素602和第一标签元素603,在图6中(1)是以各个页面元素对应的各自呈现区域为例,但实际上不限制终端确定各个页面元素的呈现区域时机。终端分别将各个页面元素对应的页面元素数据配置到如图6中(1)所示的页面元素中,从而生成如图6中(2)所示的目标元素单元。[0164]在生成目标元素单元时,除了配置相应的页面元素数据,还需要考虑目标元素单元的尺寸,其中目标元素单元的尺寸可以是固定的,但由于每个目标元素单元中各个页面元素的尺寸并不固定,因此为了优化各个目标元素单元的呈现效果,因此在本技术实施例中,终端还可以计算目标元素单元的尺寸,使得目标元素单元中各个页面元素的呈现效果更佳。[0165]具体来说,目标元素单元对应的布局数据还可以包括数据模型,终端可以根据目标页面配置信息中布局数据标识,从而布局数据对应的数据模型中,确定目标元素单元对应的数据模型,并在获得该数据模型之后,可以解析该目标页面配置信息中各个页面元素的呈现区域信息,将各个页面元素的呈现区域信息输入该数据模型,从而计算出目标元素单元的尺寸。数据模型计算目标元素单元的尺寸方式有多种,下面进行示例说明:[0166]数据模型可以根据各个页面元素的呈现区域信息,确定各个页面元素对应的呈现区域,进而确定目标元素单元所需的高度,目标元素单元的宽度可以是固定的,也可以是终端根据各个页面元素对应的呈现区域确定的。[0167]例如,请参照图7,为计算目标元素单元的高度的示例图,终端确定该目标元素单元包括文本701和三张图702,且确定文本701的高度为h1,起始坐标点如a点所示,三张图702的高度为h2,起始坐标点如b点所示,终端确定a和b点之间纵坐标的差值,从而可以根据该差值以及h3,确定该目标元素单元的高度为(h1 h2 h3)。[0168]但在实际应用过程中,某些页面元素的呈现区域可能是根据该页面元素的相关参数变化的,以文本为例,文本中的字体或字号中一种或两种变化,那么文本对应的呈现区域均会发生变化,那么这种情况下,需要动态计算该页面元素对应的呈现区域,进而再确定目标元素单元的尺寸。[0169]具体来说,在目标页面配置信息包括文本元素的文本内容以及字体参数,字体参数包括字体和字号中的一种或两种。在计算该文本元素对应的呈现区域时,终端可以调用拓展接口,将该文本内容以及字体参数通过拓展接口,以获得该文本元素的呈现区域信息。以文本元素为例,扩展接口例如可以为文本尺寸计算(caculatesizewithtext)。需要说明的是,拓展接口可以理解为应用程序中设置用于访问外部的接口,该拓展接口可以是终端提前与数据模型进行关联的。[0170]在计算出动态变化的页面元素的呈现区域信息之后,终端再基于该页面元素的呈现区域信息,以及其他页面元素的呈现区域信息,从而确定目标元素单元的尺寸。其中,通过数据模型确定目标元素单元的尺寸的方式可以参照前文论述的内容,此处不再赘述。[0171]需要说明的是,如果目标页面配置信息不包括文本的字体参数,包括文本的呈现区域信息,那么这种情况下,终端也可以直接根据该呈现区域信息,计算目标元素单元的尺寸。[0172]应当说明的是,如果目标元素单元包括多个目标元素单元,终端可以按照上述的任一方法,分别生成各个目标元素单元。生成每个目标元素单元的方式相同,此处不再赘述。[0173]在获得目标元素单元之后,终端可以执行s35,下面对s35的执行过程进行示例介绍。[0174]如果目标元素单元仅一个,那么生成该目标元素单元之后,也就获得了目标页面。如前文论述的内容,终端中也可以预存有一些基础页面元素,终端排布该目标元素单元以及基础页面元素,从而生成目标页面。[0175]如果目标元素单元包括多个,那么终端在生成多个目标元素之后,可以根据目标页面配置信息中的多个目标元素的排布顺序,从而依次排布各个目标元素单元,从而生成目标页面。目标页面配置信息中可以单独包括多个目标元素的排布顺序,也可以是目标页面配置信息中展示各个目标元素单元的标识信息的顺序即为多个目标元素单元对应的排布顺序。进一步地,如果终端中存储有基础页面元素,可以将该基础页面元素与各个目标元素单元进行排布,从而生成目标页面元素。[0176]继续以图5所示的目标页面配置信息,该目标页面配置信息中的排布顺序从前往后依次为第一元素单元510、第二页面元素单元520和第三页面元素单元530,那么终端在生成三个元素单元之后,按照第一元素单元510、第二页面元素单元520和第三页面元素单元530进行排布,从而生成目标页面。[0177]终端在生成目标页面之后,可以进一步显示目标页面,以及时为用户展示目标页面。[0178]在终端显示目标页面之后,用户可以针对目标元素单元进行互动操作,互动操作例如点击操作或者转发操作等,终端响应于互动操作,执行相应的业务逻辑,例如终端可以根据终端的转发操作,生成转发请求,以使得服务器根据该转发请求,将该目标页面的内容转发给其它设备。服务器在根据相应请求的同时,还可以生成用户本次互动操作对应的互动信息,以对目标页面进行更新。服务器可以根据该互动信息,对数据库中存储的该用户的用户画像进行更新,以便于后续基于最新的用户画像为用户推荐相应的页面元素数据。[0179]在终端显示目标页面之后,用户还可以对目标页面进行页面刷新操作,该页面刷新操作例如用户针对目标页面进行上滑操作、下滑操作、针对目标页面中的刷新控件进行的触发操作、针对目标页面进行缩小操作、或者针对目标页面进行放大操作等,终端响应于该页面刷新操作,可以对目标页面进行更新。[0180]终端可以向服务器发送页面刷新请求,服务器在接收页面刷新请求之后,可以根据该页面刷新请求,生成更新后的页面配置信息,并将该更新后的页面配置信息反馈给终端。其中,服务器生成更新后的页面配置信息的内容可以参照前文论述的生成新的页面配置信息的内容,此处不再赘述。[0181]终端可以根据更新后的页面配置信息,重复上述过程,以生成刷新后的目标页面。[0182]作为一种实施例,为了简化终端刷新页面的过程,终端在获得更新后的页面配置信息之后,可以将更新后的页面配置信息与之前的目标页面配置信息进行对比,确定更新后的页面配置信息中相较于目标页面配置信息发生变化的变更元素单元的变更标识信息和变更信息内容,终端可以按照前文论述的方法,根据变更标识信息,获得该变更标识信息对应的布局数据,从而根据该布局数据以及变更信息内容,生成变更元素单元,进而根据变更元素单元以及目标元素单元,从而生成刷新后的目标页面。更新后的页面配置信息中相较于目标页面配置信息发生变化具体可以有多种情况,下面分别说明:[0183]一、更新后的页面配置信息中相较于目标页面配置信息,新增了变更元素单元:[0184]在这种情况下,终端可以从更新后的页面配置信息中,获得新增的变更元素单元的标识信息和信息内容,从而生成该新增的变更元素单元,以在目标页面中的目标元素单元的基础上,增加该变更元素单元,从而获得刷新后的目标页面。与此同时,终端可以等比例缩小元素单元的大小,以保证目标元素单元以及变更元素单元均能正常显示。[0185]二、更新后的页面配置信息中相较于目标页面配置信息,减少了目标元素单元:[0186]在这种情况下,终端可以确定出减少的变更元素单元,从目标页面中删除该减少的变更元素单元,从而获得刷新后的目标页面。与此同时,终端可以等比例放大各元素单元的大小,以保证刷新后的目标页面能够显示剩余的目标元素单元。[0187]三、更新后的页面配置信息中相较于目标页面配置信息,新增了变更元素单元,并减少了目标元素单元:[0188]这种情况下,终端可以按照前文论述的方法,生成新增的变更元素单元,并从目标元素单元中删除减少的目标元素单元,从而根据新增的变更元素单元,以及剩余的目标元素单元,生成刷新后的目标页面。其中,新增的变更元素单元,以及减少的目标元素单元的数量可以是相同的,这种情况下,终端可以按照更新后的页面配置信息中的各个元素单元的尺寸进行正常显示即可。[0189]作为一种实施例,如前面论述的内容,终端通过对象关联设置(objc_setassociatedobject)函数将包括调用的各个方法的布局数据与对应的目标元素单元的目标标识信息进行关联,为了简化终端的页面生成过程,在额本技术实施例中,在生成新的页面时,如果需要生成之前已经生成过的目标元素单元时,终端通过objc_getassociatedobject函数动态取出该目标元素单元对应布局数据,以快速生成相应的目标元素单元。[0190]例如,请继续参照图4b所示的例子,当用户在图4b所示的目标页面进行上滑操作时,终端可以对该目标页面进行刷新操作,进而生成如图8所示的刷新后的目标页面,相较于目标页面,该刷新后的目标页面少了目标页面中的第一个元素单元,而新增如图8所示的第三元素单元800。[0191]为了更清楚地说明本技术实施例中的页面生成方法,请参照图9,为图2a中终端与服务器之间的交互过程图,该交互过程具体包括:[0192]s901,终端获取服务器下发的元素单元配置信息。[0193]元素单元配置信息的含义,以及终端获取元素单元配置信息的时机可以参照前文论述的内容,此处不再赘述。[0194]s902,终端关联保存元素单元配置信息中的标识信息和布局数据。[0195]标识信息和布局数据的含义、关联保存标识信息和布局数据的方式可以参照前文论述的内容,此处不再赘述。[0196]s903,终端根据页面生成操作,生成页面生成请求。[0197]页面生成操作、页面生成请求的含义可以参照前文论述的内容,此处不再赘述。[0198]s904,终端将页面生成请求发送给服务器。[0199]s905,终端接收服务器发送的目标页面配置信息。[0200]目标页面配置信息的含义、生成目标页面配置信息的方式可以参照前文论述的内容,此处不再赘述。[0201]s906,终端根据目标页面配置信息中的目标标识信息,获取对应的布局数据。[0202]获取布局数据的方式可以参照前文论述的内容,此处不再赘述。[0203]s907,终端根据布局数据和信息内容,生成目标元素单元。[0204]生成目标元素单元的方式可以参照前文论述的内容,此处不再赘述。[0205]s908,终端根据目标元素单元,生成目标页面。[0206]生成目标页面的方式可以参照前文论述的内容,此处不再赘述。[0207]s909,终端显示目标页面。[0208]在图9论述的实施例中,终端可以从服务器直接获得新类型的元素单元的元素单元配置信息,并根据该元素单元配置信息,对新类型的元素单元的标识信息和布局数据进行关联,后续在需要加载页面时,终端可以直接查找页面中元素单元对应的布局数据,从而基于布局数据,生成相应的元素单元,使得无需对终端中应用程序进行更新,便可以加载和显示新类型的元素单元,提高了页面生成的效率。由于无需对应用程序进行发版,从而节省了开发人员的人力,提升开发效率。[0209]为了更清楚地说明本技术实施例涉及的页面生成方法,下面以终端执行页面生成方法,元素单元为单元格,生成feed流页面为例,结合图10所示的页面生成方法的流程图,对本技术实施例中的页面生成方法进行示例介绍:[0210]s1001,启动应用程序。[0211]s1002,终端加载单元格的单元格配置信息。[0212]终端在本次启动应用程序后,可以加载之前已经获得的单元格配置信息。[0213]s1003,终端从服务器获得新的单元格配置信息,并关联保存新类型的单元格的标识信息和布局数据。[0214]新的单元格配置信息,以及关联保存的方式可以参照前文论述的内容,此处不再赘述。[0215]s1004,终端根据对应的布局数据以及信息内容,生成单元格。[0216]终端可以获得目标页面配置信息,根据目标页面配置信息,从已关联保存的布局数据中,获得相应的布局数据,进而生成单元格。生成单元格的具体方式可以参照前文生成元素单元的内容,此处不再赘述。[0217]例如,终端可以利用在获得对应的布局数据之后,可以通过methodswizzling生成单元格。生成单元格的具体方式可以参照前文生成元素单元的内容,此处不再赘述。[0218]s1005,终端显示feed流页面。[0219]在图10所示的实施例中,终端可以从服务器提前获得feed流页面中的新类型单元格的布局数据,在加载feed流页面时,直接根据页面配置文件,获取相应的布局数据,从而根据布局数据生成相应的单元格,进而生成目标页面,如此一类,终端无需更新应用程序,便于显示新类型的feed流页面,以提高生成feed流页面的效率。[0220]基于与上述页面生成方法的相同发明构思,本技术实施例提供一种页面生成装置,该装置设置于终端中,该终端中安装有应用程序,请参照图11,该装置包括:[0221]布局数据注册模块1101,用于每接收到服务器下发的新的元素单元配置信息,将新的元素单元配置信息中包含的新类型的元素单元的标识信息和布局数据,进行关联保存,元素单元为用于生成页面的基础单元;[0222]页面配置信息获得模块1102,用于响应于在应用程序上触发的页面生成操作,获得相应的目标页面配置信息,其中,目标页面配置信息包括用于生成目标页面的目标元素单元的目标标识信息,以及目标元素单元关联的信息内容,目标元素单元包括新类型的元素单元中的至少一种;[0223]页面生成模块1103,用于基于目标标识信息,获取目标元素单元对应的布局数据;基于目标元素单元的布局数据和信息内容,生成目标元素单元;基于目标元素单元,生成目标页面。[0224]在一种可能的实施例中,页面配置信息获得模块1102具体用于:[0225]响应于页面生成操作,向服务器发送页面生成请求;[0226]若接收到服务器反馈的新页面配置信息,则将新页面配置信息作为目标页面配置信息,以及基于新页面配置信息对本地缓存中记录的历史页面配置信息进行替换;[0227]若未接收到服务器反馈的新页面配置信息,则将本地缓存中记录的历史页面配置信息作为目标页面配置信息。[0228]在一种可能的实施例中,新的元素单元配置信息中包含新类型的元素单元关联的多个布局数据,以及每个布局数据对应的布局数据标识,目标页面配置信息中还包括目标元素单元对应的目标布局数据标识;页面配置信息获得模块1102具体用于:[0229]基于目标标识信息和目标布局数据标识,获得与目标元素单元对应的布局数据。[0230]在一种可能的实施例中,与目标元素单元对应的布局数据包括目标元素单元对应的目标视图类,目标视图类定义了目标元素单元支持展示的页面元素种类,信息内容包括目标元素单元中的各个页面元素对应的页面元素数据;页面生成模块1103具体用于:[0231]根据信息内容,确定目标元素单元中的每类页面元素的数量;[0232]将目标元素单元中各类页面元素的数量输入目标视图类中,分别创建相应数量的页面元素;memory),例如只读存储器,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid‑statedrive,ssd)、或者存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以是上述存储器的组合。[0248]处理器1201,用于调用存储器1202中存储的计算机程序时执行前文论述的任一页面生成方法。该处理器1201还可以用于实现前文中终端的功能,或者用于实现前文中图11所示的装置的功能。[0249]基于同一发明构思,本技术实施例提供一种计算机存储介质,该计算机存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的任一的页面生成方法。[0250]本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd‑rom、光学存储器等)上实施的计算机程序产品的形式。[0251]基于同一发明构思,本技术实施例提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的页面生成方法。[0252]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read‑onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0253]或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。[0254]显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献