混合型应用的接口调用方法、装置及计算机可读存储介质制造方法及图纸

技术编号:19820842 阅读:18 留言:0更新日期:2018-12-19 14:22
一种混合型应用的接口调用方法,包括如下步骤:在通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作时,确定混合型应用的版本号,根据版本号与当前JavaScript脚本文件,确定混合型应用中定义的原生API中是否包括目标API,从而禁止调用或允许调用目标API;本发明专利技术实现了对JavaScript与原生交互的伪协议的版本控制,在JavaScript进行热更新但应用未升级而导致的当前JavaScript脚本文件与原生不匹配的情况下,若检测到当前版本下无法完成调用时,则在通过当前JavaScript脚本文件响应上述触发操作时,禁止调用目标API并直接跳过此次调用,保证混合型应用主体功能的正常使用。

【技术实现步骤摘要】
混合型应用的接口调用方法、装置及计算机可读存储介质
本专利技术涉及计算机领域,尤其涉及一种混合型应用的接口调用方法、装置及计算机可读存储介质。
技术介绍
混合型应用(HybridApp)是一种介于网页应用(WebApp)和原生应用(NativeApp)之间的应用,指的是应用的原生(Native)代码中部分功能采用动态网页(HTML5+JavaScript)来实现,兼具原生应用良好的用户交互体验以及网页应用跨平台开发的优势。在混合型应用的使用过程中,原生代码和JavaScript(一种直译式脚本语言)代码互相调用并传递参数,而且能回调数据,但原生与JavaScript在相互调用过程中存在以下问题:在混合型应用的开发过程中,原生代码和JavaScript代码通常是分开开发的,当需要为混合型应用增加一种新的功能时,需要在JavaScript代码中增加对应于该新功能的调用方法,同时对原生代码进行更新使原生代码增加一个与该新功能对应的API(ApplicationProgrammingInterface,应用程序编程接口);JavaScript代码热更新后的新版本直接被发布到线上,因此可以直接使用更新后的JavaScript代码,但原生代码更新后的新版本只有在用户更新该混合型应用后才能被使用,而实际使用时,用户通常不会及时更新混合型应用,也就不会及时获取到新版本的原生代码,则当新版本的JavaScript执行新增加的调用方法来调用原生时,由于旧版本的原生代码中并不包括对应的API,因此JavaScript中的新的调用方法无法完成调用,混合型应用程序无法完成相应功能的启动,甚至无法继续使用,兼容性和使用体验都较差。
技术实现思路
本专利技术的目的在于提供一种混合型应用的接口调用方法、装置及计算机可读存储介质,通过版本控制提高了混合型应用的兼容性,同时保证了JavaScript异步调用时的安全性。本专利技术是通过下述技术方案来解决上述技术问题:一种混合型应用的接口调用方法,该方法包括:若通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作,则确定混合型应用的版本号;根据版本号与当前JavaScript脚本文件,确定混合型应用中定义的原生API中是否包括目标API;若原生API中不包括目标API,则在通过当前JavaScript脚本文件响应触发操作时,禁止调用目标API;若原生API中包括目标API,则在通过当前JavaScript脚本文件响应触发操作时,允许调用目标API。为了实现上述目的,本专利技术还提供了一种混合型应用的接口调用装置,该装置包括:版本确定模块,用于在通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作时,确定混合型应用的版本号;检测模块,用于根据版本号与当前JavaScript脚本文件,确定混合型应用中定义的原生API中是否包括目标API;操作模块,用于在原生API中不包括目标API时,通过当前JavaScript脚本文件响应触发操作时,禁止调用目标API;调用模块,用于在原生API中包括目标API时,通过当前JavaScript脚本文件响应触发操作时,允许调用目标API。为了实现上述目的,本专利技术还提供了一种计算机设备,该计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现混合型应用的接口调用方法的步骤。为了实现上述目的,本专利技术还提供了一种计算机可读存储介质,计算机可读存储介质内存储有至少一条指令,至少一条指令由至少一个处理器加载并执行实现混合型应用的接口调用方法。本专利技术的积极进步效果在于:1、本专利技术实现了对JavaScript与原生交互的伪协议的版本控制,在JavaScript进行热更新但应用未升级而导致的当前JavaScript脚本文件与当前版本的原生不匹配的情况下,在通过当前JavaScript脚本文件响应调用目标API的触发操作时,禁止调用目标API,直接跳过此次调用,保证混合型应用主体功能的正常使用。2、JavaScript在异步调用多个原生方法时,原生按调用顺序依次执行并依次回调,保证了调用过程中的安全性;同时在多次调用符合预设调用顺序时,原生可以对多次调用进行合并处理,全部执行完成后再在最后进行一次回调,提高了JavaScript与原生之间互相调用的效率。附图说明图1示出了本专利技术混合型应用的接口调用方法一实施例的流程图。图2示出了本专利技术混合型应用的接口调用方法又一实施例的流程图。图3示出了本专利技术混合型应用的接口调用装置一实施例的程序模块示意图。图4示出了本专利技术混合型应用的接口调用装置又一实施例的程序模块示意图。图5示出了本专利技术混合型应用的接口调用装置又一实施例的程序模块示意图。图6示出了本专利技术混合型应用的接口调用装置又一实施例的程序模块示意图。图7示出了本专利技术计算机设备一实施例的硬件结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一请参考图1,示出了混合型应用的接口调用方法的具体步骤,该混合型应用同时包括原生以及JavaScript脚本文件,原生和JavaScript脚本文件互相调用以实现整个混合型应用的功能。其中,原生基于硬件平台支持的开发工具和语言来开发,其被安装于基于该类硬件平台的计算机设备上并可以调用计算机设备的硬件功能(如扬声器、加速度传感器和摄像头等),例如,原生可以基于IOS平台支持的Xcode或Objective-c来开发并被安装于基于IOS平台的计算机设备上,或者,原生基于安卓平台支持的Eclipse或Java来开发并被安装于基于安卓平台的计算机设备上。JavaScript脚本文件基于Web技术开发。本申请公开的接口调用方法具体如下:步骤110,若通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作,则确定混合型应用的版本号,其中,当前JavaScript脚本文件为经过热更新后的最新版本的JavaScript脚本文件,该当前JavaScript脚本文件可能与当前版本的混合型应用的原生匹配,也可能不匹配。目标API为不影响混合型应用正常使用的API,比如混合型应用为银行类应用,目标API为网络信息读取API,没有该网络信息读取API虽然无法读取网络信息但不会影响银行类应用的正常使用,实际目标API具体的含义可以自定义。JavaScript可以通过调用原生提供的相应接口就可以获取混合型应用的版本号,比如调用navigator.userAgent()。步骤120,根据版本号与当前JavaScript脚本文件,确定混合型应用中定义的原生API中是否包括目标API:由于各个版本的混合型应用定义的原生API的列表会维护在服务器端,因此当前JavaScript脚本文件根据混合型应用的版本号就能获取到服务器端维护的该混合型应用定义的所有的原生API。步骤130,若原生API中不包括本文档来自技高网
...

【技术保护点】
1.一种混合型应用的接口调用方法,其特征在于,所述方法包括:若通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作,则确定所述混合型应用的版本号;根据所述版本号与所述当前JavaScript脚本文件,确定所述混合型应用中定义的原生API中是否包括所述目标API;若所述原生API中不包括所述目标API,则在通过所述当前JavaScript脚本文件响应所述触发操作时,禁止调用所述目标API;若所述原生API中包括所述目标API,则在通过所述当前JavaScript脚本文件响应所述触发操作时,允许调用所述目标API。

【技术特征摘要】
1.一种混合型应用的接口调用方法,其特征在于,所述方法包括:若通过混合型应用接收到用于通过当前JavaScript脚本文件调用目标API的触发操作,则确定所述混合型应用的版本号;根据所述版本号与所述当前JavaScript脚本文件,确定所述混合型应用中定义的原生API中是否包括所述目标API;若所述原生API中不包括所述目标API,则在通过所述当前JavaScript脚本文件响应所述触发操作时,禁止调用所述目标API;若所述原生API中包括所述目标API,则在通过所述当前JavaScript脚本文件响应所述触发操作时,允许调用所述目标API。2.根据权利要求1所述的方法,其特征在于,所述在通过所述当前JavaScript脚本文件响应所述触发操作时,允许调用所述目标API,包括:通过所述当前JavaScript脚本文件执行对所述目标API的调用,生成本次调用对应的回调标识并将所述回调标识传送给原生,所述回调标识用于标识本次调用的回调函数;通过所述原生执行本次调用的业务逻辑,并在执行完成本次调用的业务逻辑后,调用所述回调标识对应的回调函数完成本次调用的回调,并清除所述回调标识。3.根据权利要求2所述的方法,其特征在于,所述生成本次调用对应的回调标识,包括:获取调用触发参数,所述调用触发参数包括但不限于接收到所述调用触发操作的时间戳信息、预定时间内连续接收到所述调用触发操作的次数以及所述目标API的接口编号;根据所述调用触发参数生成所述回调标识。4.根据权利要求2所述的方法,其特征在于,所述当前JavaScript脚本文件在预设时长内依次执行N次调用,N≥2,则通过所述原生执行本次调用的业务逻辑,并在执行完成本次调用的业务逻辑后,调用所述回调标识对应的回调函数完成本次调用的回调,并清除所述回调标识,包括:通过所述原生检测所述N次调用的调用顺序是否符合预设调用顺序;当检测到所述N次调用的调用顺序符合所述预设调用顺序时,通过所述原生按照所述调用顺序依次执行完成N次调用的业务逻辑后,调用最后一次调用的回调标识对应的回调函数完成回调,并清除所述N次调用的N个回调标识;当检测到所述N次调用的调用顺序不符合所述预设调用顺序时,原生按照所述调用顺序依次执行所述N次调用,且在执行完成每一次调用后,调用所述调用的回调标识对应的回调函数完成回调并清除所述回调标识。5.根据权利要求4所述的方法,其特征在于,所述预设调用顺序包括:在调用数据修改类API之前和之后分别调用了数据读取API,所述数据修改类API包括数据写入A...

【专利技术属性】
技术研发人员:邹国忠
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1