应用程序接口扩展的方法及系统技术方案

技术编号:12101106 阅读:188 留言:0更新日期:2015-09-23 19:12
本发明专利技术公开了一种应用程序接口扩展的方法及系统,所述方法包括:Web应用确定需调用的应用程序接口API为扩展的API时,向Web服务器发送调用指令;Web服务器接收所述调用指令,解析所述调用指令而生成解析结果;根据所述解析结果获取待调用的所述API的信息,根据所述API的信息在本地查找出对应的API,对所查找出的本地API进行调用,并向所述Web应用返回API的调用结果。本发明专利技术的JavaScript API扩展方式简单、通用,能够解决现有技术方案低通用性、高复杂度的缺陷,提高了JavaScript API扩展的可用性。

【技术实现步骤摘要】

本专利技术涉及应用程序接口(API,ApplicationProgrammingInterface)扩展技 术,尤其涉及一种便携智能终端中的应用程序接口扩展的方法及系统
技术介绍
超文本标记语言(HTML,HypertextMarkupLanguage)以及JavaScript(简称JS) 技术是Web应用体系的核心技术,其中HTML负责Web应用界面呈现,JS负责后台逻辑处理。 而HTML和JS代码都是运行在浏览器引擎之上,无法直接和底层操作系统交互,因此传统的 Web应用存在无法访问操作系统和本地设备的功能局限性,对Web应用的适用范围是一个 阻碍。需要说明的是,本申请文件中,Web应用是指Web前端技术开发的应用,不涉及JSP、 PHP等后端技术。目前行业内已存在一些技术方案实现Web应用访问操作系统和本地设备的功能, 比较有代表性的方案是PhoneGap。图1为扩展API的架构示意图,如图1所示,PhoneGap 通过扩展浏览器引擎功能的方式来增加JSAPI。Web应用通过扩展JSAPI实现对操作系 统(OS,OperatingSystem)的访问。 对于PhoneGap等现有技术,存在以下技术问题: 1、通过扩展浏览器引擎功能的方式,通用性不高。这是因为使用了PhoneGap来扩 展JSAPI的Web应用必须运行在PhoneGap产品上,而普通浏览器不支持这些扩展JSAPI, 因此这些应用在普通浏览器上无法运行。 2、浏览器引擎比如Android、i0S等上均使用的WebKit引擎很复杂,该技术实施门 槛比较高,实现JSAPI的扩展并不容易。
技术实现思路
本专利技术实施例为解决上述技术问题,提供一种应用程序接口扩展的方法及系统, 能根据需要为Web应用提供扩展的JSAPI,扩展JSAPI的方式快捷简单。 本专利技术实施例的技术方案是这样实现的: 一种应用程序接口扩展的方法,包括: 网页Web应用确定需调用的应用程序接口API为扩展的API时,向Web服务器发 送调用指令; 所述Web服务器接收所述调用指令,解析所述调用指令而生成解析结果;根据所 述解析结果获取待调用的所述API的信息,根据所述API的信息在本地查找出对应的API, 对所查找出的本地API进行调用,并向所述Web应用返回API的调用结果。 优选地,所述API设置于本地操作系统中。 优选地,所述Web应用确定需调用的API为扩展的API,包括: 所述Web应用根据业务请求消息中的业务类型确定需调用的API为扩展的API; 或者, 所述Web应用根据业务请求消息中的接口信息确定需调用的API为扩展的API。 优选地,所述调用指令中至少包括所述API的函数名和输入参数的信息; 对应地,所述API的信息至少包括所述API的函数名和输入参数的信息。 优选地,所述根据所述API的信息在本地查找出对应的API,包括: 将所述API的信息中的函数名信息作为关键字,从函数对应表中查找出本地API; 并利用所述API的信息中的输入参数验证所查找出的本地API的身份是否正确。一种应用程序接口扩展的系统,包括:网页Web应用和Web服务器,其中: 所述Web应用,用于确定需调用的应用程序接口API为扩展的API时,向Web服务 器发送调用指令; 所述Web服务器,用于接收所述Web应用发送的所述调用指令,解析所述调用指令 而生成解析结果;根据所述解析结果获取待调用的所述API的信息,根据所述API的信息在 本地查找出对应的API,对所查找出的本地API进行调用,并向所述Web应用返回API的调 用结果。 优选地,所述系统还包括本地操作系统;所述API设置于本地操作系统中。 优选地,所述Web应用, 还用于根据业务请求消息中的业务类型确定需调用的API为扩展的API;或者, 还用于根据业务请求消息中的接口信息确定需调用的API为扩展的API。 优选地,所述调用指令中至少包括所述API的函数名和输入参数的信息; 对应地,所述API的信息至少包括所述API的函数名和输入参数的信息。 优选地,所述Web服务器, 还用于将所述API的信息中的函数名信息作为关键字,从函数对应表中查找出本 地API;并利用所述API的信息中的输入参数验证所查找出的本地API的身份是否正确。 本专利技术实施例中,Web应用确定需调用的API为扩展的API时,向Web服务器发送 调用指令;Web服务器接收所述调用指令,解析调用指令而生成解析结果;根据解析结果获 取待调用的API的信息,根据API的信息在本地查找出对应的API,对所查找出的本地API 进行调用,并向所述Web应用返回API的调用结果。 与现有技术相比,本专利技术实施例的技术方案至少有以下有益效果: 本专利技术实施例的JavaScriptAPI扩展方式简单、通用,能够解决现有技术方案低 通用性、高复杂度的缺陷,提高了JavaScriptAPI扩展的可用性。【附图说明】 图1为扩展API的架构示意图; 图2为本专利技术实施例的应用程序接口扩展的架构及流程示意图。【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对 本专利技术进一步详细说明。图2为本专利技术实施例的应用程序接口扩展的架构及流程示意图,如图2所示,Web 应用中安装有调用扩展的JSAPI的JS代码,扩展的API设置于本地代码中,即设置于操作 系统中。当Web应用需调用扩展的JSAPI时,向Web服务器(WebInternalServer)发送 相关请求消息,由WebInternalServer根据相关请求消息获取扩展的JSAPI的信息,由 WebInternalServer对扩展的JSAPI进行调用,并在获取到调用结果后,发送给Web应 用。 以下通过具体示例,进一步阐明本专利技术技术方案的实质。 如图2所示,Web应用调用扩展的JSAPI的流程具体包括以下步骤: 步骤201,Web应用的JS代码调用扩展的JSAPI;JSAPI的实现代码中,采用Ajax方式向本机的Web服务器(WebInternalServer) 发送超文本传输协议(HTTP,HyperTextTransferProtocol)数据请求,请求字段中包括 JSAPI的"函数名"和"输入参数"。 以下是步骤201的实现示例: //jsGetDeviceld是扩展的JS API,用于获取本机设备ID function jsGetDeviceId() { reqToInServer('jsGetDeviceId',"); } //jsVibrate是扩展的JS API,用于使手机震动一段时间function jsVibrate(duration) { reqToInServer('jsVibrate!, duration); } // reqToIn Server是公共方法,用于同Internal Server通信function reqToInServer(method, parameters)( var xml Http = new XMLHttpRequest(); if (xmlHttp != null) { // 'http://127.0.0.丨:8080'本文档来自技高网
...

【技术保护点】
一种应用程序接口扩展的方法,其特征在于,所述方法包括:网页Web应用确定需调用的应用程序接口API为扩展的API时,向Web服务器发送调用指令;所述Web服务器接收所述调用指令,解析所述调用指令而生成解析结果;根据所述解析结果获取待调用的所述API的信息,根据所述API的信息在本地查找出对应的API,对所查找出的本地API进行调用,并向所述Web应用返回API的调用结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:李峰
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1