CN111158695B - 接口定位方法、装置、计算机设备和存储介质 - Google Patents

接口定位方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111158695B
CN111158695B CN201911316991.3A CN201911316991A CN111158695B CN 111158695 B CN111158695 B CN 111158695B CN 201911316991 A CN201911316991 A CN 201911316991A CN 111158695 B CN111158695 B CN 111158695B
Authority
CN
China
Prior art keywords
interface
native
interfaces
target
document
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.)
Active
Application number
CN201911316991.3A
Other languages
English (en)
Other versions
CN111158695A (zh
Inventor
王斐航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN201911316991.3A priority Critical patent/CN111158695B/zh
Publication of CN111158695A publication Critical patent/CN111158695A/zh
Application granted granted Critical
Publication of CN111158695B publication Critical patent/CN111158695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及一种接口定位方法、装置、计算机设备和存储介质,通过计算机设备获取当前开发过程中所需接口的接口功能,并根据接口功能从包括不同的原生接口的接口功能与接口方法名之间的对应关系的原生接口文档中,确定与接口功能匹配的目标接口方法名,然后基于目标接口方法名,在目标应用程序代码中查找目标原生接口。这样,在后续的H5开发过程中,可通过该原生接口文档,快速定位到目标应用程序代码中的目标原生接口;且,对目标应用程序代码中的原生接口的功能和方法名进行汇总整理,有利于H5开发过对原生接口的规划和优化,大大节省了开发过程中的对接成本,也节省了后续维护成本。

Description

接口定位方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种接口定位方法、装置、计算机设备和存储介质。
背景技术
在安卓系统中,大部分安卓应用程序的开发,都需要与安卓系统的原生代码进行接口交互才可以完整运行。
以安卓系统中的网页应用程序为例,网页应用程序开发时需要基于网格视图在H5上调用安卓系统的原生代码来实现。目前的安卓系统提供的H5与安卓原生代码之间接口交互的方式,是通过将安卓的原生注解@JavascriptInterface注释到指定的安卓代码的原生接口方法上,然后在H5上直接调用被@JavascriptInterface注解注释的接口方法名,即可实现H5与安卓原生代码之间的接口交互。
然而,虽然通过原生注解可以实现H5和原生代码之间的接口交互,但在后期仍存在对已开发好的交互接口难以定位的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种接口定位方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供一种接口定位方法,该方法包括:
获取当前开发过程中所需接口的接口功能;
根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
在其中一个实施例中,上述原生接口文档的获取方法,包括:
获取目标应用程序代码中所有原生接口上的注释信息;注释信息包括原生接口的接口方法名以及原生接口的接口功能;
根据所有注释信息,生成原生接口文档。
在其中一个实施例中,在上述获取目标应用程序代码中所有原生接口上的注释信息之前,该方法还包括:
获取每个原生接口上预设的注解的参数;参数至少包括原生接口的方法名参数、功能参数;
基于参数获取方法名参数对应的接口方法名,以及功能参数对应的接口功能;
基于方法名参数对应的接口方法名,以及功能参数对应的接口功能,生成注释信息。
在其中一个实施例中,该方法还包括:
获取各原生接口的类位置信息;其中,类位置信息用于表示原生接口在目标应用程序代码中的位置;
则根据所有注释信息,生成原生接口文档,包括:
根据注释信息和类位置信息,生成原生接口文档。
在其中一个实施例中,生成原生接口文档,包括:
通过预设的文件输出代码,生成Html文档。
在其中一个实施例中,在生成原生接口文档之后,该方法还包括:
保存原生接口文档至预设的文件存储路径中。
在其中一个实施例中,该方法还包括:
基于目标代码中所有原生接口的所有调用入口与总调用入口之间的关联关系,将预设的原生注解添加至总调用入口,以对目标代码中所有原生接口的调用入口进行统一;其中,原生注解用于表征所有原生接口可通过总调用入口被调用。
在其中一个实施例中,在获取目标应用程序代码中所有原生接口上的注释信息之后,该方法还包括:
根据注释信息,生成各原生接口的路由方法和初始化方法;路由方法应用在总调用入口的位置;初始化方法应用在目标代码初始化的位置。
在其中一个实施例中,接口功能是基于接口的应用场景确定的,不同的应用场景对应不同的接口功能。
第二方面,本申请实施例提供一种接口定位装置,装置包括:
获取模块,用于获取当前开发过程中所需接口的接口功能;
匹配模块,用于根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
定位模块,用于基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面实施例提供的任一项方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面实施例提供的任一项方法的步骤。
本申请实施例提供的一种接口定位方法、装置、计算机设备和存储介质,通过计算机设备获取当前开发过程中所需接口的接口功能,并根据接口功能从包括不同的原生接口的接口功能与接口方法名之间的对应关系的原生接口文档中,确定与接口功能匹配的目标接口方法名,然后基于目标接口方法名,在目标应用程序代码中查找目标原生接口。该方法中,由于原生接口文档中包括了不同的原生接口的接口功能与接口方法名之间的对应关系,相当于通过原生接口文档对目标应用程序代码中的原生接口的功能和方法名进行了汇总整理,这样,在后续的H5开发过程中,可通过该原生接口文档,快速定位到目标应用程序代码中的目标原生接口;且,对目标应用程序代码中的原生接口的功能和方法名进行汇总整理,有利于H5开发过对原生接口的规划和优化,大大节省了开发过程中的对接成本,也节省了后续维护成本。
附图说明
图1为一个实施例提供的一种接口定位方法的应用环境图;
图2为一个实施例提供的一种接口定位方法的流程示意图;
图3为一个实施例提供的一种接口定位方法的流程示意图;
图4为一个实施例提供的一种Html文档示意图;
图5为一个实施例提供的一种接口定位方法的流程示意图;
图6为一个实施例提供的一种注解处理器实现结构示意图;
图7为一个实施例提供的一种注解处理器生成文档编译过程示意图;
图8为一个实施例提供的一种接口定位装置的结构框图;
图9为一个实施例提供的一种接口定位装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
安卓系统中的应用程序包括原生应用程序和网页应用程序,其中,在开发网页应用程序时,或多或少都会用到网格视图(以下称为webview),webview是一个实现H5与安卓原生代码互调的重要控件,通过webview可以方便简单的展示一些经常变动的H5界面,也比较易于维护。
实际应用中,网页应用程序开发时,可以通过@JavascriptInterface注解注释到安卓原生接口方法上实现H5与安卓原生代码之间的接口交互,但仍然存在以下问题:
第一,难以维护:对于交互接口而言,很多原生代码的交互接口是可以在H5的业务场景中使用多次的,例如,获取当前用户的基本信息、获取当前用户的登录状态等接口。然而,由于各个交互接口的开发人员的开发习惯的差异,往往不能留下有效的注释,这就导致下次碰到相似场景时,较难从已有的接口中找到可以复用的接口。
第二,难以定位:对于一个大型的安卓应用程序来说,与H5交互的接口可能有上千个,而@JavascriptInterface注解只修饰方法(即只对交互接口的接口方法名进行注解),没有任何属性参数可以让开发人员进行标注,使得原生代码与H5对接的时候只有一个方法名可以进行双方调用对照,当在后端出现bug,想要从上千个接口中快速定位到响应的接口方法,就较为麻烦。
基于此,本申请实施例提供一种接口定位方法、装置、计算机设备和存储介质,通过对安卓原生代码中的原生接口进行一个整体的汇总,既可以方便研发对照维护,还可以及时差缺补漏,以及对原生接口整体进行规划和优化。
图1提供一种接口定位方法的应用环境,如图1所示,该应用环境包括计算机设备,该计算机设备可以为终端或者服务器,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储一种接口定位方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口定位方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请提供的一种接口定位方法,图2-图7的执行主体为计算机设备,其中,其执行主体还可以是接口定位装置,其中该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在一个实施例中,图2提供了一种接口定位方法,本实施例涉及的是计算机设备根据当前开发过程中所需接口的接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名,然后从目标应用程序代码中查找目标原生接口的具体过程,如图2所示,该方法包括:
S101,获取当前开发过程中所需接口的接口功能。
其中,所需接口表示的是开发人员在对网页应用程序进行新功能再开发时,所需要调用已开发好的H5与安卓原生代码之间的交互接口。
例如,上文所述的交互接口有获取当前用户的基本信息的、有获取当前用户的登录状态的,那么,这里的所需接口就可以是已开发好的获取当前用户的基本信息的交互接口,或者,是已开发好的获取当前用户的登录状态的交互接口。
可选地,接口功能是基于接口的应用场景确定的,不同的应用场景对应不同的接口功能。即接口功能表示的该接口可实现的场景,例如,有的接口是用于UI场景的,则该接口的接口功能为实现UI界面调用;有的接口是用于获取手机设备信息场景的,则该接口的接口功能为实现手机设备信息的调用;有的接口是用于获取用户信息数据场景的,则该接口的接口功能为实现用户信息数据的调用。可选地,可为各场景定义不同的字符串,字符串是用于区分不用场景下接口的标识,对应不同的应用场景,这样可以根据各场景对应的字符串,检索各接口。
通常,在开发人员开发应用程序的新功能时,其所需接口的接口功能是已经确定好的,因此,本步骤中计算机设备可获取到当前开发过程中所需接口的接口功能。例如,计算机设备接口开发人员输入的接口功能;或者,计算机设备从其他设备中请求当前所需接口的接口功能等,本实施例对计算机设备的获取方式不作限定。
S102,根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系。
本步骤中,原生接口文档表示安卓原生代码中所有原生接口的接口描述信息的汇总文档,这里的接口描述信息表示的是原生接口的方法名、功能、位置、功能中具体包括的使用场景等。其中,接口的方法名表示该接口方法的函数名称。
实际中,原生接口文档是在开发人员开发应用程序时,计算机设备对与原生代码之间交互接口的接口描述信息进行汇总并存储的文档。在汇总该原生接口文档时,计算机设备需将原生代码中所有交互接口的方法名、功能等信息全部汇总进该文档中,相当于,最终得到的原生接口文档中包括了不同的原生接口的接口功能与接口方法名之间的对应关系。
基于此,本步骤中,计算机设备根据S101步骤获取的当前开发过程中所需接口的接口功能,从该原生接口文档中确定与该所需接口的接口功能匹配的目标接口方法名。
S103,基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
上文中有描述是开发人员在开发安卓应用程序时,需要从已开发好的接口方法中查找当前所需接口,已开发好的接口方法就在当前开发的安卓应用程序的程序代码中,也就是说,计算机设备需要从目标应用程序代码中查找当前所需接口。
具体地,计算机设备匹配到目标接口的方法名后,基于目标接口方法名,到目标目标应用程序代码中查找当前所需接口对应的目标原生接口。查找目标原生接口,就相当于定位该目标原生接口,这样在当前开发过程中对所需接口直接调用该目标原生接口时,无需再重新开发,就可实现从已有的接口中找到可以复用的接口;且,在需要维护后端bug时,通过该查找方法,可快速从应用程序上千个接口中进行定位。
本实施例提供的接口定位方法,通过计算机设备获取当前开发过程中所需接口的接口功能,并根据接口功能从包括不同的原生接口的接口功能与接口方法名之间的对应关系的原生接口文档中,确定与接口功能匹配的目标接口方法名,然后基于目标接口方法名,在目标应用程序代码中查找目标原生接口。该方法中,由于原生接口文档中包括了不同的原生接口的接口功能与接口方法名之间的对应关系,相当于通过原生接口文档对目标应用程序代码中的原生接口的功能和方法名进行了汇总整理,这样,在后续的H5开发过程中,可通过该原生接口文档,快速定位到目标应用程序代码中的目标原生接口;且,对目标应用程序代码中的原生接口的功能和方法名进行汇总整理,有利于H5开发过对原生接口的规划和优化,大大节省了开发过程中的对接成本,也节省了后续维护成本。
基于上述实施例,对上述实施例中的原生接口文档的获取方法,提供一个实施例对获取过程进行具体说明,如图3所示,在一个实施例中,该实施例包括:
S201,获取目标应用程序代码中所有原生接口上的注释信息;注释信息包括原生接口的接口方法名以及原生接口的接口功能。
注释信息表示对目标应用程序代码中原生接口注释的说明信息,其中,注释信息属于上述实施例中所述的接口描述信息中的一部分,例如,注释信息包括了原生接口的接口方法名、接口功能,但接口描述信息中除了包括原生接口的接方法名、接口功能外,还可以包括原生接口的类位置信息。
可选地,原生接口上的注释信息可以通过增加自定义的注解来实现,例如,自定义一个可以填写多个参数的注解,用于标注各原生接口,其中该自定义的注解的参数可以包括接口方法名(函数名)、场景描述、场景模块等信息。可选地,原生接口上的注释信息可以通过java脚本或者gradle脚本来实现,本实施例对此不作限定。
S202,根据所有注释信息,生成原生接口文档。
基于上述获取的所有注释信息,计算机设备生成接口文档。
可选地,计算机设备根据所有注释信息,生成接口文档的方式可以是通过预设的文件输出代码,生成Html文档。
如图4所示,为一种Js接口的生成的Html文档的示意图。图4中生成的Html文档中包括:Js接口的场景,Js接口方法名称,Js接口所属的类位置等。
当然,本实施例中原生接口文档除了是生成的Html文档以外,还可以时生成的其他文档,例如excel、txt等,本实施例对此不作限定。
可选地,计算机设备获取注释信息可以通过编译运行注解处理器来收集,并通过注解处理器生成原生接口文档。例如java注解处理器。其中注解处理器可以用来在编译时扫描和处理注解,通过注解处理器可以获取到注解和被注解对象的相关信息。
另外,前文有提及原生接口文档表示安卓原生代码中所有原生接口的接口描述信息的汇总文档,即原生接口文档中存储的实际上是所有原生接口的接口描述信息,又由于前面所提及注释信息是接口描述信息中的一部分,相当于,原生接口文档中除了有前面收集的注释信息以外,还有其他信息,例如原生接口的类位置信息。
基于此,提供一个关于原生接口的类位置信息的实施例,该实施例包括:获取各原生接口的类位置信息;其中,类位置信息用于表示原生接口在目标应用程序代码中的位置;则根据注释信息和类位置信息,生成原生接口文档。
计算机设备在上述获取目标应用程序代码中所有原生接口上的注释信息时,还可以同时收集各原生接口的类位置信息,其中,类位置信息表示的时原生接口在目标应用程序代码中的位置,通过该类位置信息可以在目标应用程序代码中快速定位到各原生接口。
获取到各原生接口的类位置信息后,就可以根据注释信息和类位置信息共同生成该原生接口文档。这样,原生接口文档中就除了包括注释信息外,还包括各原生接口的类位置信息。在实际应用中,计算机设备可通过原生接口文档中各原生接口的方法名、功能(在注释信息中),或者,通过类位置信息,直接定位到目标应用程序代码中的目标原生接口。
考虑到是在后续开发过程中需要使用该原生接口文档,那么就需要对该原生接口文档存储在一个大家都可获取的位置,即需要约定一个固定位置对该原生接口文档进行存储。则在一个实施例中,在生成原生接口文档之后,该方法还包括:保存原生接口文档至预设的文件存储路径中。
例如,将该原生接口文档存储至文件目录的工程根目录下,方便开发人员查看。
可选地,为了每次通过原生接口文档可以准确地定位到目标原生接口,那么在实际使用过程中,需要对该原生接口文档进行定期更新,以保证该原生接口文档中记录的信息是最新的,最准确的。
提供一个实施例,对上述原生接口上的注释信息是通过增加自定义的注解来实现的具体过程进行说明,如图5所示,该实施例包括:
S301,获取每个原生接口上预设的注解的参数;参数至少包括原生接口的方法名参数、功能参数。
其中,注解,通俗的来说,就是像注释一样,是由开发人员在代码中加入的一种“标注”,其不影响所编写的原有代码的执行。
具体地,目标应用程序代码中的所有原生接口上增加注解,且该注解为预定义的一种注解,用于对各接口增加注释信息,例如,该注解可以是@Js method。其中该注解一个可以填写多个参数的注解,可填写的参数至少包括原生接口的方法名参数、功能参数,或者具体地为函数名、场景描述、场景模块等信息。
S302,基于参数获取方法名参数对应的接口方法名,以及功能参数对应的接口功能。
该预定义的注解增加到每个原生接口中,用于提示开发人员对所有原生接口上填写注解中的各参数对应的参数值。当然,填写各注解的参数对应的值,可以是开发人员通过输入设备输入的,也可以是计算机设备接收的其他设备传输的,本实施例对此不作限定。
基于上述获取的注解的参数值,计算机设备获取各参数对应的参数值,即方法名参数对应的接口方法名,以及功能参数对应的接口功能。
S303,基于方法名参数对应的接口方法名,以及功能参数对应的接口功能,生成注释信息。
计算机设备获取了方法名参数对应的接口方法名,以及功能参数对应的接口功能后,生成注释信息。
本实施例通过注解的方式给各原生接口增加方法名以及功能参数值,并根据增加的方法名和参数值生成注释信息,有效地实现了在应用程序开发过程中对各原生接口进行注释,方便了后续对原生接口的接口描述信息的汇总。
为了H5更好的调用原生代码,可以对原生代码的调用入口进行统一管理,则在在一个实施例中,该方法还包括:基于目标代码中所有原生接口的所有调用入口与总调用入口之间的关联关系,将预设的原生注解添加至总调用入口,以对目标代码中所有原生接口的调用入口进行统一;其中,原生注解用于表征所有原生接口可通过总调用入口被调用。
具体地,使用安卓原生的注解@JavascriptInterface统一对目标代码中所有原生接口的所有调用入口的总调用入口进行标注,使得,H5可以通过一个总调用入口实现对目标代码中各原生接口的所有调用入口进行调用,这样,H5在调用各原生接口的时候都会走该总调用入口统一的方法路由到对应的实现。
另外,在一个实施例中,在获取目标应用程序代码中所有原生接口上的注释信息之后,还可以根据注释信息,生成各原生接口的路由方法和初始化方法;路由方法应用在总调用入口的位置;初始化方法应用在目标代码初始化的位置。
示例地,计算机设备生成各原生接口的路由方法和初始化方法可以是通过预设的注解处理器,需要说明的是,该注解处理器与前问所述的获取注释信息并生成原生接口文档的注解处理器为同一个,只需在注解处理器中对各自对应的生成器进行区分即可。
例如,可参见图6所示(图中未示出路由方法生成过程),注解处理器中包括原生接口类初始化生成器和原生接口文档生成器。其中,原生接口类初始化生成器根据注释信息生成原生接口的初始化方法,原生接口文档生成器根据注释信息生成原生接口的文档。其中图6中下半部分示出的是注解处理器收集了3个原生交互接口通过自定义注解的添加的注释信息的过程,其中图6中的原生接口所属模块,接口方法名和场景描述均属于注释信息。对于图6中所示的仅为说明本申请实现原理的参考,不作为本申请实现过程的限定。
对于通过注解处理器,实现注释信息获取,以及原生接口文档生成的编译过程,提供一个实施例,如图7所示,该图中生成的原生接口文档为Html文档,收集注释信息时为注解类。其中,图7中所示的仅为说明本申请实现原理的参考,不作为本申请实现过程的限定。
该实施例包括:S11,开始。
S12,使用注解(自定义的注解)标注原生接口方法,填写方法名、场景描述、模块信息等,即填写的是自定义注解的参数值。
S13,编译开始。
S14,注解处理器开始执行。
S15,收集所有被注解注释的注解类。
S16,将收集到的注解类的参数,生成html文档,放置在工程根目录中。
S17,结束。
对于该实施例中各步骤实现的具体过程,可参考前文实施例所述,在此不再赘述。本实施例通过自定义注解的方式收集整理与H5交互的所有的原生接口,通过注解代码自动生成收集到的信息的文档,节省了H5开发与原生开发的对接时间,减少了原生接口的维护时间。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种接口定位装置,该装置包括:获取模块10、匹配模块11和定位模块12,其中,
获取模块10,用于获取当前开发过程中所需接口的接口功能;
匹配模块11,用于根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
定位模块12,用于基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
在一个实施例中,如图9所示,该装置还包括:
信息获取模块13,用于获取目标应用程序代码中所有原生接口上的注释信息;注释信息包括原生接口的接口方法名以及原生接口的接口功能;
文档生成模块14,用于根据所有注释信息,生成原生接口文档。
在一个实施例中,该装置还包括:
参数获取模块,用于获取每个原生接口上预设的注解的参数;参数至少包括原生接口的方法名参数、功能参数;
处理模块,用于基于参数获取方法名参数对应的接口方法名,以及功能参数对应的接口功能;
信息生成模块,用于基于方法名参数对应的接口方法名,以及功能参数对应的接口功能,生成注释信息。
在一个实施例中,该装置还包括:位置信息模块,用于获取各原生接口的类位置信息;其中,类位置信息用于表示原生接口在目标应用程序代码中的位置;
上述文档生成模块14,用于根据注释信息和类位置信息,生成原生接口文档。
在一个实施例中,上述文档生成模块14,具体用于通过预设的文件输出代码,生成Html文档。
在一个实施例中,该装置还包括存储模块,用于保存原生接口文档至预设的文件存储路径中。
在一个实施例中,该装置还包括统一入口模块,用于基于目标代码中所有原生接口的所有调用入口与总调用入口之间的关联关系,将预设的原生注解添加至总调用入口,以对目标代码中所有原生接口的调用入口进行统一;其中,原生注解用于表征所有原生接口可通过总调用入口被调用。
在一个实施例中,该装置还包括应用模块,用于根据注释信息,生成各原生接口的路由方法和初始化方法;路由方法应用在总调用入口的位置;初始化方法应用在目标代码初始化的位置。
在一个实施例中,接口功能是基于接口的应用场景确定的,不同的应用场景对应不同的接口功能。
上述实施例提供的所有接口定位装置,其实现原理和技术效果与上述接口定位方法实施例类似,在此不再赘述。
关于接口定位装置的具体限定可以参见上文中对于接口定位方法的限定,在此不再赘述。上述接口定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口定位方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取当前开发过程中所需接口的接口功能;
根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取当前开发过程中所需接口的接口功能;
根据接口功能,从预设的原生接口文档中确定与接口功能匹配的目标接口方法名;原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
基于目标接口方法名,在目标应用程序代码中查找目标原生接口。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种接口定位方法,其特征在于,所述方法包括:
获取当前开发过程中所需接口的接口功能;
根据所述接口功能,从预设的原生接口文档中确定与所述接口功能匹配的目标接口方法名;所述原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
基于所述目标接口方法名,在目标应用程序代码中查找目标原生接口;
所述原生接口文档的获取方法,包括:
获取所述目标应用程序代码中所有原生接口上的注释信息;所述注释信息包括所述原生接口的接口方法名以及所述原生接口的接口功能;
根据所有注释信息,生成所述原生接口文档。
2.根据权利要求1所述的接口定位方法,其特征在于,在获取所述目标应用程序代码中所有原生接口上的注释信息之前,所述方法还包括:
获取每个原生接口上预设的注解的参数;所述参数至少包括所述原生接口的方法名参数、功能参数;
基于所述参数获取所述方法名参数对应的接口方法名,以及所述功能参数对应的接口功能;
基于所述方法名参数对应的接口方法名,以及所述功能参数对应的接口功能,生成所述注释信息。
3.根据权利要求1所述的接口定位方法,其特征在于,所述方法还包括:
获取各所述原生接口的类位置信息;其中,所述类位置信息用于表示所述原生接口在所述目标应用程序代码中的位置;
则根据所有注释信息,生成所述原生接口文档,包括:
根据所述注释信息和所述类位置信息,生成所述原生接口文档。
4.根据权利要求2-3任一项所述的接口定位方法,其特征在于,所述生成所述原生接口文档,包括:
通过预设的文件输出代码,生成Html文档。
5.根据权利要求1所述的接口定位方法,其特征在于,所述方法还包括:
基于所述目标代码中所有原生接口的所有调用入口与总调用入口之间的关联关系,将预设的原生注解添加至所述总调用入口,以对所述目标代码中所有原生接口的调用入口进行统一;其中,所述原生注解用于表征所有原生接口可通过所述总调用入口被调用。
6.根据权利要求5所述的接口定位方法,其特征在于,在所述获取所述目标应用程序代码中所有原生接口上的注释信息之后,所述方法还包括:
根据所述注释信息,生成各所述原生接口的路由方法和初始化方法;所述路由方法应用在所述总调用入口的位置;所述初始化方法应用在所述目标代码初始化的位置。
7.一种接口定位装置,其特征在于,所述装置包括:
获取模块,用于获取当前开发过程中所需接口的接口功能;
匹配模块,用于根据所述接口功能,从预设的原生接口文档中确定与所述接口功能匹配的目标接口方法名;所述原生接口文档包括不同的原生接口的接口功能与接口方法名之间的对应关系;
定位模块,用于基于所述目标接口方法名,在目标应用程序代码中查找目标原生接口;
信息获取模块,用于获取所述目标应用程序代码中所有原生接口上的注释信息;所述注释信息包括所述原生接口的接口方法名以及所述原生接口的接口功能;
文档生成模块,用于根据所有注释信息,生成所述原生接口文档。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201911316991.3A 2019-12-19 2019-12-19 接口定位方法、装置、计算机设备和存储介质 Active CN111158695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911316991.3A CN111158695B (zh) 2019-12-19 2019-12-19 接口定位方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911316991.3A CN111158695B (zh) 2019-12-19 2019-12-19 接口定位方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111158695A CN111158695A (zh) 2020-05-15
CN111158695B true CN111158695B (zh) 2023-07-25

Family

ID=70557413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911316991.3A Active CN111158695B (zh) 2019-12-19 2019-12-19 接口定位方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111158695B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572278A (zh) * 2014-12-22 2015-04-29 百度在线网络技术(北京)有限公司 轻应用调用本地端能力的方法、装置及设备
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN106603593A (zh) * 2015-10-15 2017-04-26 北京京东尚科信息技术有限公司 一种基于适配的http调用方法及装置
CN109445845A (zh) * 2018-09-10 2019-03-08 深圳市智美达科技股份有限公司 接口调用方法、装置、计算机设备和存储介质
CN109614320A (zh) * 2018-11-16 2019-04-12 福建天泉教育科技有限公司 一种检测代码接口准确性的方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN104572278A (zh) * 2014-12-22 2015-04-29 百度在线网络技术(北京)有限公司 轻应用调用本地端能力的方法、装置及设备
CN106603593A (zh) * 2015-10-15 2017-04-26 北京京东尚科信息技术有限公司 一种基于适配的http调用方法及装置
CN109445845A (zh) * 2018-09-10 2019-03-08 深圳市智美达科技股份有限公司 接口调用方法、装置、计算机设备和存储介质
CN109614320A (zh) * 2018-11-16 2019-04-12 福建天泉教育科技有限公司 一种检测代码接口准确性的方法及终端

Also Published As

Publication number Publication date
CN111158695A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN108446116B (zh) 应用程序页面的生成方法、装置、计算机设备和存储介质
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
CN105683924A (zh) 通过从在本机模式中执行转变为在经解释的模式中执行来调试本机代码
CN107783766B (zh) 对应用程序的文件进行清理的方法和装置
CN109032631A (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN110365724B (zh) 任务处理方法、装置及电子设备
CN110781658B (zh) 简历解析方法、装置、电子设备和存储介质
CN112769706B (zh) 组件化路由方法及系统
CN114089986A (zh) 低代码开发平台函数表达式配置方法、系统、设备及介质
CN107797996B (zh) 一种词条翻译方法及装置
CN116560683A (zh) 软件更新方法、装置、设备及存储介质
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN110134380B (zh) 一种基于模板引擎的代码生成方法、装置及电子设备
US9696973B1 (en) Compilation cache with imports scanner
CN111949529B (zh) 系统调试方法、装置、计算机设备和存储介质
CN111158777B (zh) 组件调用方法、装置及计算机可读存储介质
CN111488144B (zh) 一种数据处理方法以及设备
CN111158695B (zh) 接口定位方法、装置、计算机设备和存储介质
CN109086059B (zh) 代码加载更新方法、装置及服务器
CN112528193A (zh) 页面文案处理方法、页面文案管理方法、装置、终端设备、计算机设备及服务器
CN110058849A (zh) 流程图的生成方法、装置、计算机设备以及存储介质
CN112199092B (zh) 应用的开发方法、装置及电子设备
CN111857782B (zh) 界面更新方法、装置、计算机设备和存储介质
CN110286894B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210113

Address after: 511400 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511400 24 / F, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200515

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Interface positioning method, device, computer equipment and storage medium

License type: Common License

Record date: 20210208

GR01 Patent grant
GR01 Patent grant