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

信息展示方法、装置、设备及存储介质与流程

2021-12-07 21:32:00 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种信息展示方法、装置、设备及存储介质。


背景技术:

2.随着前端技术的飞速发展,用于应用开发的技术框架多种多样,例如vue、小程序、react、sea.js等等,由于每个框架的开发语言和开发规则不一样,因而,不同的框架在实现某个页面功能时,采用的开发方式是不一样的,每种框架对应不同的封装方式,每种页面功能在不同的框架上使用时均需要重新开发。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:对于页面中信息展示的分页功能,vue分页采用的是vux的scroller组件、react分页采用的是iscroll组件、小程序分页采用的是scroll-view组件,虽然各个组件在各自的技术框架内使用都很方便,但是框架之间的信息展示等页面功能无法通用,因而,相同的信息展示等页面功能在不同的框架上实现时,需要分别开发,存在研发资源浪费和耗时的问题。


技术实现要素:

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.所述处理模块,具体用于通过发送模块向目标系统的服务器发送内容获取请求,所述内容获取请求携带所述目标页面的标识和理论数据量,通过接收模块接收所述服务器发送的待展示数据,所述待展示数据是需要在所述目标页面上展示的所述理论数据量的数据。
43.可选的,所述处理模块,还用于将所述待展示数据依次添加至数组目录中,所述数组目录是在接收到所述内容展示请求时创建的用于依次存储目标数据的目录。
44.在第二方面的再一种可能设计中,所述获取模块,还用于在获取当前页面的待展示数据之前,获取内容展示请求,所述内容展示请求包括:关键字,基于所述关键词与目标系统的服务器进行交互,获取所述内容展示请求对应的目标数据总量。
45.第三方面,本技术实施例提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面及各可能设计所述的方法。
46.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面及各可能设计所述的方法。
47.本技术实施例提供的信息展示方法、装置、设备及存储介质,通过获取当前页面的待展示数据,通过监控设备视图窗中的用户操作行为,获取当前页面的已展示数据量,进而根据已展示数据量、每个页面的理论展示数据量,对内容展示请求对应的目标数据进行分页展示。该技术方案中,通过监控用户操作行为获取每个页面的待展示数据,而且该方法不区分框架语言,可以直接应用到多个不同的框架,无需重新开发,解决了现有技术中由于框架不通用导致的资源浪费和耗时的问题。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
49.图1为本技术实施例提供的信息展示方法的应用场景示意图;
50.图2为本技术实施例提供的信息展示方法实施例一的流程示意图;
51.图3为本技术实施例提供的信息展示方法实施例二的流程示意图;
52.图4为基于当前页面的滚动高度和设备视图窗表征当前页面的已展示高度的示意图;
53.图5为本技术实施例提供的信息展示方法实施例三的流程示意图;
54.图6为本技术实施例提供的信息展示装置实施例的结构示意图;
55.图7为本技术实施例提供的计算机设备实施例的结构示意图。
56.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
57.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
58.首先对本技术实施例所涉及的名词进行解释:
59.vue(类似于view)是一套用于构建用户界面的渐进式javascript框架,其被设计为可以自底向上逐层应用,vue的核心库只关注视图层,方便与第三方库或既有项目整合。
60.react使用javascript库来构建用户界面,其基于在数据模型之上声明式指定用户界面的理念,用户界面会自动与底层数据保持同步。
61.sea.js是一个遵循commonjs规范的模块加载框架,可用来加载任意javascript模块,sea.js支持的标准模块遵循modules/wrappings规范的define形式,可运行于web浏览器以及node.js等环境中。
62.h5是指第5代html,也指用h5语言制作的一切数字产品。
63.下面对本技术实施例的应用背景进行解释说明。
64.随着计算机技术的飞速发展,开发应用技术的框架多种多样,例如,vue、小程序、react、sea.js等,但是随着多种框架技术的出现,页面中常用的技术分别做了自己单独的封装方法,以页面的分页功能为例,vue分页功能有vux的scroller组件、react分页功能有iscroll组件、小程序分页功能有scroll-view组件,各个组件在自己相对应的技术框架内使用都很方便,但是一旦涉及到跨框架,就不适用了。
65.示例性的,div是h5和vue使用的代码,view是react和taro使用的代码,每一个前端框架的开发语言和开发规则不一样,因而,不同的框架在实现页面某一个功能时,不同的功能对应的开发方式不一样。例如,当研发人员在react上开发过一个分页功能,突然需要在vue项目上也做一个相似的功能,目前的做法是针对不同的框架,需要重新拿自己代码语言进行重新开发,这样则会存在研发资源浪费和耗时的问题。
66.在实际应用中,对于分页功能,为了解决不同框架不通用导致研发资源浪费和耗时的问题,发明人发现:由于各个前端框架都是javascript衍生出来的各种框架体,即不同的框架都是javascript的衍生物,本技术实施例可以运用浏览器和javascript最基本的监控方法以及根据实践总结得到的分页判断条件解决上述技术问题。上述即为本技术的技术构思。
67.在本技术实施例提供的信息展示方法可以应用于客户端(即终端设备),即在客户端进行用户操作的判断,在需要进行分页时,需要从服务端获取下一页的数据,然后追加到当前数据的下方,所以,当用户在页面上滑操作过程中会发现,页面一直滑动一直会有数据
展示出来,例如,某个电商平台首页中的为你推荐,用户的订单列表、售后列表等。可选的,当数据请求完成,在滑动页面就触底了,这时数据最下面一般会提示用户已记载完成或者显示一个app的logo等。
68.综上可知,本技术实施例提供的信息展示方法,通过获取当前页面的待展示数据,通过监控设备视图窗中的用户操作行为,获取当前页面的已展示数据量,进而根据已展示数据量、每个页面的理论展示数据量,对内容展示请求对应的目标数据进行分页展示。该技术方案中,通过监控用户操作行为获取每个页面的待展示数据,而且该方法不区分框架语言,可以直接应用到多个不同的框架,无需重新开发,解决了现有技术中由于框架不通用导致的资源浪费和耗时的问题。
69.示例性的,图1为本技术实施例提供的信息展示方法的应用场景示意图。如图1所示,该应用场景可以包括终端设备11和目标系统的服务器12。其中,该终端设备11具有设备视图窗110,用户可以通过该设备视图窗110发出内容展示请求,终端设备11在获取到该内容展示请求后,通过与服务器12进行交互,确定该内容展示请求对应的目标数据量。
70.可以理解的是,终端设备11与服务器12交互过程中,终端设备11可以向服务器12发送每个页面的理论展示数据量,这样服务器12向终端设备11反馈内容展示请求对应的目标数据量时,还可以将首个页面的待展示数据发送给终端设备11,以便终端设备11在设备视图窗110内进行依次展示。
71.示例性的,参照图1所示,终端设备11的设备视图窗110的高度可以大于或等于每个页面的高度,例如,每个页面的理论展示数据量为10条数据,设备视图窗110可以同时展示4条数据,这样其他的6条数据可以在页面的滚动过程中进行依次展示。
72.关于终端设备在通过设备视图窗展示完某个页面的数据后,如何进行分页展示可以参见下述具体实施例中的记载,此处不再赘述。
73.在本技术的实施例中,该终端设备可以是手机、平板等移动终端,也可以是其他具有视图窗的服务终端等。本技术实施例并不对终端设备的具体表现形式进行限定,其可以根据实际场景确定,此处不再赘述。
74.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
75.图2为本技术实施例提供的信息展示方法实施例一的流程示意图。该方法可以应用于图1所示场景中的终端设备。如图2所示,该方法可以包括如下步骤:
76.s201、获取当前页面的待展示数据。
77.在本技术的实施例中,终端设备需要通过设备视图窗展示和/或呈现数据时,首先确定出当前页面的标识,然后再通过与服务器交互获取当前页面的待展示数据。
78.可以理解的是,不同页面的数据获取时机可能不同,主要体现在内容展示请求的首个页面和首个页面之后的任意一个页面。
79.例如,若当前页面为内容展示请求的首个页面,则终端设备可以在向服务器发送内容展示请求时携带每个页面的理论展示数据量,这样服务器向终端设备反馈目标数据总量时可以一同反馈首个页面的待展示数据。若当前页面为首个页面之后的任意一个页面,终端设备可以在前一个页面的数据展示完成时,通过向服务器发送当前页面的标识,以便
服务器根据当前页面的标识,确定出当前页面要展示的数据后,再将其发送给终端设备,以使得终端设备可以获取到当前页面的待展示数据。
80.示例性的,在本技术的实施例中,在该步骤s201之前,该方法还可以包括如下步骤:
81.a1、获取内容展示请求,该内容展示请求包括:关键字。
82.可选的,在用户浏览某个网站时,若需要请求展示某些内容,则可以通过设备视图窗发出内容展示请求。例如,在设备视图窗的搜索框中输入关键字,从而发出内容展示请求,或者,在设备视图窗中基于提示信息通过语音方式请求搜索关键字的相关内容的方式发出内容展示请求。相应的,终端设备可以获取到包括关键字的内容展示请求。
83.可理解,本技术实施例并不限定用户发出内容展示请求的方式,其可以根据实际应用场景确定,此处不再赘述。
84.a2、基于上述关键词与目标系统的服务器进行交互,获取该内容展示请求对应的目标数据总量。
85.示例性的,终端设备通过对获取到的内容展示请求进行分析,可以确定用于搜索的关键字,进而可以将该关键字发送给目标系统的服务器,以便该服务器可以基于该关键字在目标系统中查询与该关键字相关的目标数据以及目标数据总量(例如,目标数据总条数),进而将该目标数据总量反馈给终端设备。
86.可选的,终端设备向服务器发送关键字时,还可以同时发送每个页面的理论展示数据量,这样,服务器向终端设备反馈上述内容展示请求对应的目标数据总量时,还可以向将首个页面的待展示数据发送给终端设备,因而,终端设备还可以通过设备视图窗依次呈现首个页面的待展示数据。
87.可理解,内容展示请求对应目标数据在各个页面上的排布顺序可以是基于预设的规则确定的,例如,相关性由强到弱的顺序,时间由近及远的顺序等。本技术实施例并不限定每个页面上数据的排布顺序,其可以根据实际场景确定,此处不再赘述。
88.s202、通过监控设备视图窗中的用户操作行为,获取当前页面的已展示数据量。
89.可选的,在本技术的实施例中,当终端设备通过设备视图窗展示目标数据时,此时可以监控设备视图窗中的用户操作作为,监测用户是否对设备视图窗中的数据进行了操作,例如,上滑、下滑等滚动操作,点击等预览操作。因而,终端设备可以基于监控的结果,再结合设备视图窗的可见区域高度信息,确定出当前页面的滑动高度和当前页面的当前展示高度,进一步的,再结合每条数据的高度,可以确定出当前页面的已展示数据量。
90.在实际应用中,设备视图窗的滚动还可以基于每条数据的高度为基准,这样,终端设备可以根据向上滚动的数据量和设备视图窗可展示的数据量,确定出当前页面的已展示数据量。
91.s203、根据已展示数据量、每个页面的理论展示数据量,对内容展示请求对应的目标数据进行分页展示。
92.在本技术的实施例中,终端设备根据每个页面的已展示数据量和每个页面的理论展示数据量,能够确定出当前页面的数据是否展示完毕,在当前页面的数据展示完毕时,可以向目标系统的服务器发送请求以获取下一个页面的待展示数据,以便在获取到下一个页面的待展示数据后,排放在当前页面的最后一条数据的后面,以实现目标数据的连续展示。
93.可选的,终端设备可以根据内容展示请求对应的目标数据的总数据量确定展示所有目标数据所需的页面数量,进而在前一个页面对应的待展示数据全部展示完时,再向目标系统的服务器请求获取下一个页面的待展示数据,并在设备视图窗中进行展示,即实现了对内容展示请求对应的目标数据进行的自动分页展示。
94.本技术实施例提供的信息展示方法,通过获取当前页面的待展示数据,通过监控设备视图窗中的用户操作行为,获取当前页面的已展示数据量,进而根据已展示数据量、每个页面的理论展示数据量,对内容展示请求对应的目标数据进行分页展示。该技术方案中,通过监控用户操作行为获取每个页面的待展示数据,而且该方法不区分框架语言,可以直接应用到多个不同的框架,无需重新开发,解决了现有技术中由于框架不通用导致的资源浪费和耗时的问题。
95.在上述实施例的基础上,图3为本技术实施例提供的信息展示方法实施例二的流程示意图。如图3所示,上述s202可以通过如下步骤实现:
96.s301、通过监控设备视图窗中的用户操作行为,获取当前页面的滚动高度。
97.在本技术的实施例中,终端设备一旦进入内容展示请求对应的当前页面,在当前页面中的内容(当前页面的待展示数据)全部展示出来之前就开始监控设备视图窗的中页面滚动,例如,执行监控页面滚动的方法,比如:window.addeventlistener('scroll',this.handlescroll.bind(this))。
98.可选的,在监控到设备视图窗中有用户滑动页面使得页面向上滚动时,终端设备可以获取当前页面的滚动高度。示例性的,在handlescroll方法内,获取页面滚动条高度,也即,当前页面中从设备视图窗的顶部滚动出去,不再在设备视图窗中展示的数据高度。
99.在实际应用中,由于各浏览器的框架不同,各浏览器下的scrolltop具有一定的差异,例如,有的支持document.body.scrolltop,有的支持document.documentelement.scrolltop,因而,为了提高浏览器之间的兼容性,终端设备获取当前页面的滚动条高度方法为:
100.scrolltop=event.srcelement.body.scrolltop||document.body.scrolltop||document.documentelement.scrolltop;
101.其中,||是或运算,上式表示:如果event.srcelement.body.scrolltop有值,则scrolltop的取值等于event.srcelement.body.scrolltop的值,如果event.srcelement.body.scrolltop没有值,则获取document.body.scrolltop的值,若document.body.scrolltop有值,则scrolltop的取值等于document.body.scrolltop的值,若document.body.scrolltop也没有值,则scrolltop的取值等于document.documentelement.scrolltop的值。
102.具体的,在ie浏览器中,对于没有doctype(文本类型)声明的页面,使用document.body.scrolltop或document.documentelement.scrolltop获取滚动条的高度,对于具有doctype(文本类型)声明的页面,使用document.documentelement.scrolltop获取滚动条的高度。在chrome、firefox浏览器中,对于没有doctype声明的页面,使用document.body.scrolltop获取scrolltop的高度;对于有doctype声明的页面,则使用document.documentelement.scrolltop获取scrolltop高度。在safari浏览器中,safari使用自身内部设置的window.pageyoffset获取scrolltop。
103.因而,为了兼容所有浏览器,在获取页面向上滚动出设备视图窗的可见区域时,可以定义滚动高度的定义为:scrolltop=event.srcelement.body.scrolltop||document.body.scrolltop||document.documentelement.scrolltop。其中,event.srcelement.body.scrolltop表示当前页面的这个事件源的滚动高度,document.body.scrollwidth表示网页正文全文高,document.documentelement.scrolltop表示获取滚动条位置。
104.s302、根据设备视图窗的可见区域高度和当前页面的滚动高度,确定当前页面的已展示高度以及已展示高度对应的已展示数据量。
105.可选的,终端设备根据内部的预置信息,可以确定出设备视图窗的可见区域高度,再结合上述s301确定的当前页面的滚动高度,通过对设备视图窗的可见区域高度和当前页面的滚动高度进行求和,能够得到当前页面的已展示高度,然后再结合每条数据的高度,能够计算出已展示高度对应的已展示数据量。
106.示例性的,图4为基于当前页面的滚动高度和设备视图窗表征当前页面的已展示高度的示意图。如图4所示,当前页面的滚动高度为数据1至数据m对应的高度,设备视图窗的可见区域高度为数据m 1至数据n对应的高度,因而,当前页面的已展示高度为数据1至数据n对应的高度。
107.可选的,图4还示出了当前页面的总高度,即当前页面的总高度为数据1至数据n对应的高度。在实际应用中,终端设备继续监控用户的操作行为,数据m等数据可以滚动出设备视图窗,相应的,数据n 1至数据n可以展示在设备视图窗中。
108.本技术实施例提供的信息展示方法,通过监控设备视图窗中的用户操作行为,获取当前页面的滚动高度,根据设备视图窗的可见区域高度和当前页面的滚动高度,确定当前页面的已展示高度以及已展示高度对应的已展示数据量。该技术方案中,通过获取当前页面的滚动高度,再结合设备视图窗的可见区域高度,能够准确确定出当前页面的已展示数据量,为后续分析是否进行分页奠定了基础。
109.在上述实施例的基础上,图5为本技术实施例提供的信息展示方法实施例三的流程示意图。如图5所示,上述s203可以通过如下步骤实现:
110.s501、判断已展示数据量是否大于或等于每个页面的理论展示数据量,得到第一结果。
111.在本技术的实施例中,终端设备确定出当前页面的已展示数据量后,将其与预设的每个页面的理论展示数据量进行比较,得到第一结果。可选的,第一结果包括:已展示数据量大于或等于每个页面的理论展示数据量、已展示数据量小于每个页面的理论展示数据量。
112.其中,在已展示数据量大于或等于每个页面的理论展示数据量时,表明当前页面对应的待展示数据已经被完全展示,此时满足分页的第一个条件。在已展示数据量小于每个页面的理论展示数据量时,表明当前页面对应的待展示数据还有部分未被展示,此时可以继续监控设备视图窗中的用户操作行为,直到当前页面对应的数据被完全展示。
113.示例性的,终端设备还可以将当前页面的已展示高度(即当前页面的滚动高度与设备视图窗的可见区域高度的和)与当前页面的总高度进行对比,得到第一结果。在当前页面的已展示高度大于或等于当前页面的总高度时,确定当前页面对应的待展示数据已经被
完全展示。在当前页面的已展示高度小于当前页面的总高度时,确定当前页面对应的待展示数据还有部分未被展示。
114.示例性,在本技术的实施例中,页面的总高度可以用如下形式表示:scrollheight=document.documentelement.scrollheight。
115.s502、判断当前页面和当前页面之前的所有页面已展示的数据总量是否小于目标数据总量,得到第二结果。
116.在本技术的实施例中,终端设备在执行分页之前,首先还需要获取当前页面和当前页面之前的所有页面已经展示的数据总量,即将当前页面和当前页面之前的所有页面已展示的数据量求和,得到内容展示请求对应的已展示数据量,其次,将内容展示请求对应的已展示数据量与内容展示请求对应的目标数据总量进行比较;若当前页面和当前页面之前的所有页面已展示的数据总量小于目标数据总量,则需要请求下一个页面的数据;若当前页面和当前页面之前的所有页面已展示的数据总量大于或等于目标数据总量,则表明内容展示请求对应的目标数据全部展示完毕,无需再进行分页。
117.s503、根据当前页面的最后一条数据所处的位置,确定预置触底参数的取值。
118.在本技术的实施例中,终端设备实时获取当前页面的最后一条数据所处的位置,若当前页面的最后一条数据位于设备视图窗的底部,表明当前页面的数据已经全部展示,需要请求下一个页面的数据,若当前页面的最后一条数据未处于设备视图窗的底部,表明当前页面的数据未全部展示,还无需请求下一个页面的数据。
119.示例性的,有上述分析可知,在当前页面的最后一条数据位于设备视图窗的底部时,可以将预置触底参数的取值置为真,此时满足分页的第二个条件。在当前页面的最后一条数据未处于设备视图窗的底部时,确定预置触底参数的取值为假,不执行分页操作。
120.可选的,在当前页面滚动到要执行分页的位置(满足分页的第一条件)时,并且当前页面条数小于总条数(满足分页的第二条件),此时会出现一个问题,即,由于第一条件和第二条件的结果可能一直为真(true),这时会致使scrolltolower()方法被多次重复执行,为了避免这种问题的发生,通过在终端设备的页面初始化生命周期中设置一个触底参数(isreachbottom参数),该触底参数的初始值为假(false),作为开关来避免重复请求数据。因而,通过控制该触底参数的取值状态可以很好的掌握请求分页的时机,从而避免重复请求数据。即,在确定需要分页时,才将预置触底参数的取值置为真,否则确定预置触底参数的取值为假。
121.s504、在第一结果、第二结果和预置触底参数的取值均为真时,请求目标数据中的未展示数据,并在目标页面内进行展示。
122.示例性的,终端设备在确定当前页面的已展示数据量大于或等于每个页面的理论展示数据量,且当前页面和当前页面之前的所有页面已展示的数据总量小于目标数据总量,且预置触底参数的取值均为真时,才请求目标数据中的未展示数据,也即请求当前页面之后的下一个页面的数据。
123.例如,当前页面的滚动高度 设备视图窗的可见区域高度>=当前页面的总高度scrollheight&&!isreachbottom&&当前页面和当前页面之前的所有页面已展示的数据总量<目标数据总量的条件为true时,执行scrolltolower()方法,并将isreachbottom设为true,此时,终端设备才执行请求目标数据中的未展示数据的方案。
124.可选的,如果当前页面和当前页面之前的所有页面的总请求条数已经大于或等于目标数据总量,则就停止执行,否则继续执行,并将分页的页码加1,然后进行下一页的数据请求。
125.例如,终端设备在每次进行数据请求时,均会判断当前页面和当前页面之前的所有页面的请求条数是否大于等于数据总条数,如果判断结果为true,就在页面数据最下面显示“已经全部加载完毕”的文字提示。
126.在本技术实施例的s504中,请求目标数据中的未展示数据的方案可以如下:
127.终端设备向目标系统的服务器发送内容获取请求,该内容获取请求携带目标页面的标识和理论数据量。
128.接收服务器发送的待展示数据,待展示数据是需要在目标页面上展示的理论数据量的数据。
129.具体的,终端设备确定需要请求下一页的数据时,首先向目标系统的服务器发送携带有目标页面的标识和理论数据量的内容获取请求,以使得该服务器根据接收到的目标页面的标识获取该目标页面的待展示数据,且待展示数据的数据量等于理论数据量的大小。
130.进一步的,在本技术的实施例中,为了提高用户的体验,终端设备的设备视图窗中目标数据的展示是连续的,因而,在请求目标页面的待展示数据之后,该信息展示方法还可以包括如下步骤:
131.s505、将待展示数据依次添加至数组目录中,该数组目录是在接收到内容展示请求时创建的用于依次存储目标数据的目录。
132.在本技术的实施例中,终端设备中预先创建有用于顺序存储数据的数组目录。当终端设备获取到待展示数据后,可以依次将其存储至该数组目录中,也即,将让新请求的页面数据追加到之前分页获取的数据之后,以便得到在展示时,用户在页面中看到的数据是连续的。
133.在实际应用中,具有如下具体定义:页面目录pagelist=请求的数据目录list结果,数组目标list=pagelist?list.concat(pagelist):list。其中,pagelist和list是自己定义的变量名称,这个名称是可以变的,示例性的,pagelist指当前操作分页获取到的页面展示数据,比如,一个用户他有30条订单,当他查看订单列表的时候,如果一页10条展示,那所有数据需要进行3次分页查询才能全部展示出来,第一页的10条数据,第二页的10条数据,第3页的10条数据,这些数据都是pagelist的数据,这些数据顺序存储起来就是list代表总数据。list=pagelist?list.concat(pagelist):list,表示:如果pagelist有值,则把pagelist追加到list后面,如果pagelist没有值,list等于本身。
134.本技术实施例提供的信息展示方法,通过判断已展示数据量是否大于或等于每个页面的理论展示数据量,得到第一结果,判断当前页面和当前页面之前的所有页面已展示的数据总量是否小于目标数据总量,得到第二结果,根据当前页面的最后一条数据所处的位置,确定预置触底参数的取值,进而在第一结果、第二结果和预置触底参数的取值均为真时,请求目标数据中的未展示数据,并在目标页面内进行展示。该技术方案中,基于当前页面的已展示数据量、所有页面已展示的数据量以及触底参数的取值共同确定是否进行分页,能够有效避免重复请求,为后续终端设备的分页显示奠定了基础。
135.下面以一个具体的例子对本技术的实施例进行介绍。
136.示例性的,假设用户a请求显示订单数据,且终端设备从服务器接收到的订单量为30条,若每个页面展示10条,则需要请求3页数据,即通过3个页面展示30条数据。
137.可选的,当用户发出订单展示请求后,终端设备在请求订单总量时,同时能够得到第一个页面的数据并展示在设备视图窗中,在用户往上滑动页面浏览订单时,页面的滚动监听事件window.addeventlistener(

scroll’方法)就开始执行(浏览器都支持这个方法),进而计算是否达到请求下一页数据的条件,判断条件为:
138.1、页面滚动高度(用户向上滑动的高度)和设备视图窗的可视区域高度的之和是否大于或等于当前页面的总高度;
139.2、当前页面和当前页面的总数据条数是否小于数据总条数(30条),若是,则表明可以进行分页,若否,则表明数据请求完了,且都展示出来了,就没有请求分页的必要了;
140.3、当前两条都满足的时候,去请求分页的方法会有一个问题,就是会一直请求。因为当用户滑动页面触底,由于10条一直小于30条,该条件永远为真,这时,分页请求会一直发送,可能会请求到几十页,但是实际中只有3页数据,为了弥补这个判断逻辑的漏洞,可以设置一个触底参数(isreachbottom),当请求分页前设置为false,当满足分页条件时,将其立即设置为true,等到下一页分页数据请求出来之后,再将其设置为false,因而,在本技术的实施例中,分页操作的实现需要满足:当前页面的已展示数据大于或等于当前页面的总数据&&!isreachbottom为真&&当前页面即当前页面之前的所有页面的数据总条数小于订单展示请求对应的目标数据总量为true。
141.值得说明的是,在本技术的上述任意一个实施例中,该信息展示方法在每个框架的初始化生命周期内被执行。
142.具体的,将该信息展示方法对应的执行代码放到初始化生命周期内,即将window.addeventlistener(

scroll’方法)放到页面一开始就执行的方法内,这样监听才会执行。
143.示例性的,每个框架的初始化生命周期是不一样的,例如,对于h5,可以将该方法对应的执行代码写到onload方法里面内,对于react,可以将该方法对应的执行代码写到componentwillmount()方法内。对于vue,可以将该方法对应的执行代码写到created方法内,这些都是框架自己定义好的使用规则。因而,通过上述设置,该方法是基于移动端使用方式的通用性考虑的,页面代码div,view都支持,无需区分框架语言,vue、react、jquery等都适用,只需将执行代码放到每个框架内的初始化生命周期内就可以执行,实现了代码的通用性,避免了不同框架内的页面功能需要重复开发带来的研发资源浪费和耗时的问题。
144.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
145.图6为本技术实施例提供的信息展示装置实施例的结构示意图。参照图6所示,该装置可以包括:获取模块601、监控模块602和处理模块603。
146.其中,获取模块601,用于获取当前页面的待展示数据;
147.监控模块602,用于通过监控设备视图窗中的用户操作行为,获取所述当前页面的已展示数据量;
148.处理模块603,用于根据所述已展示数据量、每个页面的理论展示数据量,对内容
展示请求对应的目标数据进行分页展示。
149.示例性的,在本技术的一种可能设计中,监控模块602,具体用于通过监控设备视图窗中的用户操作行为,获取所述当前页面的滚动高度,根据所述设备视图窗的可见区域高度和所述当前页面的滚动高度,确定所述当前页面的已展示高度以及所述已展示高度对应的已展示数据量。
150.示例性的,在本技术的另一种可能设计中,处理模块603,具体用于:
151.判断所述已展示数据量是否大于或等于每个页面的理论展示数据量,得到第一结果;
152.判断所述当前页面和所述当前页面之前的所有页面已展示的数据总量是否小于所述目标数据总量,得到第二结果;
153.根据所述当前页面的最后一条数据所处的位置,确定预置触底参数的取值;
154.在所述第一结果、所述第二结果和所述预置触底参数的取值均为真时,请求所述目标数据中的未展示数据,并在目标页面内进行展示。
155.可选的,处理模块603,用于根据所述当前页面的最后一条数据所处的位置,确定预置触底参数的取值,具体为:
156.处理模块603,具体用于在所述当前页面的最后一条数据位于所述设备视图窗的底部时,将所述预置触底参数的取值置为真,在所述当前页面的最后一条数据未处于所述设备视图窗的底部时,确定所述预置触底参数的取值为假。
157.可选的,处理模块603,用于请求所述目标数据中的未展示数据,具体为:
158.处理模块603,具体用于通过发送模块向目标系统的服务器发送内容获取请求,所述内容获取请求携带所述目标页面的标识和理论数据量,通过接收模块接收所述服务器发送的待展示数据,所述待展示数据是需要在所述目标页面上展示的所述理论数据量的数据。
159.进一步的,处理模块603,还用于将所述待展示数据依次添加至数组目录中,所述数组目录是在接收到所述内容展示请求时创建的用于依次存储目标数据的目录。
160.示例性的,在本技术的再一种可能设计中,获取模块601,还用于在获取当前页面的待展示数据之前,获取内容展示请求,所述内容展示请求包括:关键字,基于所述关键词与目标系统的服务器进行交互,获取所述内容展示请求对应的目标数据总量。
161.上述装置用于实现前述方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
162.需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者
软件形式的指令完成。
163.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
164.图7为本技术实施例提供的计算机设备实施例的结构示意图。如图7所示,该计算机设备可以包括:处理器701、存储器702、通信接口703和系统总线704,存储器702和通信接口703通过系统总线704与处理器701连接并完成相互间的通信,存储器702用于存储计算机执行指令,通信接口703用于和其他设备进行通信,处理器701执行该计算机执行指令时实现如方法实施例所述的技术方案。
165.可选的,在本技术的实施例中,该计算机设备还可以包括显示界面705,该显示界面705可以用于显示请求的数据。
166.在该图7中,上述的处理器701可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
167.存储器702可能包含随机存取存储器(random access memory,ram),也可能包括只读存储器(read-only memory,ram),还可能包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
168.通信接口703用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。
169.系统总线704可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
170.可选的,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如上述方法实施例所述的技术方案。
171.可选的,本技术实施例还提供一种运行指令的芯片,所述芯片用于执行上述方法实施例所述的技术方案。
172.本技术实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,至少一个处理器可以从所述计算机可读存储介质读取
所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述方法实施例所述的技术方案。
173.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。
174.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
175.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
176.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

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

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

相关文献