接口文档、测试和模拟生成方法和装置、计算机存储介质与流程

文档序号:27906518发布日期:2021-12-11 05:13阅读:50来源:国知局
接口文档、测试和模拟生成方法和装置、计算机存储介质与流程

1.本发明属于计算机语言技术领域,更具体的说,尤其涉及一种接口文档、测试和模拟生成方法和装置、计算机存储介质。


背景技术:

2.目前我们大部分系统接口文档类和接口测试都是手动编写和手动测试,非常的低效,虽然市面上有比较成熟的接口文档类生成工具为swagger,但是该swagger只能生成固定页面和在页面上进行测试,无法进行深度的扩展和配置。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种接口文档、测试和模拟生成方法和装置、计算机存储介质,用于自动生成接口文档页面、测试页面、模拟页面,可扩展适配测试框架,支持一键测试所有接口。
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.图1是本发明实施例提供的一种接口文档、测试和模拟生成方法的流程图;
44.图2是本发明实施例提供的另一种接口文档、测试和模拟生成方法的流程图;
45.图3是本发明实施例提供的另一种接口文档、测试和模拟生成方法的流程图;
46.图4是本发明实施例提供的一种接口文档、测试和模拟生成方法中模拟页面的流程图;
47.图5是本发明实施例提供的一种接口文档、测试和模拟生成方法中测试页面的流程图。
具体实施方式
48.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
50.需要说明的是,swagger是一个用于生成、描述和调用restful接口的web服务。通俗的来讲,swagger就是将项目中所有想要暴露的接口展现在页面上,并且可以进行接口调用和测试的服务。
51.spring:spring框架是一个开放源代码的j2ee框架,一般java服务都会用到的一种框架。
52.validation:spring框架中对接口参数进行校验的一种方法。
53.模拟:模拟的意思,模拟就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
54.postman:一种接口测试工具。
55.nodejs:一种前端开发框架。
56.本发明实施例提供了一种接口文档、测试和模拟生成方法,用于解决现有技术中只能生成固定页面和在页面上进行测试,无法进行深度的扩展和配置的问题。
57.参见图1,该接口文档、测试和模拟生成方法,包括:
58.s101、获取用户访问链接。
59.具体的,在用户访问本技术提供的接口文档、测试和模拟生成方法的系统,产生用户访问链接,该用户访问链接为上述用户访问链接,用于为后续步骤提供执行的获取前提。
60.s102、获取用户访问链接的接口信息、所关联的控制器对应的所有控制方法,控制方法的输入参数和输出参数。
61.具体的,可以先获取到该用户访问链接所关联的控制器,再依据该控制器获取到其控制方法,控制方法的输入参数和输出参数,以及接口信息等参数。
62.当然也可以是其他方式,只要能获取到控制器对应的所有控制方法,控制方法的输入参数和输出参数,以及接口信息即可,此处不再一一赘述,均在本技术的保护范围内。
63.s103、将控制器对应的所有控制方法,控制方法的输入参数和输出参数,以及接口信息,组合成接口文档类。
64.需要说明的是,类是一个模板,它描述一类对象的行为和状态;也就是说,该文档类为描述文档这个对象的行为和状态。
65.具体的,将控制方法、控制方法的输入参数和输出参数、以及接口信息,均作为该接口文档类的组成部分,也就是说,该接口文档类包括:控制方法、控制方法的输入参数和输出参数、以及接口信息这四个参数。
66.s104、依据模板技术将接口文档类,生成接口文档页面、接口测试页面和模拟页面。
67.需要说明的是,上述说明中已经描述了该接口文档类主要包括的信息,针对这些信息使用模板技术,即可生成相应的页面。如接口文档页面,接口测试页面和模拟页面。
68.需要说明的是,接口测试页面主要用于测试接口,通过测试得到接口参数是否符合用户的需求等。该模拟页面,用于对接口进行模拟。接口文档可以展示接口数据等信息。当然,接口文档页面,接口测试页面和模拟页面不限于上述说明,此处不再一一赘述,均在本技术的保护范围内。
69.该接口文档、测试和模拟生成方法可以是适用于java技术、freemaker技术、html、js技术等,此处不再一一赘述,均在本技术的保护范围内。
70.在本实施例中,不但可以动态生成接口文档页面、测试页面、模拟页面,还可以扩展生成其他测试框架代码,比如postman,nodejs,支持一键测试所有接口。
71.在实际应用中,参见图2,步骤s102中涉及的获取用户访问链接所关联的控制器对应的所有控制方法,控制方法的输入参数和输出参数,包括:
72.s201、获取链接所关联的控制器,并扫描控制器的所有控制方法。
73.具体的,每个控制器所携带的控制方法不同,因此通过扫描可以获取该控制器的控制方法。控制器的控制方法的数量,此处不做具体限定,视实际情况而定即可,均在本技术的保护范围内。
74.s202、获取控制方法的输入参数。
75.不同的控制方法,其输入参数的类型不同,当然不仅限于此;因此,只要获取到该控制方法,即可确定其输入参数。
76.s203、依据控制方法的输入参数,获取控制方法的输出参数。
77.不同的控制方法,其输出参数的类型不同,当然不仅限于此。因此,只要获取到该控制方法,即可确定其输出参数。
78.在确定输出参数之后,可以根据spring框架中validation配合使用分析出参数必填属性、长度属性等。
79.需要说明的是,现有技术中采用的swagger,其无法自动分析出接口的入参、出参的数据类型,而本实施例中能自动分析出输入参数、输出参数的数据类型、以及根据spring框架中validation配合使用分析出参数必填属性、长度属性等。
80.在实际应用中,步骤s102的具体过程可以是:
81.获取用户访问链接中的接口注解;其中,接口注解包括:接口信息、接口信息方法、接口信息输入参数、接口信息输出参数。
82.接口信息方法包括:控制器的所有方法;接口信息输入参数包括:控制方法的输入参数;接口信息参数包括:控制方法的输出参数。
83.具体的,各个接口的注解,只需要四个注解,如@api、@apimethod、@apiparam、@apiresponse。
84.@api为接口信息,其主要是描述文档标题、文档描述;还可以描述文档版本、文档访问地址、文档生成输出格式(html/md)等,此处不再一一赘述,均在本技术的保护范围内。
85.@apimethod为接口信息方法,其主要是描述控制器的所有方法;如方法的名称,方法的请求方式是post还是get,当然该方法的请求方式还有是head、put、delete、options、connect等,此处不再一一赘述,均在本技术的保护范围内;方法参数的接收方式是“application/x

www

form

urlencoded”还是“application/json”;当然,该方法的接收方式还可以是content

type:text/html;charset=utf

8content

type:multipart/form

data;boundary=something等;此处不再一一赘述,均在本技术的保护范围内。
86.@apiparam为接口信息的输入参数;其主要是描述方法的输入参数,如输入参数的定义、描述、类型、必填属性、长度等等;当然也可以是描述其他参数,此处不再一一赘述,均在本技术的保护范围内。
87.@apiresponse为接口信息的输出参数,其主要是描述接口返回的数据信息,也即方法的输出参数;如输出参数的定义、描述、类型等等;当然也可以是描述其他参数,此处不再一一赘述,均在本技术的保护范围内。
88.获取用户访问链接中的接口注解的具体过程可以是:扫描工程中所有带接口api注解的控制器controller,使用java发射技术遍历所有方法method,获取方法method的输入参数param和输出参数response。
89.接着,步骤s103的具体过程可以是:根据上面的四个注解@api、@apimethod、@apiparam、@apiresponse,组合成我们想要的接口文档类apidocument。
90.步骤s104的具体过程可以是:根据上述步骤得到的接口文档类apidocument,使用模板技术freemaker,生成api文档、api测试页面和mock页面,也即接口文档页面、接口测试页面和模拟页面。
91.其中,api文档生成的过程可以是:先做好api.ftl模板,通过上面生成好的接口文档类apidocument,使用模板技术freemaker动态生成,代码一般是:
92.template template=configuration.gettemplate("api.ftl");
93.template.process(apidocument,out);
94.其中,out输出页面。
95.api测试页面的生成过程和mock页面的生成过程同理,其使用apitest.ftl和apimock.ftl这两个模板即可动态生成。
96.在api测试页面投入使用,也即用户进行测试时:获取接口测试的地址、调用类型、参数等,使用apidoc.js对参数进行签名,最后用ajax去调用接口,显示返回数据。具体的,用户在测试页面选择需要测试的接口,点击测试按钮,js会获取当前测试的url地址,参数、调用方法等,使用jquery的ajax去访问接口,最后输出接口的返回数据,展示至显示器。
97.mock页面投入使用主要是帮助开发者在还没完全开发完接口前,对controller控制层的某个method方法进行mock操作,以提前输入需要返回的数据,后台保存当前接口和mock数据的信息,存储在表中,当用户调用该接口时,后台使用mockinterceptor拦截器,拦截需要mock的控制器controller的方法method,从表中查询出接口的模拟数据,返回模拟数据。
98.也就是说,当这个接口还没有开发完成,其他人比如前端可以访问接口,得到我们提前输入的数据。
99.需要说明的是,controller:srpingmvc框架中的控制层意思,一般用于接口调用,接收参数和输出参数。
100.method:controller控制层的方法,一般是具体某个接口。
101.param:method方法上面的输入参数。
102.response:method方法上面的输出参数。
103.post:http请求方式,https://www.runoob.com/tags/html

httpmethods.html。
104.get:http请求方式,https://www.runoob.com/tags/html

httpmethods.html。
105.application/x

www

form

urlencoded:http的内容类型一般是指网页中存在的content

type;用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件https://www.runoob.com/http/http

content

type.html;application/json:同上。
106.apidocument:接口文档类,本方法中的一个类,里面包含了页面生成的所有需要的内容。
107.freemaker:是一款模板引擎,即一种基于模板和要改变的数据,并用来生成输出文本(html网页、电子邮件、配置文件和源代码等)的通用工具。
108.mockinterceptor:接口模拟拦截器,本方法的拦截器,基于srpingaop技术实现的,用于拦截控制层中的某一个的方法。
109.所有的接口文档上面的数据都是来自代码上面的注解,修改代码上面的注解或者某个字段,接口文档会同步更新。
110.需要说明的是,现有技术中采用的swagger,其注解繁杂,依赖很多,学习成本高,而本实施例中只有4个注解,使用简单、学习成本低;自动分析接口的入参和出参的信息及验证信息,自动生成api文档页面、api测试页面和apimock页面,代码即是文档,当你修改了任何一个接口,文档的页面都是同步更新,能够有效的提高后台开发效率和与第三方调用者沟通和联调的效率。
111.在实际应用中,在步骤s102之前,还包括:
112.(1)对用户访问链接,采用接口文档过滤器进行过滤。
113.也就是说,可能存在一些不合法或不合理的用户访问链接,接口文档过滤器将这个不合理或不合法的用户访问链接过滤掉,当然,也可以过滤掉其他类型的用户访问链接,
此处不再一一赘述,均在本技术的保护范围内。
114.(2)判断过滤后的用户访问链接的前缀是否为预设前缀。
115.需要说明的是,通过判断前缀来判断用户访问链接是否为特定的链接,当然也可以其他判断方式,此处不再一一赘述,均在本技术的保护范围内。
116.若是,则获取前缀后面的链接。
117.(3)判断前缀后面的链接所关联的控制器是否已经配置了接口注解。
118.若是,则执行步骤s102。
119.在实际应用中,步骤s103的具体过程可以是:
120.依据模板技术将接口文档类和接口文档模板,生成接口文档页面;依据模板技术将接口文档类和接口测试模板,生成接口测试页面;以及,依据模板技术将接口文档类和接口模拟模板,生成模拟页面。
121.也就是说,分别依据不同的模板,生成不同的页面。需要说明的是,每个页面的功能不同,所以设置不同模板是必要的。
122.在实际应用中,参见图3,在步骤s104之后,还包括:
123.s105、输出生成的页面至显示器。
124.也就是说,将接口文档页面、接口测试页面以及模拟页面,均向用户展示,用户依据自己的需求,查阅或者发送相应的请求,如进行测试请求,模拟请求等,此处不再一一赘述,均在本技术的保护范围内。
125.在实际应用中,在步骤s105之后,如图4所示,还包括:
126.当获取到用户的模拟接口请求,也即用户需要模拟接口时,获取用户进入模拟页面时所模拟的接口;保存模拟接口的信息和模拟数据。
127.也就是说,用户需要模拟接口时,保存相应的模拟接口的信息和模拟数据,以在后续调用时,可以直接获取该接口的模拟数据。
128.在实际应用中,在步骤s105之后,如图5所示,还包括:
129.当获取到用户的测试接口请求,也即用不需要测试接口时,获取用户进入接口测试页面时所测试接口的信息;对测试接口进行参数签名;并封装接口参数和接口地址;判断测试接口是否被模拟;若否,则正常处理返回数据;若是,则返回模拟数据。
130.需要说明的是,在判断测试接口是否被模拟之间还可以是接口进行拦截。对测试接口进行参数签名以及封装接口参数和接口地址这两个步骤为前端执行的。正常处理返回数据,以及,返回模拟数据这两个步骤为后台执行的。
131.具体的,下面举例对本技术的相应步骤进行说明:
132.(1)使用全局过滤器apidocfilter拦截以/apidoc开头的链接。
133.(2)获取/apidoc后的url。
134.(3)判断url关联的controller是否已经配置了@api注解。
135.(4)如果有则获取当前controller,使用java发射技术扫描controller的所有method,得到method的名称、请求方式等放到apidocument的apimethods中。
136.(5)获取method的param,得到param的定义、描述、类型、必填属性、长度等等,放入apimethod的apiparams中。
137.(6)获取method的response,得到response的定义、描述、类型等等,放入
apimethod的apiresponses中。
138.(7)最后得到apidocument,其中包含整个controller的所有需要的信息,使用freemaker模板技术,把apidoc.ftl、apitest.ftl、apimock.ftl生成api文档页面、api测试页面、apimock页面。
139.(8)最后把生成好的页面展示至显示器,用户能够查看api文档、对接口进行测试和mock。
140.(9)当用户需要测试某个接口时,只需要选择某个接口,输入参数即可进行测试,接口地址、访问类型、参数个数已经全部提前生成好。
141.(10)如果当前接口还没完全写好,可以进行mock操作,选择某个接口在mock页面输入需要返回的内容,点击保存,当用户再次访问这个接口的时候就会返回mock的数据。
142.其中,apidocfilter为接口文档过滤器;/apidoc为是程序链接,比如http://ip:port/apidoc/a/b/c,如果这个链接是以/apidoc开头就是我们要过滤的链接;url:这里的url就是指上面的/a/b/c;controller;springmvc里面的控制器,控制器一般会绑定一个requestmapping就是访问路径,如果是绑定的链接跟我们上面获取的链接是一样,就是我们要找的控制器;@api:接口文档注解。
143.本发明实施例还提供了一种接口文档、测试和模拟生成装置,包括:
144.第一获取模块,用于获取用户访问链接。
145.第二获取模块,用于获取用户访问链接的接口信息、所关联的控制器对应的所有控制方法,控制方法的输入参数和输出参数。
146.组合模块,用于将控制器对应的所有控制方法,控制方法的输入参数和输出参数,以及接口信息,组合成接口文档类。
147.生成模块,用于依据模板技术将接口文档类,生成接口文档页面、接口测试页面和模拟页面。
148.本技术上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述,均在本技术的保护范围内。
149.本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述实施例提供的接口文档、测试和模拟生成方法。
150.该接口文档、测试和模拟生成方法的过程及原理,详情参见上述实施例即可,此处不再一一赘述,均在本技术的保护范围内。
151.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
152.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不
限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
153.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
154.本发明另一实施例提供了一种电子设备,包括:
155.一个或多个处理器。
156.存储装置,其上存储有一个或多个程序。
157.当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现如上述实施例中任意一项的接口文档、测试和模拟生成方法。
158.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。
159.本说明书中的各个实施例中记载的特征可以相互替换或者组合,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
160.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
161.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的
一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1