CN117389546A - 软件开发工具包的生成方法、装置、设备和存储介质 - Google Patents
软件开发工具包的生成方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117389546A CN117389546A CN202311333447.6A CN202311333447A CN117389546A CN 117389546 A CN117389546 A CN 117389546A CN 202311333447 A CN202311333447 A CN 202311333447A CN 117389546 A CN117389546 A CN 117389546A
- Authority
- CN
- China
- Prior art keywords
- api
- open platform
- apis
- generating
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract 43
- 230000018109 developmental process Effects 0.000 claims description 55
- 238000004458 analytical method Methods 0.000 claims description 45
- 238000011161 development Methods 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 230000033772 system development Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Abstract
本发明涉及一种软件开发工具包的生成方法,包括:通过开放平台的应用程序编程接口API列表确定开放平台提供的多个API,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API,通过开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK,本发明实施例可以实现根据用户的需求选择需要的API或API组合,动态生成不同的SDK,可以更好的满足用户的个性化需求,同时,通过设置开放平台,可以实现对API的统一管理,并自动实现对SDK的编写、构建、打包、上传,使得用户只需要关注API本身的功能开发,不需要浪费太多的时间用于维护SDK,大大节省了时间和人力成本。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种软件开发工具包的生成方法、装置、设备和存储介质。
背景技术
当今软件开发中,与外部服务或系统进行交互是非常常见的需求。为了简化这种交互过程并提供更优雅的解决方案,许多服务提供商都提供了各种类型的API(Application Programming Interface,应用程序编程接口)。在Java技术栈中,为了方便开发者在Java应用程序中使用这些API,我们可以借助自动生成Java SDK(SoftwareDevelopment Kit,软件开发工具包)的技术来提供更高效、更便捷的接口。Java作为一种跨平台的编程语言,广泛应用于各种领域,包括Web开发、移动应用、企业级应用等。许多现代的服务都提供了RESTful API,这些API使用标准的HTTP(Hypertext Transfer Protocol,超文本传输协议)进行通信,为Java开发人员提供了便捷的接入方式。
在生成Java SDK之前,我们首先需要详细了解目标API的功能和特性。这涉及到仔细阅读API文档,掌握API的用途、支持的操作,以及与服务交互所需的参数和返回值。通过深入了解API的设计和用法,我们能够更好地构建出适用于Java技术栈的SDK。
传统的SDK管理中,SDK开发人员需要对每个API或不同API的组合进行SDK代码的编写、构建、打包、上传。随着API的数量越来越多,就会暴露出这个模式的两大问题:1、随着单个API以及API的组合数量的增加,导致需要维护的SDK越来越多,SDK开发者工作量剧增;2、提供给用户的SDK是平台指定的由固定API组合生成的,无法针对性的满足用户的需求。
发明内容
本发明实施例的目的在于提供一种软件开发工具包的生成方法,解决现有的SDK管理中随着单个API以及API的组合数量的增加,导致需要维护的SDK越来越多,SDK开发者工作量剧增;以及提供给用户的SDK是平台指定的由固定API组合生成的,无法针对性的满足用户的需求的问题,具体技术方案如下:
根据本申请实施例的第一方面,提供一种软件开发工具包的生成方法,所述方法包括:
通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API;
响应于目标用户的选择操作,从多个所述API中提取目标数量的待使用的API;
通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
可选的,所述开放平台包括:API解析入参解析模块、API入参建模模块、API返回解析模块、API返回建模模块,以及四类API网关签名模块、API调用方法建模模块、动态打包Package编译模块中的至少一个;
所述API解析入参解析模块用于解析待使用API的入口参数,生成待使用API入口参数的解析结果;
所述API入参建模模块用于根据所述待使用API入口参数的解析结果,生成入口参数模型;
所述API返回解析模块用于解析待使用API的返回参数,生成待使用API返回参数的解析结果;
所述API返回建模模块用于根据所述待使用API返回参数的解析结果,生成返回参数模型;
所述四类API网关签名模块用于对调用的API进行网关签名;
所述API调用方法建模模块用于根据预置的模板引擎Freemaker中的HTTP调用模板创建API的HTTP调用模型;
所述动态打包Package编译模块用于将创建的所述入口参数模型,所述返回参数模型和所述API的HTTP调用模型进行编译。
可选的,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
确定与所述开放平台相关的多个目标业务;
将多个所述目标业务提供的扩展服务封装成多个所述应用程序编程接口。
可选的,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
获取待使用所述开放平台的目标用户信息;
通过所述目标用户信息生成对应的登录账户;
通过所述开放平台的管理员为所述登录账户对应的目标用户分配使用权限,或
通过所述登录账户主动申请为目标用户分配使用权限。
可选的,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
通过栅格布局,弹性布局,媒体查询配置所述开放平台,所述开放平台部署于移动端或门户网站;
在确定所述开放平台部署于移动端的情况下,通过Rem布局和弹性布局适配所述移动端的机型;
在确定所述开放平台部署于门户网站的情况下,通过轻量级标记语言Markdown文档显示关于SDK的服务列表。
可选的,所述四类API网关签名包括:车机系统开发网关、车机应用开发网关、第三方平台开发网关、第三方应用开发网关。
根据本申请实施例的第二方面,提供一种软件开发工具包的生成装置,所述装置包括:
第一确定模块,用于通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API;
第一提取模块,用于响应于目标用户的选择操作,从多个所述API中提取目标数量的待使用的API;
第一生成模块,用于通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
根据本申请实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的软件开发工具包的生成方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行如本申请第一方面所述的软件开发工具包的生成方法。
根据本申请实施例的第五方面,提供一种车辆,包括本申请第二方面所述的软件开发工具包的生成装置。
本申请的实施例提供的技术方案可以包括以下有益效果:
本发明通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API,通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK,可以实现根据用户的需求选择需要的API或API组合,动态生成不同的SDK,可以更好的满足用户的个性化需求,此外,本申请设置开放平台,可以实现对API的统一管理,并自动实现对SDK的编写、构建、打包、上传,使得用户只需要关注API本身的功能开发,不需要浪费太多的时间用于维护SDK,大大节省了时间和人力成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种软件开发工具包的生成方法的步骤流程图;
图2是根据一示例性实施例示出的另一种软件开发工具包的生成方法的步骤流程图;
图3是根据一示例性实施例示出的另一种软件开发工具包的生成方法的步骤流程图;
图4是根据一示例性实施例示出的一种软件开发工具包的生成装置的框图;
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细的对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明实施例构建了开放平台可以实现将不同形式组合的API生成SDK的方法,这一开放平台可以将公司内部包括的各类业务提供的扩展服务封装成一系列应用程序编程接口API对外开放,供第三方开发者使用,具体的,步骤包括:确定与所述开放平台相关的多个目标业务;将多个所述目标业务提供的扩展服务封装成多个所述应用程序编程接口。而后开发者可以通过调用开放平台提供的开放API获取数据和能力,以实现自身系统与开放平台中各类业务系统协同工作的业务逻辑。以控车业务场景为例,开发者可以在自己开发的应用中通过调用开放平台提供的API,提供控车类型等一系列功能。
需要说明的是,本发明实施例中创建的开放平台包括:API解析入参解析模块、API入参建模模块、API返回解析模块、API返回建模模块,以及四类API网关签名模块、API调用方法建模模块、动态打包Package编译模块中的至少一个;其中,API解析入参解析模块用于解析待使用API的入口参数,生成待使用API入口参数的解析结果;API入参建模模块用于根据待使用API入口参数的解析结果,生成入口参数模型;API返回解析模块用于解析待使用API的返回参数,生成待使用API返回参数的解析结果;API返回建模模块用于根据待使用API返回参数的解析结果,生成返回参数模型;四类API网关签名模块用于对调用的API进行网关签名;API调用方法建模模块用于根据预置的模板引擎Freemaker中的HTTP调用模板创建API的HTTP调用模型;动态打包Package编译模块用于将创建的入口参数模型,返回参数模型和API的HTTP调用模型进行编译,其中,四类API网关签名包括:车机系统开发网关、车机应用开发网关、第三方平台开发网关、第三方应用开发网关。
示例的,当用户(开发者)在开放平台选择需要的API生成SDK的流程如图1所示,用户选择需要生成SDK的API,此时的API可以是一个也可以是多个,而后获取这些API对应的信息,这些信息可以是YAPI信息,因为在将API部署进开放平台后,除了需要将选择的API生成SDK,还需要对这些API进行管理,现有的技术中,API提供商在提供API的时候会提供API文档的Sw agger/OpenAPI规范,所以这里我们也选择合适的工具对API进行统一管理,示例的,可以选择YAPI API定义的工具使用,即使用YAPI的规范作为输入,告诉SDK生成工具我们希望生成的Ja va SDK如何,那么此时对应的获取的API信息就是API的YAPI信息,将这些信息输入开放平台的API解析入参解析模块和API返回解析模块,而后将从API解析入参解析模块获取的解析结果输入API入参建模模块,生成入口参数模型(入参实体),将从API返回解析模块获取的解析结果输入API返回建模模块,生成返回参数模型(出参实体),将入口参数模型和返回参数模型输入四类API网关签名模块,解析API的网关类型,并针对不同的网关进行不同的签名,而后经过API调用方法建模模块,生成API调用实例,当所有模型创建完毕后,这时代码还是处于未编译状态,Java代码需要编译后才能执行,所以通过动态打包Package编译模块调用系统指令Maven Pa ckage,开始构建SDK,构建完成后,上传构建后的Jar,并存入数据库中。
需要说明的是,本发明实施例中的开放平台为了用户可以实现多端多分辨率浏览,还通过栅格布局,弹性布局,媒体查询配置开放平台;而后因为本发明实施例中的开放平台可以部署于移动端(比如:手机,笔记本电脑,台式电脑,平板,车机等),还可以部署于门户网站上,这两种部署方式有不同的配置需求,移动端采用Rem布局,弹性布局方式实现各机型适配使用i18n实现,门户网站支持语言切换开发者帮助中心支持以Markdown文档的方式展示开放的各种SDK服务列表,具体的步骤包括:
通过栅格布局,弹性布局,媒体查询配置开放平台,开放平台部署于移动端或门户网站;
在确定开放平台部署于移动端的情况下,通过Rem布局和弹性布局适配移动端的机型;
在确定开放平台部署于门户网站的情况下,通过轻量级标记语言Markdown文档显示关于SD K的服务列表。
其中,栅格布局是以网格为基础的布局方式,它将页面划分为不同的列和行,页面元素按照这个网格排列,栅格布局可以很好地控制页面元素的布局和位置,弹性布局可以根据页面大小自动进行适应,它可以使页面元素既不超出父级容器,也不被空余空间占据,当页面大小变化时,它的布局方式也可以自动变化,增强了网页的适应性和可用性,Rem布局是一种相对于根元素的字体大小的单位,它是响应式设计中常用的一种布局方法,在REM布局中,设计师和开发者根据设计稿确定根元素的字体大小,然后使用REM单位来设置其他元素的大小。REM布局的优势在于可以根据根元素的字体大小自动调整元素的大小,适应不同屏幕大小和设备类型。例如,如果在根元素的字体大小为16px的情况下,使用1rem设置一个元素的宽度为1rem,将会是16px的宽度,此时2rem将会是32px的宽度。如果将根元素的字体大小调整为20px,那么这个元素的宽度也会相应地变为20px,对应的2rem将会是40px的宽度。使用REM布局时,通常会配合媒体查询来设置不同屏幕尺寸下的根元素字体大小,从而实现响应式布局。这样,无论用户是在手机、平板还是台式机上访问网站,布局都能自动适应屏幕尺寸,提供更好的用户体验,使用轻量级标记语言Markdown文档的优势在于:语法轻量化,它的语法非常简单易记,结构简单能够快速上手;文档的占用内存极低;在利用Markdown进行编写的过程中,我们只需要将视线固定在光标处,在输入的时候使用不同的字符,也就是两种字符:文本字符和标记字符,我们就能同时完成文本和格式编辑;Markdown格式固定,和word不同,它基本上不存在版本差异。
本申请的第一实施方式涉及一种软件开发工具包的生成方法,图2是根据一示例性实施例示出的一种软件开发工具包的生成方法的流程图,如图2所示,包括以下步骤:
步骤101,通过开放平台的应用程序编程接口API列表确定开放平台提供的多个API。
本发明实施例中的开放平台是将公司内部包括的各类业务提供的扩展服务封装成一系列应用程序编程接口API对外开放,供第三方开发者(用户)使用,所以用户在选择需要的API之前,需要先确定开放平台可以提供的所有应用程序编程接口API,基于此选择用户需要的API。
需要说明的是,为了使得用户可以更加直观的确定当前开放平台的所有API,开放平台设置了应用程序编程接口列表API列表,将开放平台所有包括的API名称放入列表中。
步骤102,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API。
本发明实施例中的目标数量可以是一个也可以是多个,本发明在此不作具体限定,提取目标数量的待使用API是指用户(开发者)在开放平台提供的API列表里,选择任意一个或多个API,选择的方式可以是用户将需要的API拖拽到生成SDK的功能选项下,还可以是用户通过勾选的方式选择对应的API,而后选择对应的生成SDK选择,具体的选择方式本发明在此不作具体限定。
步骤103,通过开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
本发明实施例中当用户(开发者)在开放平台选择好需要的API之后,开放平台通过预设的SDK生成工具,内部的多个模块,以及不同的业务分层进行整合建模、编译、构建、上传,构建出一个完整的SDK,供用户(开发者)下载使用,其中,业务分层包括:入参层、返回层、客户端层等。
需要说明的是,本发明实施例中的SDK生成有固定的规则,无法对规则以外的API进行SDK生成,该规则主体遵循Restful,并适当的偏向目前主流Restful-API的风格,示例的,正例:获取用户:GET协议、新增用户POST协议、修改用户PUT协议;反例:获取用户:DELETE协议。在生成SDK时,可以对其进行配置,包括设置Java包名、定制模板、选择生成的类和方法等,用户(开发者)可以根据项目的需求进行调整,以确保生成的Java SDK符合项目的风格和要求,在完成配置后,生成的SDK将包含API的各种端点的方法,以及与服务进行通信所需的HTTP请求和响应处理逻辑。
除此之外,随着API的发展,API的定义可能会发生变化,当API变化之后,开放平台会根据这一更新情况,更新开放平台中对应的API,此时用户(开发者)只需重新勾选API,生成新的SDK,即可实现更新,简单快捷。
进一步的,本发明实施例的开放平台在生成SDK后,会将生成的SDK上传到开放平台的目标界面,供用户使用,但是开放平台不仅包括用户自行生成的SDK,还包括平台管理员通过后台上传的SDK,将平台管理员通过后台上传的SDK称为平台级SDK,平台级SDK上传时,需要关联文档中心的一个文档内容,该文档需要运营人员针对不同SDK的使用方法进行编写。
本发明通过开放平台的应用程序编程接口API列表确定开放平台提供的多个API,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API,通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK,可以实现根据用户的需求选择需要的API或API组合,动态生成不同的SDK,可以更好的满足用户的个性化需求,此外,本申请设置开放平台,可以实现对API的统一管理,并自动实现对SDK的编写、构建、打包、上传,使得用户只需要关注API本身的功能开发,不需要浪费太多的时间用于维护SDK,大大节省了时间和人力成本。
本申请的第二实施方式涉及一种软件开发工具包的生成方法,图3是根据一示例性实施例示出的另一种软件开发工具包的生成方法的流程图,如图3所示,包括以下步骤:
步骤201,获取待使用开放平台的目标用户信息。
本发明实施例还会开放平台设置了使用权限,只有分配了使用权限的用户(开发者)才可以使用开放平台,因此,在用户(开发者)使用开放平台之前,会预先为目标用户分配权限,基于此,本发明实施例需要获取待使用开放平台的目标用户信息,目标用户信息可以包括:目标用户的公司名称,目标用户的职位信息,目标用户的私人信息(比如:姓名,身份证号,手机号码等)。
步骤202,通过目标用户信息生成对应的登录账户。
本发明实施例在获取到目标用户信息之后会根据目标用户信息生成对应的登录账户,这个登录账户可以是开放平台根据输入的目标用户信息自动生成的,也可以是目标用户自己在开放平台申请注册的,通常一个用户对应一个登录账户。
步骤203,通过开放平台的管理员为登录账户对应的目标用户分配使用权限,或通过登录账户主动申请为目标用户分配使用权限。
本发明实施例中开放平台的使用权限有两种来源:管理员配置、用户(开发者)自行申请,通过上述方式获取到使用权限后,在用户(开发者)登录账号后,查询管理员是否给当前账号配置使用权限或者用户(开发者)所在的登录账号是否处于自行申请并已通过申请的使用权限列表,若有使用权限,则用户(开发者)可以勾选需要的API,并使用开放平台提供的将API生成SDK的功能。其中,使用权限在配置的过程中,还可以考虑时间因素,避开使用高峰期,降低开放平台的使用压力。
步骤204,通过开放平台的应用程序编程接口API列表确定开放平台提供的多个API。
步骤205,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API。
步骤206,通过开放平台中预设的SDK生成工具将根据目标数量的待使用的API生成目标软件开发工具包SDK。
需要说明的是,在本发明实施例中,上述步骤204~206参照前序论述,在此不再赘述。
本发明实施例通过设置用户权限,避免了无关人员对开放平台的误操作,同时也减少了开放平台的使用压力。
本申请的第三实施方式涉及一种软件开发工具包的生成装置,图4是根据一示例性实施例示出的一种软件开发工具包的生成装置的流程图,如图4所示,包括以下步骤:
第一确定模块301,用于通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API。
第一提取模块302,用于响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API。
第一生成模块303,用于通过开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
可选的,开放平台包括:API解析入参解析模块、API入参建模模块、API返回解析模块、API返回建模模块,以及四类API网关签名模块、API调用方法建模模块、动态打包Package编译模块中的至少一个。
API解析入参解析模块用于解析待使用API的入口参数,生成待使用API入口参数的解析结果。
API入参建模模块用于根据待使用API入口参数的解析结果,生成入口参数模型。
API返回解析模块用于解析待使用API的返回参数,生成待使用API返回参数的解析结果。
API返回建模模块用于根据待使用API返回参数的解析结果,生成返回参数模型。
四类API网关签名模块用于对调用的API进行网关签名。
API调用方法建模模块用于根据预置的模板引擎Freemaker中的HTTP调用模板创建API的HTTP调用模型。
动态打包Package编译模块用于将创建的入口参数模型,返回参数模型和API的HTTP调用模型进行编译。
可选的,软件开发工具包的生成装置还包括:
第二确定模块,用于确定与开放平台相关的多个目标业务。
封装模块,用于将多个目标业务提供的扩展服务封装成多个应用程序编程接口。
第一获取模块,用于获取待使用开放平台的目标用户信息。
第二生成模块,用于通过目标用户信息生成对应的登录账户。
分配使用权限模块,用于通过开放平台的管理员为登录账户对应的目标用户分配使用权限,或通过登录账户主动申请为目标用户分配使用权限。
第一配置模块,用于通过栅格布局,弹性布局,媒体查询配置开放平台,开放平台部署于移动端或门户网站。
第一适配模块,用于在确定开放平台部署于移动端的情况下,通过Rem布局和弹性布局适配移动端的机型。
第一显示模块,用于在确定开放平台部署于门户网站的情况下,通过轻量级标记语言Markdown文档显示关于SDK的服务列表。
可选的,四类API网关签名包括:车机系统开发网关、车机应用开发网关、第三方平台开发网关、第三方应用开发网关。
本发明通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API,响应于目标用户的选择操作,从多个API中提取目标数量的待使用的API,通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK,可以实现根据用户的需求选择需要的API或API组合,动态生成不同的SDK,可以更好的满足用户的个性化需求,此外,本申请设置开放平台,可以实现对API的统一管理,并自动实现对SDK的编写、构建、打包、上传,使得用户只需要关注API本身的功能开发,不需要浪费太多的时间用于维护SDK,大大节省了时间和人力成本。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不作详细阐述说明。
本申请的第四实施方式涉及一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现任一关键词识别方法。
图5是根据一示例性实施例示出的一种用于电子设备400的框图。例如,电子设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出接口412,传感器组件414,以及通信组件416。
处理组件402通常控制装置400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在设备400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为电子设备400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
输入/输出接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到电子设备400的打开/关闭状态,组件的相对定位,例如所述组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,本申请的第五实施方式还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请的第六实施方式涉及一种车辆,以实现任一软件开发工具包的生成装置。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种软件开发工具包的生成方法,其特征在于,所述方法包括:
通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API;
响应于目标用户的选择操作,从多个所述API中提取目标数量的待使用的API;
通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
2.根据权利要求1所述的方法,其特征在于,所述开放平台包括:API解析入参解析模块、API入参建模模块、API返回解析模块、API返回建模模块,以及四类API网关签名模块、API调用方法建模模块、动态打包Package编译模块中的至少一个;
所述API解析入参解析模块用于解析待使用API的入口参数,生成待使用API入口参数的解析结果;
所述API入参建模模块用于根据所述待使用API入口参数的解析结果,生成入口参数模型;
所述API返回解析模块用于解析待使用API的返回参数,生成待使用API返回参数的解析结果;
所述API返回建模模块用于根据所述待使用API返回参数的解析结果,生成返回参数模型;
所述四类API网关签名模块用于对调用的API进行网关签名;
所述API调用方法建模模块用于根据预置的模板引擎Freemaker中的HTTP调用模板创建API的HTTP调用模型;
所述动态打包Package编译模块用于将创建的所述入口参数模型,所述返回参数模型和所述API的HTTP调用模型进行编译。
3.根据权利要求1所述的方法,其特征在于,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
确定与所述开放平台相关的多个目标业务;
将多个所述目标业务提供的扩展服务封装成多个所述应用程序编程接口。
4.根据权利要求1所述的方法,其特征在于,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
获取待使用所述开放平台的目标用户信息;
通过所述目标用户信息生成对应的登录账户;
通过所述开放平台的管理员为所述登录账户对应的目标用户分配使用权限,或
通过所述登录账户主动申请为目标用户分配使用权限。
5.根据权利要求1所述的方法,其特征在于,所述通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API之前,还包括:
通过栅格布局,弹性布局,媒体查询配置所述开放平台,所述开放平台部署于移动端或门户网站;
在确定所述开放平台部署于移动端的情况下,通过Rem布局和弹性布局适配所述移动端的机型;
在确定所述开放平台部署于门户网站的情况下,通过轻量级标记语言Markdown文档显示关于SDK的服务列表。
6.根据权利要求2所述的方法,其特征在于,所述四类API网关签名包括:车机系统开发网关、车机应用开发网关、第三方平台开发网关、第三方应用开发网关。
7.一种软件开发工具包的生成装置,其特征在于,包括:
第一确定模块,用于通过开放平台的应用程序编程接口API列表确定所述开放平台提供的多个API;
第一提取模块,用于响应于目标用户的选择操作,从多个所述API中提取目标数量的待使用的API;
第一生成模块,用于通过所述开放平台中预设的SDK生成工具将目标数量的待使用的API生成目标软件开发工具包SDK。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的软件开发工具包的生成方法中的步骤。
9.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行如权利要求1-6中任一项所述的软件开发工具包的生成方法中的步骤。
10.一种车辆,其特征在于,包括权利要求7所述的软件开发工具包的生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311333447.6A CN117389546A (zh) | 2023-10-13 | 2023-10-13 | 软件开发工具包的生成方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311333447.6A CN117389546A (zh) | 2023-10-13 | 2023-10-13 | 软件开发工具包的生成方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117389546A true CN117389546A (zh) | 2024-01-12 |
Family
ID=89469561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311333447.6A Pending CN117389546A (zh) | 2023-10-13 | 2023-10-13 | 软件开发工具包的生成方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389546A (zh) |
-
2023
- 2023-10-13 CN CN202311333447.6A patent/CN117389546A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107329743B (zh) | 应用页面的展示方法、装置及存储介质 | |
EP3531257B1 (en) | Application interface management method and apparatus | |
CN109032606B (zh) | 原生应用程序的编译处理方法、装置及终端 | |
CN106569800B (zh) | 前端界面生成方法及装置 | |
TWI528282B (zh) | 用於自訂應用程式的啟動之方法 | |
CN107943547B (zh) | 多服务集成方法、装置、智能终端、服务器和操作系统 | |
CN110874217B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN110308908B (zh) | 应用的配置文件的生成和应用页面的展示方法、装置及存储介质 | |
CN111026491B (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
EP4155982A1 (en) | Page display method and apparatus, and electronic device | |
CN109408136A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
EP2866158A1 (en) | Method for reader to provide service, reader, terminal and computer storage medium | |
CN107193441B (zh) | 桌面挂件预览方法及装置 | |
CN111512286A (zh) | 编排程序的方法及电子设备 | |
CN110928543A (zh) | 页面处理方法、装置及存储介质 | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN110704053B (zh) | 一种样式信息的处理方法及装置 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
US11210449B2 (en) | Page display method and device and storage medium | |
CN104951522B (zh) | 一种进行搜索的方法和装置 | |
CN111695064B (zh) | 一种埋点加载方法及装置 | |
CN105468606B (zh) | 网页保存的方法及装置 | |
CN110865864B (zh) | 快应用的界面显示方法、装置、设备及存储介质 | |
CN111046265B (zh) | 卡片数据显示方法、装置、设备及存储介质 | |
CN111079040A (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 |