扩展接口调用方法及装置与流程

文档序号:11677391阅读:306来源:国知局
扩展接口调用方法及装置与流程

本发明实施例涉及计算机技术领域,尤其涉及一种扩展接口调用方法及装置。



背景技术:

webapp是指基于web的系统和应用,当用户需要使用webapp时,需要先打开浏览器,并在浏览器中输入webapp对应的网址,以实现打开并运行webapp。

在实际应用过程中,通常使用超级文本标记语言(hypertextmarkuplanguage,简称html)开发webapp,但是html标准的局限性较大,导致通过html无法使得开发的webapp具有丰富的功能。为了使得通过html开发的webapp具有丰富的功能,通常需要在html标准中增设扩展接口,并通过扩展接口实现丰富的功能。在现有技术中,通常将扩展接口和用于实现该扩展接口的扩展接口实现模块集成在浏览器内核,这样,在浏览器进程中运行webapp的过程中,当webapp对扩展接口调用时,扩展接口实现模块可以直接在浏览器进程中向webapp反馈扩展接口对应的调用结果,以实现扩展接口提供的功能。

然而,由于不同类型的浏览器具有不同的规则,因此,在浏览器中增设扩展接口的扩展接口实现模块时,需要根据相应浏览器的规则,编写对应的扩展接口实现模块,也就是说,接口扩展在不同浏览器的通用性不强。而用户可能通过不同类型的浏览器使用同一webapp,因此,当需要在webapp中增加丰富的功能时,需要在不同类型的浏览器中增设不同的扩展接口实现模块,导致对webapp的开发成本过高。



技术实现要素:

本发明实施例提供一种扩展接口调用方法及装置,降低了对webapp的开发成本。

第一方面,本发明实施例提供一种扩展接口调用方法,包括:

获取所述webapp在浏览器进程中对扩展接口进行调用的调用指令,所述调用指令为进程内部的指令;

根据所述调用指令,向所述扩展接口对应的扩展接口实现模块发送所述调用指令对应的调用请求,以使所述扩展接口实现模块通过非浏览器进程获取所述调用请求对应的调用结果,所述扩展接口实现模块位于所述浏览器的内核之外,所述调用请求为在不同进程间传输的请求消息;

接收所述扩展接口实现模块发送的调用结果,并通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果。

在一种实施方式中,向所述扩展接口对应的扩展接口实现模块发送调用请求,包括:

根据所述调用指令,生成所述调用指令对应的调用请求;

通过所述浏览器进程对应的第一通信模块向所述非浏览器进程对应的第二通信模块发送所述调用请求,以使所述第二通信模块向所述扩展接口实现模块发送所述调用请求。

在另一种实施方式中,接收所述扩展接口实现模块发送的调用结果,包括:

通过所述第一通信模块接收所述扩展接口实现模块通过所述第二通信模块发送的所述调用结果。

在另一种实施方式中,向所述扩展接口对应的扩展接口实现模块发送调用请求之后,还包括:

生成所述调用请求的会话标识;

生成所述调用请求对应的结果接收器,并确定所述结果接收器与所述调用请求的会话标识的对应关系。

在另一种实施方式中,通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果,包括:

获取所述调用结果的会话标识,所述调用结果的会话标识与所述调用请求的会话标识相同;

根据所述调用结果的会话标识和预设对应关系,确定所述调用结果对应的结果接收器,所述预设对应关系中包括多个会话标识及各会话标识对应的结果接收器;

向所述调用结果对应的结果接收器发送所述调用结果,以使所述调用结果对应的结果接收器向所述webapp发送所述调用结果。

第二方面,本发明实施例提供一种扩展接口调用装置,包括获取模块、发送模块和接收模块,其中,

所述获取模块用于,获取所述webapp在浏览器进程中对扩展接口进行调用的调用指令,所述调用指令为进程内部的指令;

所述发送模块用于,根据所述调用指令,向所述扩展接口对应的扩展接口实现模块发送所述调用指令对应的调用请求,以使所述扩展接口实现模块通过非浏览器进程获取所述调用请求对应的调用结果,所述扩展接口实现模块位于所述浏览器的内核之外,所述调用请求为在不同进程间传输的请求消息;

所述接收模块用于,接收所述扩展接口实现模块发送的调用结果,并通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果。

在一种实施方式中,所述发送模块向所述扩展接口对应的扩展接口实现模块发送调用请求,包括:

根据所述调用指令,生成所述调用指令对应的调用请求;

通过所述浏览器进程对应的第一通信模块向所述非浏览器进程对应的第二通信模块发送所述调用请求,以使所述第二通信模块向所述扩展接口实现模块发送所述调用请求。

在另一种实施方式中,所述接收模块接收所述扩展接口实现模块发送的调用结果,包括:

通过所述第一通信模块接收所述扩展接口实现模块通过所述第二通信模块发送的所述调用结果。

在另一种实施方式中,所述装置还包括生成模块,其中,在所述发送模块向所述扩展接口对应的扩展接口实现模块发送调用请求之后,所述生成模块用于:

生成所述调用请求的会话标识;

生成所述调用请求对应的结果接收器,并确定所述结果接收器与所述调用请求的会话标识的对应关系。

在另一种实施方式中,所述发送模块通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果,包括:

获取所述调用结果的会话标识,所述调用结果的会话标识与所述调用请求的会话标识相同;

根据所述调用结果的会话标识和预设对应关系,确定所述调用结果对应的结果接收器,所述预设对应关系中包括多个会话标识及各会话标识对应的结果接收器;

向所述调用结果对应的结果接收器发送所述调用结果,以使所述调用结果对应的结果接收器向所述webapp发送所述调用结果。

本发明实施例提供的扩展接口调用方法和装置,扩展接口位于浏览器内核,扩展接口实现模块位于浏览器内核之外,在浏览器进程中运行webapp的过程中,当webapp对扩展接口进行调用之后,可以向非浏览器内核中的扩展接口实现模块发送消息形式的调用请求,以使扩展接口实现模块可以在非浏览器进程中获取调用请求对应的调用结果,并将调用结果反馈给浏览器进程中的webapp。在上述过程中,由于扩展接口实现模块位于浏览器内核之外,使得开发者无需根据浏览器的规定开发扩展接口实现模块,针对所有类型的浏览器,均可以使用相同的扩展接口实现模块,进而提高对不同类型浏览器的通用性,降低webapp的开发成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的扩展接口调用方法的应用场景示意图;

图2为本发明实施例提供的扩展接口调用方法的流程示意图一;

图3为本发明实施例提供的扩展接口调用方法的流程示意图二;

图4为本发明实施例提供的扩展接口调用装置的结构示意图一;

图5为本发明实施例提供的扩展接口调用装置的结构示意图二。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的扩展接口调用方法的应用场景示意图。请参见图1,在终端设备中安装有浏览器101和功能实现模块102。其中,终端设备可以为手机、电脑、电视等设备。功能实现模块102位于非浏览器内核中,可选的,功能实现模块102可以为浏览器101的插件等。在浏览器101中可以运行webapp101-1,浏览器101中设置有至少一个扩展接口101-2和第一通信模块101-3。功能实现模块102中设置有至少一个扩展接口实现模块102-1和第二通信模块102-2,扩展接口实现模块102-1用于实现扩展接口101-2的功能。

在本申请中,浏览器101中的webapp101-1、扩展接口101-2、及第一通信模块101-3分别运行在浏览器进程中。功能实现模块102中的扩展接口实现模块102-1和第二通信模块102-2分别运行在非浏览器进程中。在实际应用过程中,当webapp需要展示扩展接口对应的功能时,webapp在浏览器进程中向扩展接口发送调用指令,扩展接口将调用指令转换成用于通信的调用请求,并向第一通信模块101-3发送调用请求,第一通信模块101-3向功能实现模块102中的第二通信模块102-2发送调用请求,第二通信模块102-2向对应的扩展接口实现模块102-1发送调用请求。在扩展接口实现模块102-1确定得到调用结果之后,依次通过第二通信模块102-2、第一通信模块101-3、及扩展接口101-2向webapp101-1发送调用结果,以使webapp101-1根据调用结果展示相应的功能。

在本申请中,扩展接口实现模块102-1位于浏览器内核之外,使得开发者无需根据浏览器的规定开发扩展接口实现模块102-1,只需在浏览器101中预留第一通信模块101-3接口调用结果即可。这样,针对不同类型的浏览器,开发者无需开发多种扩展接口实现模块,进而降低webapp的开发成本,能够改善对不同类型浏览器的通用性。

需要说明的是,图1只是以示例的形式示意本申请所示技术方案的一种应用场景,并非对应用场景的限定。例如,功能实现模块102还可以设置在其它终端设备中,功能实现模块102还可以设置在服务器上,本发明实施例对此不作具体限定。

下面,通过具体实施例,对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。

图2为本发明实施例提供的扩展接口调用方法的流程示意图一。请参见图2,该方法可以包括:

s201、获取webapp在浏览器进程中对扩展接口进行调用的调用指令。

本发明实施例的执行主体可以为扩展接口调用装置,该扩展接口调用装置设置在终端设备中。可选的,扩展接口调用装置也可以设置在浏览器中。

本实施方式中的调用指令可以为进程内部的指令,无法在进程之间进行传输。在进程内部生成调用指令之后,进程内部涉及的其它模块可以识别该调用指令,且可对该调用指令进行处理。

需要说明的是,在终端设备通过浏览器运行webapp的过程中,只要对webapp对扩展接口进行了调用,均可以执行图2实施例所示的技术方案。

扩展接口通常包括多个由javascript脚本语言编写的js文件,每一个js文件可以提供一组jsapi,jsapi可以通过标准的js引擎接口注册到浏览器中。

在实际应用过程中,用户在浏览器中使用webapp时,创建浏览器进程,并在浏览器进程中运行webapp。webapp通常包括多个页面,webapp的部分页面可包括一个或多个扩展接口,当浏览器加载webapp的某一页面时,若该页面中包括扩展接口,则浏览器会加载该扩展接口对应的文件(例如js文件等),以使webapp可以随时对扩展接口进行调用。根据扩展接口类型的不同,webapp对扩展接口进行调用的触发条件也不同,例如,在webapp展示页面时,webapp可以自动对扩展接口进行调用,也可以在webapp展示页面之后,在用户的触发下对扩展接口进行调用。

例如,假设webapp的页面1中包括扩展接口1,扩展接口1用于展示webapp的当前页面使用的语言。在浏览器加载webapp的页面1时,则加载扩展接口1对应的js文件,当浏览器显示页面1时,则调用接口1以获取页面1使用的语言,并在页面1中显示页面1使用的语言。

例如,假设webapp的页面2中包括扩展接口2,扩展接口2用于在接收到用户的点击操作之后实现关机。在浏览器加载webapp的页面2时,则加载扩展接口2对应的js文件,并显示扩展接口2对应的关机按钮,在用户对关机按钮进行点击操作之后,则调用扩展接口2,以实现关机。

s202、根据调用指令,向扩展接口对应的扩展接口实现模块发送调用请求,以使扩展接口实现模块通过非浏览器进程获取调用请求对应的调用结果,扩展接口实现模块位于浏览器的内核之外。

本实施方式中的调用请求为可以在不同进程之间、或者不同设备之间进行传输的请求消息,例如,调用请求可以为基于websocket或http/socket通信方式的请求消息。

调用结果为扩展接口实现模块对扩展接口的实现结果,例如,调用结果可以为扩展接口实现模块返回的文字、图片、音视频等,调用结果还可以为扩展接口实现模块执行的动作,例如,扩展接口实现模块对其它应用程序的调用操作、对终端设备的关机操作等。当然,调用结果还可以包括其它形式,本发明实施例对此不作具体限定。

在获取到调用指令之后,可以生成调用指令对应的调用请求,可选的,可以对调用指令进行解析,并将解析后的调用指令封装成可在不同进程之间、或者不同设备之间进行传输的调用请求,例如消息形式的调用请求。

可选的,在调用指令中可以包括需要调用的扩展接口的标识,相应的,可以根据扩展接口的标识确定扩展接口对应的扩展接口实现模块,并向扩展接口实现模块发送调用请求。可选的,在浏览器中设置有用于和其它进程或者其它设备通信的第一通信模块,扩展接口实现模块所在的非浏览器进程对应有第二通信模块,相应的,可以通过浏览器进程对应的第一通信模块向非浏览器进程对应的第二通信模块发送调用请求,以使第二通信模块向扩展接口实现模块发送调用请求。

在扩展接口实现模块接收到调用请求之后,由于扩展接口实现模块位于浏览器内核之外,因此,扩展接口可以通过非浏览器进程获取调用请求对应的调用结果。

s203、接收扩展接口实现模块发送的调用结果,并通过浏览器进程向webapp发送调用请求对应的调用结果。

可选的,在扩展接口实现模块获取得到调用请求对应的调用结果之后,扩展接口实现模块可以通过第二通信模块向浏览器进程对应的第一通信模块发送调用结果,以使第一通信模块通过浏览器进程向webapp发送调用请求对应的调用结果。

在现有技术中,由于扩展接口实现模块运行在浏览器进程中,因此,当扩展接口实现模块出现异常时,会导致浏览器异常(崩溃、异常退出等)。而在本申请中,由于扩展接口实现模块位于浏览器内核之外,当扩展接口实现模块在获取调用结果的过程中出现异常,仅会对webapp当前显示页面对应的扩展接口的功能造成影响,并不会影响浏览器的正常运行,进而提高了浏览器运行的可靠性。

本发明实施例提供的扩展接口调用方法,扩展接口位于浏览器内核,扩展接口实现模块位于浏览器内核之外,在浏览器进程中运行webapp的过程中,当webapp对扩展接口进行调用之后,可以向非浏览器内核中的扩展接口实现模块发送调用请求,以使扩展接口实现模块可以在非浏览器进程中获取调用请求对应的调用结果,并将调用结果反馈给浏览器进程中的webapp。在上述过程中,由于扩展接口实现模块位于浏览器内核之外,使得开发者无需根据浏览器的规定开发扩展接口实现模块,针对所有类型的浏览器,均可以使用相同的扩展接口实现模块,进而能够降低webapp的开发成本。

在实际应用过程中,webapp可能同时对多个扩展接口进行了调用,相应的,webapp可能同时接收到多个扩展接口对应的调用结果,为了保证可以准确的将调用结果和对扩展接口的调用请求相关联,可以通过结果接收器接收调用结果。下面,在图2所示实施例的基础上,通过图3所示的实施例,对该种实现方式进行详细说明。

图3为本发明实施例提供的扩展接口调用方法的流程示意图二。在图2所示实施例的基础上,请参见图3,该方法可以包括:

s301、获取webapp在浏览器进程中对扩展接口进行调用的调用指令。

需要说明的是,s301的执行过程可以参见图2所示实施例中的s201,此处不再进行赘述。

s302、生成调用指令对应的调用请求,并通过浏览器进程对应的第一通信模块向非浏览器进程对应的第二通信模块发送调用请求,以使第二通信模块向扩展接口实现模块发送调用请求。

需要说明的是,s302的执行过程可以参见图2所示实施例中的s202,此处不再进行赘述。

s303、生成调用请求的会话标识。

在本发明实施例中,扩展接口和扩展接口实现模块具有一一对应关系,不同的扩展接口对应的调用请求不同,在webapp运行的过程中,若对同一扩展接口进行了多次调用,则该多次调用对应的调用请求也不同,每一个调用请求对应唯一的一个会话标识。

s304、生成调用请求对应的结果接收器,并确定结果接收器与调用请求的会话标识的对应关系。

可选的,结果接收器可以为对预设函数的实现,例如,预设函数可以为resultcallback。

在本发明实施例中,每一个调用请求对应唯一的一个结果接收器。结果接收器用于接收对应的调用结果,并将调用结果转发给webapp。可选的,结果接收器可以用于指示该调用请求对应的调用结果使用(例如显示等)的位置、方式等。

s305、通过第一通信接口接收接口扩展接口实现模块通过第二通信接口发送的调用结果。

需要说明的是,s305的执行过程可以参见图2所示实施例中的s203,此处不再进行赘述。

s306、获取调用结果的会话标识,调用结果的会话标识与调用请求的会话标识相同。

在本发明实施例中,每一个调用请求对应一个调用结果,且调用结果的会话标识与其对应的调用请求的会话标识相同。相应的,在生成调用结果时,可以根据调用请求的会话标识,确定调用结果的会话标识。

例如,扩展接口、调用请求、调用结果、结果接收器、和会话标识的对应关系可以如表1所示:

表1

s307、根据调用结果的会话标识和预设对应关系,确定调用结果对应的结果接收器,预设对应关系中包括多个会话标识及各会话标识对应的结果接收器。

可选的,预设对应关系可以如s306中的表1所示,此处不再进行赘述。

s308、向调用结果对应的结果接收器发送调用结果,以使调用结果对应的结果接收器向webapp发送调用结果。

在结果接收器接收到调用结果之后,结果接收器向webapp发送调用结果,在webapp可以根据向其发送调用结果的结果接收器,确定对该调用结果的使用位置及使用方式等,并根据对调用结果的使用位置及显示方式,使用调用结果。

下面,通过具体示例,对上述实施例所示的方法进行详细说明。

示例性的,假设webapp的页面1中包括扩展接口1,扩展接口1用于获取系统当前使用的语言,并在页面1中展示系统当前使用的语言。

假设扩展接口1的接口函数为getsystemlanguage(resultcallback),其中,getsystemlanguage为接口函数的名称,resultcallback为用来返回结果的回调函数的名称。

当用户需要使用webapp时,用户在浏览器中输入webapp的地址,并在浏览器进程中运行webapp,当webapp加载页面1时,通过标准的js功能在window下增加getsystemlanguage方法,以实现加载扩展接口1。当webapp显示页面1时,webapp调用扩展接口1,可选的,webapp可以通过如下函数调用方式实现调用扩展接口1:

getsystemlanguage(function(lang){

alert(“systemlanguageis:”+lang);

});

根据webapp对扩展接口1的调用指令,在getsystemlanguage对应的函数体内封装出jsapi命令(调用请求),此处以调用请求为json格式为例,调用请求可以如下:

varcmd={

commandname:“getsystemlanguage”,

sessionid:”12345678-1234-1234-1234-123456789012”,

}

该调用请求的会话标识为12345678-1234-1234-1234-123456789012,将resultcallback作为该调用请求对应的结果接收器,并将resultcallback和会话标识“12345678-1234-1234-1234-123456789012”关联,以便通过该会话标识可以找到唯一的结果接收器resultcallback。

在浏览器进程中,将json格式的jsapi命令(调用请求)发送给浏览器进程对应的第一通信模块,第一通信模块向非浏览器进程中的第二通信模块发送调用请求,例如,可以通过如下方式发送调用请求:

sendcommand(target,cmd);

其中,target用来存放连接js扩展服务端所需的参数等信息。需要说明的是,发送调用请求的方式可以有多种,比如建立websocket连接进行发送,或者通过xmlhttprequest建立连接并发送,当然,也可以通过其它方式实现的js扩展进行通信等多种方式。例如,假设以websocket方式建立socket连接,则在socket建立好后即可以字符串形式发送json数据。

在第二通信模块接收到调用请求之后,对调用请求进行解析,得到可处理格式的信息,假设第二通信模块可处理的格式为c++,则第二通信模块可以解析得到如下对象:

class{

std::stringcommandname;

std::stringsessionid:

};

第二通信模块将解析得到的对象发送给扩展接口1对应的扩展接口实现模块1,可选的,在发送调用请求时,可以确定扩展接口1对应的扩展接口实现模块1,并在调用请求中携带扩展接口实现模块1的标识,以使第二通信模块可以根据扩展接口实现模块1的标识,向扩展接口实现模块1发送调用请求。

扩展接口实现模块1根据调用请求,获取页面1当前使用的语言,假设扩展接口实现模块1获取得到系统当前使用的语言为英语,则扩展接口实现模块1生成如下调用结果:

{

commandname:”getsystemlanguage”,

sessionid:”12345678-1234-1234-1234-123456789012”,

result:”eng”

}

扩展接口实现模块1将上述调用结果发送给第二通信模块,第二通信模块将调用结果发送给浏览器进程对应的第一通信模块,并由第一通信模块发送给扩展接口1,扩展接口1根据会话标识(sessionid)确定对应的结果接收器resultcallback,并调用该结果接收器的方法,以实现将调用结果返还给webapp:

varresultinfo={

commandname:”getsystemlanguage”,

sessionid:”12345678-1234-1234-1234-123456789012”,

result:”eng”

}

varresultcallback=findcallbackbysessionid(resultinfo.sessionid);

resultcallback(resultinfo.result);

在webapp接收到调用结果之后,webapp中的callback被执行,即alert(“systemlanguageis:”+lang)被执行,并显示出”systemlanguageis:eng”的结果。

图4为本发明实施例提供的扩展接口调用装置的结构示意图一。请参见图4,该装置可以包括获取模块11、发送模块12和接收模块13,其中,

所述获取模块11用于,获取所述webapp在浏览器进程中对扩展接口进行调用的调用指令,所述调用指令为进程内部的指令;

所述发送模块12用于,根据所述调用指令,向所述扩展接口对应的扩展接口实现模块发送所述调用指令对应的调用请求,以使所述扩展接口实现模块通过非浏览器进程获取所述调用请求对应的调用结果,所述扩展接口实现模块位于所述浏览器的内核之外,所述调用请求为在不同进程间传输的请求消息;

所述接收模块13用于,接收所述扩展接口实现模块发送的调用结果,并通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果。

本发明实施例提供的扩展接口调用装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

在一种实施方式中,所述发送模块12向所述扩展接口对应的扩展接口实现模块发送调用请求,包括:

根据所述调用指令,生成所述调用指令对应的调用请求;

通过所述浏览器进程对应的第一通信模块向所述非浏览器进程对应的第二通信模块发送所述调用请求,以使所述第二通信模块向所述扩展接口实现模块发送所述调用请求。

在另一种实施方式中,所述接收模块13接收所述扩展接口实现模块发送的调用结果,包括:

通过所述第一通信模块接收所述扩展接口实现模块通过所述第二通信模块发送的所述调用结果。

图5为本发明实施例提供的扩展接口调用装置的结构示意图二。在图4所示实施例的基础上,请参见图5,所述装置还包括生成模块14,其中,在所述发送模块12向所述扩展接口对应的扩展接口实现模块发送调用请求之后,所述生成模块14用于:

生成所述调用请求的会话标识;

生成所述调用请求对应的结果接收器,并确定所述结果接收器与所述调用请求的会话标识的对应关系。

在另一种实施方式中,所述发送模块12通过所述浏览器进程向所述webapp发送所述调用请求对应的调用结果,包括:

获取所述调用结果的会话标识,所述调用结果的会话标识与所述调用请求的会话标识相同;

根据所述调用结果的会话标识和预设对应关系,确定所述调用结果对应的结果接收器,所述预设对应关系中包括多个会话标识及各会话标识对应的结果接收器;

向所述调用结果对应的结果接收器发送所述调用结果,以使所述调用结果对应的结果接收器向所述webapp发送所述调用结果。

本发明实施例提供的扩展接口调用装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。

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