CN115062249A - 一种导出页面方法、装置、电子设备及系统 - Google Patents
一种导出页面方法、装置、电子设备及系统 Download PDFInfo
- Publication number
- CN115062249A CN115062249A CN202210753208.5A CN202210753208A CN115062249A CN 115062249 A CN115062249 A CN 115062249A CN 202210753208 A CN202210753208 A CN 202210753208A CN 115062249 A CN115062249 A CN 115062249A
- Authority
- CN
- China
- Prior art keywords
- webview
- page
- client
- target page
- target
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种导出页面方法、装置、电子设备及系统,涉及计算机技术领域,有助于提升导出页面的效率,节省客户端开发资源。该方法应用于内嵌有网页视图webview的客户端,该方法包括:客户端接收针对webview的第一操作;其中,第一操作用于基于webview获取目标数据,目标数据用于生成目标页面;webview根据第一操作,向服务端发送页面数据请求消息;其中,页面数据请求消息包括目标数据的指示信息和目标页面的文件格式,指示信息用于指示目标数据;webview接收服务端发送的响应消息,响应消息用于获取目标页面;webview根据响应消息获取目标页面;客户端从webview获取目标页面。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种导出页面方法、装置、电子设备及系统。
背景技术
当前导出页面的方式有多种,针对客户端导出页面的方式通常为客户端处理部分业务逻辑,从服务端获取数据。在这种方式下,每个客户端与服务端的交互方式需要独立开发,以实现页面的导出。而该种页面导出方式的实现占用较多开发资源,导出效率较低。
发明内容
本申请实施例提供了一种导出页面方法、装置、电子设备及系统,有助于提升导出页面的效率,节省客户端开发资源。
为达到上述目的,本申请实施例提供如下技术方案:
第一方面,提供了一种导出页面方法,应用于内嵌有网页视图webview的客户端,该方法包括:客户端接收针对webview的第一操作;其中,第一操作用于基于webview获取目标数据,目标数据用于生成目标页面;webview根据第一操作,向服务端发送页面数据请求消息;其中,页面数据请求消息包括目标数据的指示信息和目标页面的文件格式,指示信息用于指示目标数据;webview接收服务端发送的响应消息,响应消息用于获取目标页面;webview根据响应消息获取目标页面;客户端从webview获取目标页面。
由于当前通常由服务端根据客户端发送的请求及页面生成方式,生成目标页面,再发送至客户端,以实现客户端导出页面,然而,上述方法在多个不同的客户端导出页面时,需要独立配置每个客户端与服务端,大大影响导出页面的效率。对此,本申请提出上述方法,客户端通过内嵌webview与服务端交互,实现页面的导出,有助于不同的客户端基于相同的内嵌方式实现页面的导出,从而节省对客户端与服务端的开发资源,提升页面导出效率。
在一种可能的实现方式中,当目标页面的文件格式为excel格式时,响应消息包含下载地址,所述下载地址为根据目标数据所生成的目标页面的下载地址,webview根据响应消息获取目标页面,包括:webview根据下载地址启动下载进程,获取目标页面,下载进程包含指示下载的消息头;客户端从webview获取目标页面,包括:客户端识别消息头,拦截下载进程,获取目标页面。
该种可能的实现方式,提供了导出excel文件时,webview根据服务端响应消息获取目标页面的具体实现方式,以及客户端从webview获取页面的具体实现方式,提升方案的可实施性。
在一种可能的实现方式中,当目标页面的文件格式为pdf格式或图片格式时,响应消息包含目标数据,webview根据响应消息获取目标页面,包括:webview根据目标数据生成目标页面。
该种可能的实现方式,提供了导出pdf文件或图片时,webveiw生成目标页面以实现导出目标页面的方式,通过在webview生成,有助于节省服务端资源,提升页面导出效率。
在一种可能的实现方式中,该方法还包括:webview接收第一指示消息,第一指示消息用于指示webview停止导出页面;webview根据第一指示消息,向客户端发送导出参数,其中,导出参数至少包括目标页面数和导出进度。
该种可能的实现方式中,提供了当用户关闭客户端或webview进程时,webview导出相关数据的具体实现方式,有助于避免页面导出中断时数据丢失,并且有利于后续重新启动webview时,为后续页面导出提供续传的相关参数。
在一种可能的实现方式中,该方法还包括:客户端重启webview;客户端向webview发送导出参数;webview接收导出参数,并根据导出参数继续进行导出,直至目标页面导出完成。
该种可能的实现方式中,提供了客户端自动续传的具体实现方式,有助于针对中断的页面导出过程,实现继续导出,从而提升导出页面的效率。
在一种可能的实现方式中,客户端内嵌有多个webview,多个webview分别具有唯一标识,该方法还包括:多个webview向客户端发送各自的唯一标识和对应的导出进度。
该种可能的实现方式中,提供了当客户端中内嵌有多个webview时,可以分别向客户端反馈导出进度,以便于客户端统一管理。
第二方面,提供了一种导出页面装置,应用于内嵌有网页视图webview的客户端,包括:第一接收单元,用于接收第一操作;其中,第一操作用于基于webview获取目标数据,目标数据用于生成目标页面;请求发起单元,用于根据第一操作,向服务端发起页面数据请求消息;其中,页面数据请求消息包括目标数据的指示信息和目标页面的文件格式,指示信息用于指示目标数据;第二接收单元,用于接收服务端发送的响应消息,响应消息用于获取目标页面;第一获取单元,还用于根据响应消息获取目标页面,以使所述webview获取到所述目标页面;第二获取单元,还用于从webview获取目标页面。
第三方面,提供了一种电子设备,包括:处理器和存储器。处理器与存储器连接,存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法。
第四方面,提供了一种导出页面系统,包括执行第一方面中任一项所述方法的客户端和服务端,该服务端用于向客户端发送响应消息,响应消息用于客户端获取目标页面。
第五方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行第一方面提供的任意一种方法。
第六方面,提供了一种计算机可读存储介质,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第七方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行第一方面提供的任意一种方法。
第二方面至第七方面中的任一种实现方式所带来的技术效果可参见第一方面中对应实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种页面导出系统的结构示意图;
图2为本申请实施例提供的一种导出页面装置的结构示意图;
图3为本申请实施例提供的一种页面导出方法的流程示意图;
图4为本申请实施例提供的一种页面导出方法的流程示意图;
图5为本申请实施例提供的一种电子设备的组成示意图。
具体实施方式
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例提供了一种导出页面系统,如图1所示,包括客户端和服务端,其中,客户端内嵌有网页视图webview。客户端是指,与服务端相对应,为客户提供本地服务的程序。其中,服务端可以为服务器。系统功能由客户端和服务端共同处理完成的网络结构模式为客户/服务模式(Client/Server,C/S)。其中,C表示客户端,S表示服务端。当前,通常基于客户端处理部分业务逻辑,服务端与客户端进行数据交互以导出文件。
其中,浏览器/服务器模式(Browser/Server,B/S)是一种特殊的C/S网络结构模式。浏览器作为客户端不进行业务处理,由服务端完成所有业务处理,有助于节省维护成本。webview通常用于软件开发过程中,嵌入浏览器,以实现在软件中运行浏览器,并完成数据的交互。
本申请实施例提供了一种导出页面方法,可应用于导出页面装置。本申请实施例对导出页面装置的具体形式不作任何限制。例如,导出页面装置具体可以是终端装置或电子设备。其中,终端装置或电子设备可以被称为:终端、用户设备(user equipment,UE)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置或电子设备具体可以是手机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等。
在硬件实现上,上述导出页面装置可以通过如图2所示的计算机设备实现。如图2所示,为本申请实施例提供的一种计算机设备20的硬件结构示意图。计算机设备20可以用于实现上述导出页面装置的功能。
图2所示的计算机设备20可以包括:处理器201、存储器202、通信接口203以及总线204。处理器201、存储器202以及通信接口203之间可以通过总线204连接。
处理器201是计算机设备20的控制中心,可以是一个通用中央处理单元(centralprocessing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为示例,处理器201可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
存储器202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器202可以独立于处理器201存在。存储器202可以通过总线204与处理器201相连接,用于存储数据、指令或者程序代码。处理器201调用并执行存储器202中存储的指令或程序代码时,能够实现本申请实施例提供的导出页面方法。
另一种可能的实现方式中,存储器202也可以和处理器201集成在一起。
通信接口203,用于计算机设备20与其他设备通过通信网络连接,该通信网络可以是以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口203可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线204,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图2中示出的结构并不构成对计算机设备20的限定,除图2所示部件之外,计算机设备20可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,为本申请提供的一种导出页面方法的流程图。该方法包括:
S301、客户端接收针对webview的第一操作。
其中,第一操作用于基于webview获取目标数据,该目标数据用于生成目标页面。
可选的,目标数据可以是目标表格数据,例如报表数据。
可选的,第一操作为用户在搜索框中设定搜索条件,该搜索条件用于webview向服务端请求对应的目标数据。
其中,搜索条件用于确定目标数据。示例性的,搜索条件为时间信息,webview根据该时间信息获取对应的目标数据,例如,时间信息为某一时间段,则webview请求该时间段内的目标数据,或者,时间信息为某个时间点,则webview请求该时间点的目标数据。
S302、webview根据第一操作,向服务端发送页面数据请求消息。
可以理解的是,该页面数据请求消息是根据上述搜索条件生成的。
可选的,页面数据请求消息包括目标数据的指示信息和目标页面的文件格式。其中,目标数据的指示信息用于指示目标页面中的数据,目标页面的文件格式包括excel格式、pdf格式或图片格式。另外,页面请求消息还可以包括客户端的当前页面的标识。
可以理解的是,能够指示目标数据的信息均可以作为目标数据的指示信息。例如,指示信息为上述搜索条件中的时间信息。
示例性的,webview向服务端发起excel格式或pdf格式的http请求,用于导出相应文件格式的目标页面。
S303、webview接收服务端发送的响应消息。
其中,该响应消息用于获取目标页面。具体实现方式包括以下两种。
第一种可能的实现方式,页面请求消息所请求生成的目标页面的文件格式为excel格式,响应消息包含下载地址。具体地,服务端根据页面请求消息,将当前页面生成excel文件,以及下载地址,也就是,服务端根据目标数据生成目标页面,再创建目标页面的下载地址;其中,该下载地址用于指示该excel文件在服务端的存储地址。服务端响应于webview发送的页面请求消息,向webview发送响应消息,该响应消息中包括该下载地址。
第二种可能的实现方式,页面请求消息所请求生成的目标页面的文件格式为pdf格式或图片格式,响应消息包含目标数据。具体地,服务端根据页面请求消息,获取目标数据。服务端响应于webview发送的页面请求消息,向webview发送响应消息,该响应消息中包括目标数据。
S304、webview根据响应消息,获取目标页面。
在上述第一种可能的实现方式中,当目标页面的文件格式是excel文件时,响应消息包括下载地址,步骤S304具体包括:webview根据所述下载地址启动下载进程,获取目标页面。其中,该下载进程包含指示下载的消息头。示例性的,webview拿到excel下载地址统一资源定位系统(uniform resource locator,URL)后,使用window.open(“URL”,”blank”),打开一个http网络链接,其中,该http网络链接的Content-Disposition消息头设置为attachment,该attachment消息头用于指示下载。webview通过该下载进程获取目标页面。
其中,window.open()是用指定的名称将指定的资源加载到浏览器上下文。如果没有指定名称,则一个新的窗口会被打开并且指定的资源会被加载进这个窗口的浏览器上下文中。Content-Disposition响应头指示回复的内容该以何种形式展示,是以网络视图的形式展示,或者以附件的形式下载并保存到本地。
在上述第二种可能的实现方式中,当目标页面的文件格式是pdf文件时,响应消息包括目标数据,步骤S304具体包括:webview根据目标数据生成目标页面,示例性的,包括以下步骤a-c。
a、webview使用Document.createDocumentFragment()在后台创建一个新的空白的文档片段,在这个文档片段内绘制目标数据。
b、webview通过html2canvas开源插件将对应的文档片段的内容生成canvas,再进行截图生成图片。
c、webview通过jspdf开源插件将png图片生成pdf文件。
可以理解的是,若目标页面的文件格式是图片格式时,webview通过上述步骤a和b即可实现图片的生成。本申请对于图片的格式不进行限制,例如,上述步骤b中图片的格式为png格式。
S305、客户端从webview获取目标页面。
在上述第一种可能的实现方式中,当目标页面的文件格式是excel文件时,步骤S305具体包括:客户端识别消息头,拦截下载进程,获取目标页面。示例性的,webview根据下载地址启动下载进程的过程中,客户端能够获取该下载进程中指示下载的消息头,通过识别该指示下载的消息头,进行拦截,以获取目标页面。
客户端从webview获取目标页面,即相当于是webview导出页面。客户端通过识别webview所启动的下载进程,进行拦截,实现获取导出的目标页面,当存在多个页面需要导出时,有助于客户端通过多个webview同步导出,客户端通过拦截下载进程获取多个目标页面,从而提升多个目标页面的导出效率。
可选的,客户端还可以根据上述下载进程获取下载路径。在上述第一种可能的实现方式之后,客户端修改目标页面的下载路径。
通过修改目标页面的下载路径,有助于根据用户需求将目标页面导出至具体的地址。
在上述第二种可能的实现方式中,当目标页面的文件格式是pdf格式时,在上述步骤c之后,还包括步骤d、webview将目标页面传递给客户端,相应地,客户端接收目标页面。具体地,webview通过Chromium嵌入式框架(Chromium Embedded Framework,CEF)将目标页面的pdf文件发送至客户端。其中,CEF是一个基于Google Chromium项目的开源Webbrowser控件,支持Windows,Linux,Mac平台。除了提供C/C++接口外,也有其他语言的移植版。CEF用于客户端与webview之间的数据传输。
可选的,在上述两种可能的实现方式之后,客户端修改目标页面的文件名。
由于当前通常由服务端根据客户端发送的请求及页面生成方式,生成目标页面,再发送至客户端,以实现客户端导出页面,然而,上述方法在多个不同的客户端导出页面时,需要独立配置每个客户端与服务端,大大影响导出页面的效率。对此,通过上述导出页面方法,客户端通过内嵌webview与服务端交互,实现页面的导出,有助于不同的客户端基于相同的内嵌方式实现页面的导出,从而节省对客户端与服务端的开发资源,提升页面导出效率。
本申请还提供了一种批量导出页面的实施例,具体地,批量导出页面包括在一个webview中多个页面的批量导出,以及在多个webview中多个页面的批量导出。
如图4所示,为一种在一个webview中实现多个页面批量导出的实施例。包括步骤S401-S405。
S401、客户端接收针对webview的第二操作。
其中,第二操作用于webview获取多个页面中的目标数据生成多个目标页面。
可选的,类似于第一操作,第二操作为用户在搜索框中设定搜索条件,该搜索条件用于webview向服务端请求对应的目标数据。
其中,搜索条件用于确定目标数据。可选的,搜索条件为多个页面所属设备的标识信息,以及多个页面的时间信息,webview根据该多个页面所属设备的标识信息以及多个页面的时间信息获取对应的目标数据。
S402、webview根据第二操作,向服务端发送页面数据请求消息。
S403、webview接收服务端发送的响应消息。
第一种可能的实现方式,页面请求消息所请求生成的目标页面的文件格式为excel格式,服务端根据页面请求消息,将多个页面生成多个excel文件,以及相应的下载地址,并将下载地址发送至webview。
第二种可能的实现方式,页面请求消息所请求生成的目标页面的文件格式为pdf格式。服务端根据页面请求消息获取多个目标数据,将多个目标数据作为一个数据集合发送至webview。
S404、webview根据响应消息,获取目标页面。
第一种可能的实现方式,当目标页面的文件格式是excel文件时,与上述步骤S304中的第一种可能的实现方式类似,不再赘述。
第二种可能的实现方式,当目标页面的文件格式是pdf文件时,由于webview接收服务端发送的数据集合中包括多个目标数据,webview将多个目标数据分别执行上述步骤a-c,实现生成多个pdf文件。
S405、客户端从webview获取目标页面。
具体地,与上述步骤S305中的第一种可能的实现方式和第二种可能的实现方式类似。
可选的,在上述步骤S304或S404的第二种可能的实现方式中,webview生成一个或多个pdf文件,并通过CEF将目标页面的pdf文件发送至客户端时,webview将一个或多个pdf文件的导出进度通过CEF传递至客户端。可以理解的是,webview生成一个目标页面的pdf文件并发送至客户端包括上述步骤a-d。示例性的,当webview需要生成并发送3个pdf文件时,每个文件都需要执行上述步骤a-d,因此,webview需要执行12次,才能完成所有pdf文件的导出。
具体地,当向客户端发送一个或多个pdf文件时,webview根据当前执行步骤次数m,以及目标页面数n,通过以下公式计算导出进度P:
P=m÷4÷n×100%
其中,m和n均为大于零的整数。
示例性的,当前执行步骤次数为14,目标页面数为4,则根据上述公式计算得到P为87.5%。
webview将导出进度与pdf文件通过CEF传递到客户端,用于向用户展示当前一个或多个pdf文件的导出进度。
通过上述步骤S401-S405,实现在一个webview中导出多个页面,其中,当多个页面为pdf文件时,还可以向用户展示文件导出进度,便于用户获取页面实时导出进度。
本申请还提供了一种在多个webview中实现多个页面批量导出的实施例。
具体地,客户端内嵌有多个webview,该多个webview分别包括一个或多个页面,具体实现过程与上述步骤S301-S305、S401-S405类似。
可选的,当多个webview导出页面为pdf格式时,每个webview将导出进度反馈至客户端。具体地,webview将唯一标识与相应的导出进度发送至客户端。其中,该唯一标识用于表示相应的webview。
通过上述方法实现客户端通过多个webview导出页面,其中还可以获取多个webview各自独立的导出进度,便于用户查找与更新。
可选的,针对导出pdf文件过程中发生中断时,本申请还提供了以下实施例。
具体地,当计算机设备执行上述步骤S304、S305、S404或S405过程中,导出pdf文件发生中断时,客户端接收用户的第三操作,该第三操作用于指示关闭客户端或webview。具体通过以下步骤S11-S13完成关闭。
S11、客户端向webview发送第一指示消息,该第一指示消息用于指示webview停止导出页面。相应地,webview接收第一指示消息。
可以理解的是,当第三操作用于指示关闭客户端时,由于webview内嵌于客户端,此时,需要关闭webview以及客户端。
S12、webview根据第一指示消息,向客户端发送导出。
相应地,客户端接收并保存导出参数至本地文件(Ifile)。
其中,该导出参数至少包括目标页面数n和导出进度P。
具体地,根据上述步骤S405中P的计算公式可知,通过P和n可以确定当前导出页面的个数。例如,n为3,P为25%,则n×P=3×25%=0.75,根据0.75的整数位可知当前导出页面的个数为0。类似地,n为4,P为50%,则n×P=4×50%=2,根据2的整数位可知当前导出页面的个数为2。
可选的,当计算上述n和P的乘积结果是整数时,导出参数中还包括剩余未导出页面的搜索条件,该搜索条件用于webview再次向服务端获取目标数据。
具体地,若n和P的乘积结果通过x来表示,则x的取值范围为x={0,1,……,n-1},表示当前有x个页面完成导出,并且有n-x个页面没有开始执行上述步骤a-d的生成与传输过程。例如,上述示例中,n为4,P为50%,则当前导出页面的个数为2,并且有2个页面没有开始导出。此时,webview若要进行继续导出后续第三个页面和第四个页面时,则需要向服务端重新获取第三个页面和第四个页面的目标数据,并分别执行上述步骤a-d,以完成导出。因此,在上述示例中,导出参数中的搜索条件为第三个页面和第四个页面的搜索条件。
可选的,当计算上述n和P的乘积结果不是整数时,导出参数中还包括上述步骤a-d的具体参数以及当前导出结果。
具体地,n和P的乘积结果x的取值范围为0<x<n,且x不是整数,表示当前至少有一个页面开始执行上述步骤a-d,但未完成步骤d。例如,上述示例中,n为3,P为25%,x=0.75,表示当前导出页面的个数为0,并且第一个页面正在导出。此时,导出参数中步骤a-d的具体参数为第一个页面的具体参数,通过下表1的方式表示:
表1、一种页面参数中步骤a-d的具体参数的示例
a | 1 |
b | 1 |
c | 0 |
d | 0 |
其中,步骤a-d分别对应的0或1用于表示该步骤执行与否。例如,0表示未执行该步骤,1表示已执行该步骤。在上述示例中,结合上表1可知,第一个页面应当已执行步骤a和b,若继续导出,则webview应该执行步骤c以及步骤d。其中,当前导出结果应当为执行上述步骤b的处理结果。
需要说明的是,上述剩余未导出页面的搜索条件,以及步骤a-d的具体参数和当前导出结果可以同时存在于导出参数中。如上述示例,n为3,P为25%,x=0.75,表示当前导出页面的个数为0,并且第一个页面正在导出。其中导出参数中还包括第二个页面和第三个页面的搜索条件,用于webview在完成第一个页面的导出后,获取第二个页面和第三个页面的目标数据,再进行导出。
S13、关闭webview。
在客户端接收到webview发送的导出参数并保存后,关闭webview。若第三操作指示关闭客户端,在步骤S13之后,还可以包括步骤S14、关闭客户端。
需要说明的是,若导出pdf文件过程中,webview接收用户的第三操作,则表示关闭当前webview,此时,客户端与webview只需要执行上述步骤S12-S13。
需要说明的是,本申请针对导出pdf文件的中断原因不进行限制,以上给出用户主动关闭webview或客户端两种示例。在具体实现过程中,若由于通信问题导致webview或客户端异常关闭时,客户端与webview也可以参照上述方式对相关参数进行保存,本申请对此不作限制。
可选的,当导出pdf文件发生中断后,客户端接收到用户的第四操作,该第四操作用于指示启动客户端或启动webview。具体地,包括以下步骤S21-S23。
S21、客户端在Ifile中查找是否有未完成的任务。
其中,该未完成的任务是指导出进度小于100%的目标页面。
S22、若存在未完成的任务,客户端重启webview,通过CEF将导出参数发送到webview。
相应地,webview接收导出参数。
需要说明的是,若第四操作指示启动webview,客户端可以通过CEF将导出参数直接发送到启动的webview中。
S23、webview根据导出参数继续进行导出,直至目标页面导出完成。
具体地,webview根据导出参数,确定未完成导出的页面,如上述步骤S12所述。
在上述示例中,n为3,P为25%,x=0.75,表示当前导出页面的个数为0,并且第一个页面正在导出。进一步地,webview获取导出参数中上述表1中的信息以及当前导出结果,继续执行步骤c和步骤d完成第一个页面的导出。进一步地,webview获取导出参数中的第二个页面和第三个页面的搜索条件,向服务端发起页面请求消息,获取目标数据,再执行执行后续的导出操作。
通过上述方法,有助于实现页面的批量导出,并且在导出中断后,能够保存导出进度,实现断点续传。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,导出页面装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对导出页面装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图5示出了上述实施例中所涉及的导出页面装置记为电子设备50的一种可能的结构示意图,该电子设备50包括客户端501和webview502。客户端501,用于接收第一操作;其中,第一操作用于基于webview获取目标数据,目标数据用于生成目标页面。webview502,用于根据第一操作,向服务端发起页面数据请求消息;其中,页面数据请求消息包括目标数据的指示信息和目标页面的文件格式,指示信息用于指示目标数据。webview502,还用于接收服务端发送的响应消息,响应消息用于获取目标页面。webview502,还用于根据响应消息获取目标页面。客户端501,还用于从webview获取目标页面。
可选的,当目标页面的文件格式为excel格式时,响应消息包含下载地址,webview502,具体用于:根据下载地址启动下载进程,获取目标页面,下载进程包含指示下载的消息头;客户端501,具体用于:识别消息头,拦截下载进程,获取目标页面。
可选的,当目标页面的文件格式为pdf格式或图片格式时,响应消息包含目标数据,webview502,具体用于:根据目标数据生成目标页面。
可选的,webview502,还用于接收第一指示消息,第一指示消息用于指示webview停止导出页面;webview502,还用于根据第一指示消息,向第一处理单元发送导出参数,其中,导出参数至少包括目标页面数和导出进度。
可选的,客户端501,还用于重启webview;客户端501,还用于向webview发送导出参数;webview502,还用于接收导出参数,并根据导出参数继续进行导出,直至目标页面导出完成。
可选的,客户端501内嵌有多个webview,多个webview分别具有唯一标识;多个webview向客户端发送各自的唯一标识和对应的导出进度。
可选的,电子设备50中还包括存储单元503。存储单元503用于存储计算机执行指令,客户端中的其他单元可以根据存储单元503中存储的计算机执行指令执行相应的动作。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种电子设备50的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
作为示例,结合图1,电子设备50中客户端501、webview502和存储单元503中的部分或全部实现的功能可以通过图2中的处理器201执行图2中的存储器202中的程序代码实现。
本申请实施例还提供一种导出页面装置,应用于内嵌有网页视图webview的客户端,该装置包括:第一接收单元,用于接收第一操作;其中,所述第一操作用于基于所述webview获取目标数据,所述目标数据用于生成目标页面;
请求发起单元,用于根据所述第一操作,向服务端发起页面数据请求消息;其中,所述页面数据请求消息包括所述目标数据的指示信息和所述目标页面的文件格式,所述指示信息用于指示目标数据;
第二接收单元,还用于接收所述服务端发送的响应消息,所述响应消息用于获取所述目标页面;
第一获取单元,还用于根据所述响应消息获取所述目标页面,以使所述webview获取到所述目标页面;
第二获取单元,还用于从所述webview获取所述目标页面。
在一个实施例中,当所述目标页面的文件格式为excel格式时,所述响应消息包含下载地址,所述下载地址为根据目标数据所生成的目标页面的下载地址,所述第一获取单元,具体用于:根据所述下载地址启动下载进程,获取所述目标页面,所述下载进程包含指示下载的消息头;
所述第二获取单元,具体用于:识别所述消息头,拦截所述下载进程,获取所述目标页面。
在一个实施例中,当所述目标页面的文件格式为pdf格式或图片格式时,所述响应消息包含目标数据,所述第一获取单元,具体用于:根据所述目标数据生成所述目标页面。
在一个实施例中,所述装置还包括:
第三接收单元,用于接收第一指示消息,所述第一指示消息用于指示webview停止导出页面;
第一发送单元,用于使所述webview根据第一指示消息,向所述客户端发送导出参数,其中,所述导出参数至少包括目标页面数和导出进度。
在一个实施例中,所述装置还包括:
重启单元,用于重启所述webview;
第二发送单元,还用于由所述客户端向所述webview发送所述导出参数;
所述第三接收单元,还用于接收所述导出参数,并根据所述导出参数继续进行导出,直至所述目标页面导出完成。
在一个实施例中,所述客户端内嵌有多个所述webview,多个所述webview分别具有唯一标识;多个所述webview向所述客户端发送各自的唯一标识和对应的导出进度。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述电子设备50的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种导出页面方法,其特征在于,应用于内嵌有网页视图webview的客户端,所述方法包括:
所述客户端接收针对所述webview的第一操作;其中,所述第一操作用于基于所述webview获取目标数据,所述目标数据用于生成目标页面;
所述webview根据所述第一操作,向服务端发送页面数据请求消息;其中,所述页面数据请求消息包括所述目标数据的指示信息和所述目标页面的文件格式,所述指示信息用于指示目标数据;
所述webview接收所述服务端发送的响应消息,所述响应消息用于获取所述目标页面;
所述webview根据所述响应消息获取所述目标页面;
所述客户端从所述webview获取所述目标页面。
2.根据权利要求1所述的方法,其特征在于,当所述目标页面的文件格式为excel格式时,所述响应消息包含下载地址,所述下载地址为根据目标数据所生成的目标页面的下载地址,所述webview根据所述响应消息获取所述目标页面,包括:
所述webview根据所述下载地址启动下载进程,获取所述目标页面,所述下载进程包含指示下载的消息头;
所述客户端从所述webview获取所述目标页面,包括:
所述客户端识别所述消息头,拦截所述下载进程,获取所述目标页面。
3.根据权利要求1所述的方法,其特征在于,当所述目标页面的文件格式为pdf格式或图片格式时,所述响应消息包含目标数据,所述webview根据所述响应消息获取所述目标页面,包括:
所述webview根据所述目标数据生成所述目标页面。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述webview接收第一指示消息,所述第一指示消息用于指示webview停止导出页面;
所述webview根据所述第一指示消息,向所述客户端发送导出参数,其中,所述导出参数至少包括目标页面数和导出进度。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述客户端重启所述webview;
所述客户端向所述webview发送所述导出参数;
所述webview接收所述导出参数,并根据所述导出参数继续进行导出,直至所述目标页面导出完成。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述客户端内嵌有多个所述webview,多个所述webview分别具有唯一标识,所述方法还包括:
所述多个webview向所述客户端发送各自的唯一标识和对应的导出进度。
7.一种导出页面装置,其特征在于,应用于内嵌有网页视图webview的客户端,该装置包括:
第一接收单元,用于接收第一操作;其中,所述第一操作用于基于所述webview获取目标数据,所述目标数据用于生成目标页面;
请求发起单元,用于根据所述第一操作,向服务端发起页面数据请求消息;其中,所述页面数据请求消息包括所述目标数据的指示信息和所述目标页面的文件格式,所述指示信息用于指示目标数据;
第二接收单元,还用于接收所述服务端发送的响应消息,所述响应消息用于获取所述目标页面;
第一获取单元,还用于根据所述响应消息获取所述目标页面,以使所述webview获取到所述目标页面;
第二获取单元,还用于从所述webview获取所述目标页面。
8.根据权利要求7所述的导出页面装置,其特征在于,
当所述目标页面的文件格式为excel格式时,所述响应消息包含下载地址,所述下载地址为根据目标数据所生成的目标页面的下载地址,所述第一获取单元,具体用于:
根据所述下载地址启动下载进程,获取所述目标页面,所述下载进程包含指示下载的消息头;
所述第二获取单元,具体用于:
识别所述消息头,拦截所述下载进程,获取所述目标页面;
当所述目标页面的文件格式为pdf格式或图片格式时,所述响应消息包含目标数据,所述第一获取单元,具体用于:
根据所述目标数据生成所述目标页面;
所述装置还包括:
第三接收单元,用于接收第一指示消息,所述第一指示消息用于指示webview停止导出页面;
第一发送单元,用于使所述webview根据第一指示消息,向所述客户端发送导出参数,其中,所述导出参数至少包括目标页面数和导出进度;
所述装置还包括:
重启单元,用于重启所述webview;
第二发送单元,还用于由所述客户端向所述webview发送所述导出参数;
所述第三接收单元,还用于接收所述导出参数,并根据所述导出参数继续进行导出,直至所述目标页面导出完成;
所述客户端内嵌有多个所述webview,多个所述webview分别具有唯一标识;
多个所述webview向所述客户端发送各自的唯一标识和对应的导出进度。
9.一种电子设备,其特征在于,包括:处理器;
所述处理器与存储器连接,所述存储器用于存储计算机执行指令,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述电子设备实现如权利要求1-6任一项所述的方法。
10.一种导出页面系统,其特征在于,包括如执行权利要求1-6任一项所述方法的客户端和服务端,所述服务端用于向所述客户端发送响应消息,所述响应消息用于所述客户端获取目标页面。
11.一种计算机程序产品,其特征在于,包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753208.5A CN115062249A (zh) | 2022-06-28 | 2022-06-28 | 一种导出页面方法、装置、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753208.5A CN115062249A (zh) | 2022-06-28 | 2022-06-28 | 一种导出页面方法、装置、电子设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115062249A true CN115062249A (zh) | 2022-09-16 |
Family
ID=83204134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210753208.5A Pending CN115062249A (zh) | 2022-06-28 | 2022-06-28 | 一种导出页面方法、装置、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115062249A (zh) |
-
2022
- 2022-06-28 CN CN202210753208.5A patent/CN115062249A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958524B2 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
EP3664372B1 (en) | Network management method and related device | |
US20170230308A1 (en) | Cloud-based service resource provisioning based on network characteristics | |
US10848366B2 (en) | Network function management method, management unit, and system | |
US20180146072A1 (en) | Creation of a binding based on a description associated with a server | |
WO2021121407A1 (zh) | 一种虚拟机的容量更改方法及装置 | |
WO2020248375A1 (zh) | 数据库间数据同步方法、系统、计算机设备及存储介质 | |
US10642585B1 (en) | Enhancing API service schemes | |
CN110808857A (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN110741617B (zh) | 资源更新方法、装置、计算机设备和存储介质 | |
CN114281263A (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN104104701A (zh) | 在线服务的配置更新的方法和系统 | |
CN110795205A (zh) | 基于软件容器提供云端服务的系统及方法 | |
WO2024103583A1 (zh) | Bios选项修改的生效方法和装置、非易失性可读存储介质及电子装置 | |
CN115062249A (zh) | 一种导出页面方法、装置、电子设备及系统 | |
US20210256600A1 (en) | Connector leasing for long-running software operations | |
CN113918423A (zh) | 云平台监控方法、装置及其应用 | |
CN109684361B (zh) | 一种规则分析方法以及相应的用于规则分析的装置 | |
CN112954087A (zh) | SaaS服务的域名连接方法、装置、计算机设备及存储介质 | |
US11296932B2 (en) | Terminal apparatus, server, system, method for terminal apparatus, and program for terminal apparatus | |
CN112068899A (zh) | 插件加载方法、装置、电子设备及存储介质 | |
CN111064675A (zh) | 访问流量控制方法、装置、网络设备及存储介质 | |
CN112149951A (zh) | 风险控制方法、装置、计算机设备和存储介质 | |
US11445036B1 (en) | Cluster management method and apparatus, electronic device and storage medium | |
CN114884974B (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 |