CN104765617B - 基于html5实现的流应用功能接口分发方法及*** - Google Patents
基于html5实现的流应用功能接口分发方法及*** Download PDFInfo
- Publication number
- CN104765617B CN104765617B CN201510222387.XA CN201510222387A CN104765617B CN 104765617 B CN104765617 B CN 104765617B CN 201510222387 A CN201510222387 A CN 201510222387A CN 104765617 B CN104765617 B CN 104765617B
- Authority
- CN
- China
- Prior art keywords
- interface
- functional
- application
- module
- html5
- 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
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种基于HTML5实现的流应用的功能接口分发方法,具体步骤为:提供若干基于HTML5实现的流应用的功能接口;响应调用任意功能接口的请求,运行该功能接口对应的功能模块;由该功能模块对应的回调函数或返回值返回相应的响应结果。基于所述方法还提供一种基于HTML5实现的流应用的功能接口分发***,本发明所述方法不仅可以为开发者提供更简单的应用开发模式,还可以给用户提供新的应用体验,无需安装,即点即用,且其交互性、体验性接近于本地应用。
Description
技术领域
本发明涉及智能终端移动应用领域,具体而言,本发明涉及一种基于HTML5实现的流应用功能接口分发方法及相应的***。
背景技术
随着移动智能终端的不断发展,移动终端App日趋增多。目前,大致分为NativeApp、Web App以及基于HTML5的流应用。其中,Native App,即原生应用,也称为本地App,是指基于某种操作***的智能终端开发的,使用原生程式编写运行的第三方应用程序。WebApp是为移动浏览器设计的基于web访问的应用程序。原生应用由于是基于***平台的原生能力开发的,可以实现各种特效和功能,其交互性、用户体验性最好。但是由于其是基于某种操作***定制的,所以无法实现跨平台应用,且由于移动终端的设备碎片化,造成原生应用需要开发多种版本的程序,且后期的维护更新很复杂。所述设备碎片化是指移动终端平台的差异化越来越大,设备繁多,品牌众多,版本各异,分辨率不统一等等。Web App通过URL实现对网页资源的访问,虽然无需安装,即点即用,但其用户体验度差,且不能利用操作***的原生能力。
基于HTML5的流应用是一种全新的应用方式,相比Native App无需安装,可以实现即点即用,且交互性、用户体验性接近原生应用;相比Web App可以给用户提供更好的体验度,还可以调用操作***的原生能力,使应用界面更加优化流畅。为了方便地进行流应用的开发,本发明提供一种基于HTML5实现的流应用的功能接口分发方法及***。
发明内容
本发明的目的旨在解决上述至少一个问题,提供一种基于HTML5实现的流应用的功能接口分发方法,包括以下步骤:
提供若干基于HTML5实现的流应用的功能接口;
响应调用任意功能接口的请求,运行该功能接口对应的功能模块;
由该功能模块对应的回调函数或返回值返回相应的响应结果。
具体的,所述功能接口包括如下任意一种或任意多种:分享接口、图像接口、音频接口、智能接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口。
具体的,所述功能接口对应的模块存储于云端服务器。
具体的,所述功能接口均为基于JavaScript实现的JS API。
具体的,所述统计接口用于向流应用提供统计和分析用户属性和用户行为数据的能力。
具体的,所述***原生界面接口用于调用***的原生API。
具体的,所述***的原生API采用Native.js技术进行封装。
具体的,所述流应用是指基于HTML5开发的移动智能终端的应用软件。
具体的,所述流应用基于HTML5Plus规范的能力进行开发。
具体的,所述流应用采用MUI框架进行开发。
一种基于HTML5实现的流应用的功能接口分发***,包括:
请求模块:用于请求调用流应用所需功能接口;
引擎模块:用于响应所述功能接口的调用并返回相应的结果;
显示模块:用于显示所述功能接口对应的界面。
具体的,所述功能接口包括如下任意一种或任意多种:分享接口、图像接口、音频接口、智能接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口。
具体的,所述引擎模块执行如权利要求1所述的方法。
具体的,所述引擎模块封装了所述各类功能接口对应的模块。
具体的,所述引擎模块存储于云端服务器。
较佳的,当所述引擎模块中封装的任一功能模块对应的接口被调用时,引擎模块以插件形式下载到本地。
具体的,所述功能接口均为基于JavaScript实现的JS API。
具体的,所述统计接口用于向移动应用提供统计和分析用户属性和用户行为数据的能力。
具体的,所述***原生界面接口用于调用***的原生API。
具体的,所述***的原生API采用Native.js技术进行封装。
具体的,所述流应用是指基于HTML5开发的移动智能终端的应用软件。
具体的,所述流应用基于HTML5Plus规范的能力进行开发。
具体的,所述流应用基于MUI框架实现。
相比现有技术,本发明的方案具有以下优点:
1、通过将流应用常用的12类功能封装成接口引擎,提供各类功能的接口,开发者只需要提供一个应用界面,将封装了12类模块的接口引擎内置于其中,可以很方便地进行应用的开发。其次,将应用的常用功能模块化,只需要一次下载入手机本地,省去了重复安装各种本地应用的常用功能模块,节省了内存空间。
2、由于流应用是基于HTML5实现的,通过浏览器的内核进行解析,无需安装,即点即用,且不受操作***平台的限制,实现了跨平台应用,也为后续的更新维护提供很大便利。
3、本发明所述流应用可以通过***原生界面接口调用***底层的原生接口,使得流应用具备了web应用不具备的能力,如二维码、地图、支付、消息推送等能力。无需动画插件就可以实现流畅的动画效果,优化的界面,其体验度和交互性几乎接近本地应用。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明所述的一种基于HTML5的流应用功能接口分发方法的流程示意图;
图2为本发明所述的一种基于HTML5的流应用功能接口分发***的原理框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
超文本标记语言(HyperText Mark-up Language,HTML)是目前互联网应用最广泛的扩展标记语言,也是构成网页文档的主要语言。HTML5是HTML最新的版本,相比于HTML之前的版本,HTML5提供了更为合理的标签Tag,多媒体对象将不再全部绑定在object或embedTag中,而是视频有视频的Tag,音频有音频的Tag;还提供了本地数据库支持,该功能将内嵌一个本地的SQL数据库,以加速交互式搜索,缓存以及索引功能。此外,HTML5还提供了Canvas标签对象,通过该对象可以实现不需要插件的富动画,该功能将给浏览器带来直接在上面绘制矢量图的能力,这意味着网页设计者可以脱离Flash和Silverlight,直接在浏览器中显示图形或动画。HTML5还将提供应用程序接口(API)以实现浏览器内的编辑,拖放,以及各种图形用户界面的能力。
请参阅图1所示,本发明提供一种基于HTML5实现的流应用的功能接口分发方法,包括以下步骤:
S11、提供若干基于HTML5实现的流应用的功能接口;
流应用作为一种新型的,用于移动智能终端的应用软件,其不同于以往的NativeApp或Web App,是一种基于HTML、JS、CSS编写的运行与移动终端的App,不仅可以调用WebApp无法实现或实现不佳的***能力,如摄像头、文件***等设备能力,二维码、支付、消息推送等业务能力,还可以通过HTML5Plus扩展的JS API调用手机的原生能力,如弹窗、返回等40万种原生能力,实现与Native App同样强大的功能和性能。
其中,HTML5Plus规范是一个开放规范,允许第三方浏览器厂商或其他手机runtime制造商实现。扩展了JavaScript对象plus,使得js可以调用各种浏览器无法实现或实现不佳的***能力,设备能力如摄像头、陀螺仪、文件***等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。
本发明所述流应用基于HTML5Plus规范的能力进行开发实现,为了便于其开发,提供了流应用常用的12类功能接口,包括分享接口、图像接口、音频接口、智能接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口。其中,
1、分享接口
通过Share模块管理客户端的社交分享功能,提供调用终端社交软件的分享能力。通过plus.share获取社交分享管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
getServices获取分享服务。
2、图像接口
Gallery模块管理***相册,支持从相册中选择图片或视频文件、保存图片或视频文件到相册等功能。通过plus.gallery获取相册管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
pick从***相册选择文件、图片或视频,save保存文件到***相册。
3、音频接口
Audio模块用于提供音频的录制和播放功能,可调用***的麦克风设备进行录音,也可调用扬声器设备播放音频文件。通过plus.audio获取音频管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
getRecorder获取当前设备的录音对象,createPlayer创建音频播放对象。
4、智能接口
Speech模块管理语音输入功能,提供语音识别功能,支持用户通过麦克风设备进行语音输入内容,通过plus.speech获取语音输入管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
startRecognize启动语音识别,stopRecognize停止语音识别。
5、设备信息接口
通过Device模块管理设备信息,用于获取移动设备的相关信息,如型号、厂商等。通过plus.device获取设备信息管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
dial拨打电话,beep发出蜂鸣声,vibrate设备振动,setWakelock设置应用是否保持唤醒状态,isWakelock获取程序是否一直保持唤醒状态,setVolume设置设备的***音量,getVolume获取设备的***音量。
6、地理位置接口
Geolocation模块管理设备位置信息,用于获取地理位置信息,如经度、维度等。通过plus.geolocation获取设备位置管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
getCurrentPosition获取当前设备位置信息,watchPosition监听设备位置变化信息,clearWatch关闭监听设备位置信息。
7、***原生界面接口
nativeUI管理***原生界面,可用于弹出***原生提示对话框窗口、时间日期选择对话框、等待对话框等。通过plus.nativeUI获取***原生界面管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
actionSheet弹出***选择按钮框,alert弹出***提示对话框,confirm弹出***确认对话框,closeWaiting关闭***等待对话框,showWaiting显示***等待对话框,pickDate弹出***日期选择对话框,pickTime弹出***时间选择对话框,prompt弹出***输入对话框,toast显示自动消失的提示消息等。
8、扫描接口
Barcode模块管理二维码,提供二维码扫描识别功能,可以调用设备摄像头对二维码图片扫描进行数据输入,通过plus.barcode获取扫描模块管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
scan通过图片扫描二维码数据。
9、统计接口
Statistic模块管理统计功能,用于向应用提供统计和分析用户属性和用户行为数据的能力,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
eventTrig触发统计事件,eventStart开始持续事件统计,eventEnd结束持续事件统计,eventDuration精确持续事件统计。
10、支付接口
Payment模块管理支付功能,用于提供网页安全支付能力,支持通过web接口进行支付的操作。通过plus.payment可获取支付管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
getChannels获取支付通道,request请求支付操作。
11、登录接口
Oauth模块管理客户端的用户授权登录验证功能,允许应用访问第三方平台的资源,通过plus.oauth获取登录管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
getServices获取授权登录认证服务列表。
12、推送接口
Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象,其中plus为HTML5plus中的JavaScript对象,包括的方法有:
addEventListener添加推送消息事件***,clear清空所有推送消息,createMessage创建本地消息,getAllMessage获取所有推送消息,getClientInfo获取客户端推送标识信息,setAutoNotification设置程序是否将消息显示在***消息中心,remove删除推送消息。
上述功能接口均为JavaScript实现的JS API,对应的模块也均由JavaScript实现。所述功能接口直接写入HTML5页面,当解析到所需功能接口时,发出调用该接口的请求。
S12、响应调用任意功能接口的请求,运行该功能接口对应的功能模块;
当某功能接口被调用时,对该调用指令作出响应,根据其接口找到对应的模块,调用模块中相应的方法,并对其进行处理,实现所需功能。
其中,所述各功能接口对应的模块存储于云端服务器。当流应用被打开时,由云端服务器进行推送,所述12类功能接口就会以插件的形式被下载到本地,且该下载过程只执行一次,当应用再次被打开时不进行各类功能接口的重复下载。根据调用的接口,找到下载到本地的相应模块,执行该模块中对应的方法,实现应用的相应功能。由此可以实现各种应用的通用功能接口的一致性,有利于流应用的开发,使得应用的开发更简便,且由于通用功能接口一次性下载到本地,避免现有的本地应用重复写入公共接口模块,节省应用占用的内存空间。
例如,当用户进行支付操作时,由流应用通过解析HTML页面流的服务器或浏览器内核发起请求,请求调用支付接口,响应其调用请求,调用相应功能模块进行处理,具体为先调用获取支付通道的方法getChannels,当服务器或浏览器内核解析到plus.payment.getChannels()时,启动一个线程,请求调用获取支付通道的接口;当接收到请求调用getChannels方法的请求时,将该方法对应的功能模块调入内存,对其进行编译,执行相应命令,并将支付通道信息以HTML格式返回给调用方,然后服务器或浏览器内核关闭该调用接口线程。用户通过界面显示的支付通道,如微信支付、支付宝支付、银联支付等,选择相应的支付通道,如选择支付宝,当用户输入支付宝账户和密码并点击确定时,服务器或内核解析接口plus.payment.request(),即请求支付操作的接口,同时启动一个线程,请求调用请求支付操作的接口;当接收到请求调用request方法的请求时,将该方法对应的功能模块调入内存,对其进行编译,执行相应命令,并将返回值发送给调用方,以判断是否成功进行支付操作。
S13、由该功能模块对应的回调函数或返回值返回相应的响应结果。
响应功能接口的调用请求,并处理完成后,由其调用方法对应的回调函数或返回值返回相应的结果。
例如支付接口的获取支付通道方法getChannels,调用方式为plus.payment.getChannels(successCB,errorCB),获取支付通道成功的回调函数为ChannelsSuccessCallback,获取支付通道列表失败的回调函数为PaymentErrorCallback。可分别通过以上回调函数获取相应的返回信息,并以HTML页面的形式提交给服务器或内核进行解析。
如获取支付通道成功,则通过编写的回调函数ChannelsSuccessCallback获取到以HTML页面形式描述的支付通道列表,通过解析显示出支付页面,包括支付订单内容,支付金额,可选择的支付通道,如微信支付、支付宝支付、银联支付等,以及其他相关信息。其中,如果用户选择通过支付宝进行支付,则需要判断是否存在支付宝相关模块,如果没有则提醒用户下载安装。当用户确认支付时,调用plus.payment.request(channel,statement,successCB,errorCB),支付成功后通过paymentSuccessCallback(result)返回支付操作结果,其中result为支付操作成功的信息;如果支付失败,则通过paymentErrorCallback(error)返回错误信息,通过error.code获取错误代码,如62000,客户端未安装支付通道依赖的服务;62001,用户取消支付操作;62002,此设备不支持支付;62003,数据格式错误;62004,支付账户状态错误;62005,订单信息错误;62006,支付操作内部错误;62007,支付服务器错误;62008,网络问题引起的错误;62009,其他未定义的错误。依据不同的错误代码向用户提供相应的提示界面。
请参阅图2,本发明还提供一种基于HTML5实现的流应用的功能接口分发***,包括请求模块11、引擎模块12、显示模块13,其中,
请求模块11用于请求调用流应用所需功能接口。
当用户点击流应用的某个功能按钮时,由解析流应用HTML5页面流的内核解析该功能所对应的功能接口,并向引擎模块12发起调用该接口的请求。其中,所述功能接口包括分享接口、图像接口、音频接口、智能接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口。
引擎模块12用于响应所述功能接口的调用并返回相应的结果。所述引擎模块对上述12类功能接口的模块进行封装,包括share模块,Gallery模块,Audio模块,Speech模块,Device模块,Geolocation模块,nativeUI模块,Barcode模块,Statistic模块,Payment模块,Oauth,Push模块。各模块对应的接口分别为分享接口、图像接口、音频接口、智能接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口。当接收到流应用调用某功能接口的指令时,引擎模块12对其作出响应,具体方法步骤为:
Step1提供若干基于HTML5实现的流应用的功能接口;
引擎模块12提供如上述所述的12类功能接口供调用。
Step2响应调用任意功能接口的请求,运行该功能接口对应的功能模块;
当某功能接口被调用时,对该调用指令作出响应,根据其接口找到对应的模块,调用模块中相应的方法,并对其进行处理,实现所需功能。
其中,所述各功能接口对应的模块存储于云端服务器。当流应用被打开时,由云端服务器进行推送,所述12类功能接口就会以插件的形式被下载到本地,且该下载过程只执行一次,当应用再次被打开时不进行各类功能接口的重复下载。根据调用的接口,找到下载到本地的相应模块,执行该模块中对应的方法,实现应用的相应功能。由此可以实现各种应用的通用功能接口的一致性,有利于流应用的开发,使得应用的开发更简便,且由于通用功能接口一次性下载到本地,避免现有的本地应用重复写入公共接口模块,节省应用占用的内存空间。
例如,当用户进行支付操作时,由流应用通过解析HTML页面流的服务器或浏览器内核发起请求,请求调用支付接口,响应其调用请求,调用相应功能模块进行处理,具体为先调用获取支付通道的方法getChannels,当服务器或浏览器内核解析到plus.payment.getChannels()时,启动一个线程,请求调用支付接口;当接收到请求调用getChannels的请求时,将该方法对应的功能模块调入内存,对其进行编译,执行相应命令,并将支付通道信息以HTML格式返回给调用方,,然后服务器或浏览器内核关闭该调用接口线程。用户通过界面显示的支付通道,如微信支付、支付宝支付、银联支付等,选择相应的支付通道,如选择支付宝,当用户输入支付宝账户和密码并点击确定时,服务器或内核解析接口plus.payment.request(),即请求支付操作的接口,同时启动一个线程,请求调用请求支付操作的接口;当接收到请求调用request方法的请求时,将该方法对应的功能模块调入内存,对其进行编译,执行相应命令,并将返回值发送给调用方,以判断是否成功进行支付操作。
所述引擎模块12内置于流应用中,通过流应用的界面对其功能接口进行调用,由并由其执行相应的功能模块,完成相应的功能。该应用开发模式有利于应用的开发者,可大幅度降低开发成本,原本需要开发安卓、IOS等多个平台版本,通过在应用中内置引擎模块12,只需要开发一个网页版,即可横跨多个平台。
Step3由该功能模块对应的回调函数或返回值返回相应的响应结果。
响应功能接口的调用请求,并处理完成后,由其调用方法对应的回调函数或返回值返回相应的结果。
例如支付接口的获取支付通道方法getChannels,调用方式为plus.payment.getChannels(successCB,errorCB),获取支付通道成功的回调函数为ChannelsSuccessCallback,获取支付通道列表失败的回调函数为PaymentErrorCallback。可分别通过以上回调函数获取相应的返回信息,并以HTML页面的形式提交给服务器或内核进行解析。
如获取支付通道成功,则通过编写的回调函数ChannelsSuccessCallback获取到以HTML页面形式描述的支付通道列表,通过解析显示出支付页面,包括支付订单内容,支付金额,可选择的支付通道,如微信支付、支付宝支付、银联支付等,以及其他相关信息。其中,如果用户选择通过支付宝进行支付,则需要判断是否存在支付宝相关模块,如果没有则提醒用户下载安装。当用户确认支付时,调用plus.payment.request(channel,statement,successCB,errorCB),支付成功后通过paymentSuccessCallback(result)返回支付操作结果,其中result为支付操作成功的信息;如果支付失败,则通过paymentErrorCallback(error)返回错误信息,通过error.code获取错误代码,如62000,客户端未安装支付通道依赖的服务;62001,用户取消支付操作;62002,此设备不支持支付;62003,数据格式错误;62004,支付账户状态错误;62005,订单信息错误;62006,支付操作内部错误;62007,支付服务器错误;62008,网络问题引起的错误;62009,其他未定义的错误。依据不同的错误代码向用户提供相应的提示界面。
显示模块13用于显示所述功能接口对应的界面。
由于基于HTML5开发的应用存在诸如浏览器切页白屏、转页动画较差、浮动元素抖动、无法流畅下拉刷新等问题。特别是对于低端机,这些方面的表现更差。另外,默认的控件样式和数量较少,使得制作漂亮的界面非常麻烦,很多情况下,无法满足应用开发的需求。而MUI作为一款可用于开发高性能App的框架,是目前最接近原生App效果的框架之一,可以有效解决上述问题。因此采用MUI框架开发的流应用能够显示与原生App最接近的性能和效果。
当流应用运行时,由浏览器内核对HTML页面流进行解析,显示相应的界面,当解析到需要调用某功能接口时,如调用支付接口的获取支付通道方法,具体为当解析到HTML页面里写入的plus.payment.getChannels(successCB,errorCB),向引擎模块12发起调用该接口的请求,由引擎模块12响应其请求并作相应处理。如果获取支付通道成功则通过successCB回调返回支持的所有通道列表,如果失败则通过errorCB回调返回。
由于所述***原生界面接口可以调用手机操作***的原生API,如弹窗,设置时间,返回等,当解析到需要调用***原生接口时,由***原生界面接口调用底层的***接口,如plus.nativeUI.actionSheet(actionsheetStyle,actionsheetCallback),为弹出***选择按钮框的方法,参数actionsheet Style为选择按钮框显示的样式,actionsheetCallback为选择按钮框关闭后的回调函数。通过调用nativeUI模块中actionSheet方法,实现对***的选择按钮框的接口调用,也因此流应用可以呈现与原生App相近的界面效果,实现与原生应用几乎同等的体验效果。
之所以***原生界面接口可以调用手机操作***的原生API,其根本原因是原生API采用Native.js技术进行了封装,使得基于JS的***原生界面接口可以直接调用原生API。其中,Native.js技术,简称NJS,是一种将手机操作***的原生对象转义,映射为JS对象,在JS里编写原生代码的技术,把JS扩展到手机App的原生世界,让JS可以调用40万个原生API,大幅度提升了HTML5的能力。Native.js突破了浏览器的功能限制,编写的代码可以在支持NJS技术的浏览器中运行。
下面以一个具体实施例为例,对本发明作进一步说明。
在HBuilder编辑器中,基于MUI框架开发流应用。首先开发一个应用界面,所述界面以HTML5页面流的形式存储于服务器;然后将接口引擎内置其中,所述接口引擎为本发明所述的封装了12类常用功能接口的模块,其中应用中个性化定制功能则采用JavaScript进行编写;最后将该应用提交到360手机助手,由手机助手对其进行审核,具体过程为:
首先,将应用提交到手机助手的存储区,由手机助手的审核机制审核该应用是否合法;其次,再进一步提交到下一层的审核机制,对其应用包提供的接口进行扫描,判断其接口是否与手机助手的平台接口一致;最后,审核通过则将该应用上线。
所述上线的流应用通过360手机助手进行推广,流应用以360手机助手作为载体,当用户选择打开某个流应用时,由云端服务器推送应用的HTML页面流,手机助手的内核对其HTML页面流进行解析,显示主界面。同时云端服务器推送接口引擎,引擎以插件的形式下载到手机本地。用户在应用的主界面选择某项通用功能时,如登陆功能,则手机助手内核解析到HTML页面流中的plus.oauth.getServices(),启动一个线程向接口引擎发起请求,由接口引擎对其作出响应,执行下载到手机本地的接口引擎中的Oauth模块的方法getServices(),即“获取授权登录认证服务”方法;当获取授权成功时,由回调函数ServicesSuccessCallback返回以HTML页面的形式将授权登录认证服务列表给手机助手内核,由内核对其进行解析并显示在用户界面上;当获取授权失败时,由回调函数AuthErrorCallback将错误信息以HTML页面的形式返回给手机助手内核,内核对错误信息进行解析显示在用户界面上给予提示。此外,所述流应用可以通过调用接口引擎中的***原生界面接口实现对手机***的原生API调用,实现诸如调用摄像头,设定***时间,弹窗等功能。
为了给应用提供统计和分析用户属性和用户行为数据的能力,所述接口引擎还提供了统计接口,该接口不置于前端使用,由应用通过后台服务器调用,对该应用用户的属性、行为数据等进行统计分析,并将数据上传到云端服务器。开发者还可以通过推送接口向用户推送消息,如推送积分、优惠券、优惠活动等消息。
流应用的开发采用将本发明所述接口引擎内置于其中的方式,通过调用接口引擎的功能类接口实现常用的功能,且基于HTML页面流的方式实现。使得应用的开发过程更简单,开发者只需要提供一个基于HTML页面流的界面,内置本发明所述的接口引擎,调用接口引擎的功能接口。此外所述界面也可以以模板的形式呈现,无需自己开发,通过360手机应用平台,选择适应于应用主题的界面模板,根据应用的功能需求对其进行填充。
智能家居作为家庭信息化的实现方式,已经成为社会信息化发展的重要组成部分,它被看做物联网的一种重要应用,随着物联网、大数据、云计算、无线通信以及人工智能等技术的不断发展及在智能家居上的应用,人们生活水平的不断提高和智能化生活观念的普及,物联网智能家居已成为未来家居发展的新趋势。
结合本发明所述流应用,其在智能家居中也可以发挥很大作用。每款智能家居都会开发自己的应用,通过上述所述的开发方式,将智能家居的App以流应用的方式开发,多种智能家居的App集中到手机助手等软件统一管理,用户无需安装各种智能家居对应的App,只需通过手机助手点击使用相应的App操作智能家居,只需要安装一个手机助手软件,就可以使用各种应用App。此外,物联网智能家居一般通过统一的平台管理智能家居,如智能开关、智能插座、智能照明、智能门窗等设备,可以将统一的管理平台的控制模块作为内置模块,以二维码作为访问接口,通过扫描该二维码,访问统一管理平台的控制模块,从而可以通过对智能家居进行统一管理控制。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (23)
1.一种基于HTML5实现的流应用的功能接口分发方法,其特征在于,包括以下步骤:
提供若干基于HTML5实现的流应用的功能接口;
响应调用任意功能接口的请求,运行该功能接口对应的功能模块,其中所述功能接口包括分享接口、图像接口、音频接口、智能语音接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口中的任意一种或任意多种;
其中,当所述功能接口被调用时,对调用指令作出响应,根据所述功能接口找到对应的模块,调用所述模块中相应的方法,并对所述方法进行处理,实现所需功能;
由该功能模块对应的回调函数或返回值返回相应的响应结果。
2.根据权利要求1所述的方法,其特征在于,所述功能接口对应的模块存储于云端服务器。
3.根据权利要求1所述的方法,其特征在于,所述功能接口均为基于JavaScript实现的JS API。
4.根据权利要求1所述的方法,其特征在于,所述统计接口用于向流应用提供统计和分析用户属性和用户行为数据的能力。
5.根据权利要求1所述的方法,其特征在于,所述***原生界面接口用于调用***的原生API。
6.根据权利要求5所述的方法,其特征在于,所述***的原生API采用Native.js技术进行封装。
7.根据权利要求1所述的方法,其特征在于,所述流应用是指基于HTML5开发的移动智能终端的应用软件。
8.根据权利要求1所述的方法,其特征在于,所述流应用基于HTML5Plus规范的能力进行开发。
9.根据权利要求1所述的方法,其特征在于,所述流应用采用MUI框架进行开发。
10.一种基于HTML5实现的流应用的功能接口分发***,其特征在于,包括:
请求模块:用于请求调用流应用所需功能接口;
引擎模块:用于响应所述功能接口的调用并返回相应的结果,其中所述功能接口包括分享接口、图像接口、音频接口、智能语音接口、设备信息接口、地理位置接口、***原生界面接口、扫描接口、统计接口、支付接口、登录接口以及推送接口中的任意一种或任意多种;
其中,当所述功能接口被调用时,对调用指令作出响应,根据所述功能接口找到对应的模块,调用所述模块中相应的方法,并对所述方法进行处理,实现所需功能;
显示模块:用于显示所述功能接口对应的界面。
11.根据权利要求10所述的***,其特征在于,所述引擎模块执行如权利要求1所述的方法。
12.根据权利要求10所述的***,其特征在于,所述引擎模块封装了所述各类功能接口对应的模块。
13.根据权利要求10所述的***,其特征在于,所述引擎模块存储于云端服务器。
14.根据权利要求10所述的***,其特征在于,当所述引擎模块中封装的任一模块对应的接口被调用时,引擎模块以插件形式下载到本地。
15.根据权利要求10所述的***,其特征在于,所述功能接口均为基于JavaScript实现的JS API。
16.根据权利要求10所述的***,其特征在于,所述统计接口用于向移动应用提供统计和分析用户属性和用户行为数据的能力。
17.根据权利要求10所述的***,其特征在于,所述***原生界面接口用于调用***的原生API。
18.根据权利要求12所述的***,其特征在于,所述***的原生API采用Native.js技术进行封装。
19.根据权利要求10所述的***,其特征在于,所述流应用是指基于HTML5开发的移动智能终端的应用软件。
20.根据权利要求10所述的***,其特征在于,所述流应用基于HTML5Plus规范的能力进行开发。
21.根据权利要求10所述的***,其特征在于,所述流应用基于MUI框架实现。
22.一种终端,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序被配置为用于执行如权利要求1~9任一项所述的基于HTML5实现的流应用的功能接口分发方法。
23.一种计算机可读存储介质,其特征在于,包括一个或多个应用程序,该一个或多个应用程序被配置为用于执行如权利要求1~9任一项所述的基于HTML5实现的流应用的功能接口分发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222387.XA CN104765617B (zh) | 2015-05-04 | 2015-05-04 | 基于html5实现的流应用功能接口分发方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222387.XA CN104765617B (zh) | 2015-05-04 | 2015-05-04 | 基于html5实现的流应用功能接口分发方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104765617A CN104765617A (zh) | 2015-07-08 |
CN104765617B true CN104765617B (zh) | 2019-02-19 |
Family
ID=53647469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510222387.XA Active CN104765617B (zh) | 2015-05-04 | 2015-05-04 | 基于html5实现的流应用功能接口分发方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104765617B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867963A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 应用程序更新方法及装置 |
CN105787043A (zh) * | 2016-02-26 | 2016-07-20 | 浪潮通信信息***有限公司 | 一种跨平台商业银行移动应用分发管理模式 |
CN105843617B (zh) * | 2016-03-23 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种2d特效绘制方法 |
CN105955833B (zh) * | 2016-06-06 | 2021-09-21 | 腾讯科技(深圳)有限公司 | 引擎调用方法和装置 |
CN106126420B (zh) * | 2016-06-21 | 2018-12-18 | 北京小米移动软件有限公司 | 应用程序调试方法及装置 |
CN106713119B (zh) * | 2016-12-13 | 2019-11-05 | 四川长虹电器股份有限公司 | 一种跨平台移动端实时消息通知及展示方法 |
CN108228206A (zh) * | 2016-12-20 | 2018-06-29 | 北京智能管家科技有限公司 | 一种应用程序管理方法及装置 |
CN106919385B (zh) * | 2017-02-14 | 2019-06-21 | 百富计算机技术(深圳)有限公司 | 信息统计方法及装置 |
CN106933623B (zh) * | 2017-02-22 | 2020-09-11 | 广州大学 | 免安装应用的运行方法、装置及*** |
CN107277146B (zh) * | 2017-06-26 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种分布式存储业务流量模型生成方法及*** |
CN107450928B (zh) * | 2017-08-02 | 2020-06-30 | 四川长虹电器股份有限公司 | 一种基于缓存技术的混合开发方法 |
CN108170414A (zh) * | 2017-12-12 | 2018-06-15 | 广东广业开元科技有限公司 | 一种创建可语音、协同和分析的人工智能记账***的方法 |
CN108255472B (zh) * | 2018-01-17 | 2021-06-01 | 北京皮尔布莱尼软件有限公司 | 分层实验框架*** |
CN108563517B (zh) * | 2018-03-30 | 2020-11-03 | 腾讯科技(深圳)有限公司 | ***接口的调用方法及装置 |
CN108647165A (zh) * | 2018-04-17 | 2018-10-12 | 青岛海尔科技有限公司 | 一种设备控制方法、装置、存储介质及计算机设备 |
CN109063202B (zh) * | 2018-09-13 | 2022-01-25 | 北京三快在线科技有限公司 | 在混合界面应用中实现弹窗的方法、装置以及计算机设备 |
CN109683990B (zh) * | 2018-12-27 | 2019-07-23 | 四川新网银行股份有限公司 | 基于混合模式移动应用的h5多端接入方法 |
CN109658250B (zh) * | 2018-12-29 | 2021-11-12 | 深圳源中瑞科技有限公司 | 一种基于网页的股票交易k线处理方法和存储介质 |
CN110134429A (zh) * | 2019-04-02 | 2019-08-16 | 惠州学院 | 网络信息浏览方法、装置、设备、存储介质以及*** |
CN111142858A (zh) * | 2019-12-30 | 2020-05-12 | 北京中网易企秀科技有限公司 | 一种引擎装置 |
CN111932349B (zh) * | 2020-09-28 | 2021-01-26 | 支付宝(杭州)信息技术有限公司 | 一种基于h5支付的支付应用推荐方法和装置 |
CN112953711B (zh) * | 2021-01-28 | 2022-12-02 | 杉德银卡通信息服务有限公司 | 数据库安全连接***及方法 |
CN113867840B (zh) * | 2021-09-29 | 2023-06-13 | 四川长虹电器股份有限公司 | 一种智能电视web native插件框架及构建方法 |
CN114422637B (zh) * | 2021-12-20 | 2023-12-29 | 阿里巴巴(中国)有限公司 | 媒体请求处理方法和跨平台引擎*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809857A (zh) * | 2014-02-24 | 2014-05-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9307031B2 (en) * | 2013-02-04 | 2016-04-05 | Oracle International Corporation | Generic model for customizing protocol behavior through javascript |
CN103886029B (zh) * | 2014-03-03 | 2017-10-27 | 百度在线网络技术(北京)有限公司 | 网页应用的实现方法、装置、服务器及*** |
-
2015
- 2015-05-04 CN CN201510222387.XA patent/CN104765617B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809857A (zh) * | 2014-02-24 | 2014-05-21 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104765617A (zh) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765617B (zh) | 基于html5实现的流应用功能接口分发方法及*** | |
US8595186B1 (en) | System and method for building and delivering mobile widgets | |
CN102955694B (zh) | 基于WebKit 浏览器的客户端实现方法以及客户端 | |
US10362359B2 (en) | Video player framework for a media distribution and management platform | |
CN104520816B (zh) | 用于调节跨扩展通信的方法、设备及存储媒体 | |
TW201235072A (en) | Method and apparatus for gaming based on mobile terminal | |
CN104704468A (zh) | Web应用程序的跨***安装 | |
CN102196037A (zh) | 访问装置的服务的方法和设备 | |
CN103945284B (zh) | 信息处理方法和信息处理装置 | |
CN102625182A (zh) | 互联网电视业务中集成和控制视频播放器的方法和*** | |
CN102959934A (zh) | 用于共享图像的方法和装置 | |
KR100749845B1 (ko) | 모바일 액티브 페이지 기능을 제공하는 이동 단말 및 그의무선 인터넷 서비스 제공 방법 | |
EP4246312A1 (en) | Content display method and terminal device | |
KR102029167B1 (ko) | 사용자 상황에 따른 음악감상 서비스 시스템 및 방법 | |
CN109492175A (zh) | 应用程序界面的显示方法及装置、电子设备、存储介质 | |
CN107770377A (zh) | 一种基于html5的创建语音交互手机新闻客户端的方法 | |
CN113010766B (zh) | 一种信息搜索的方法、装置及存储介质 | |
US20080064340A1 (en) | Testing media content for wireless communication devices | |
US8291004B2 (en) | Remotely controlling playback of media content on a wireless communication device | |
CN111294368A (zh) | 云服务器、智能客户端及其车主服务方法 | |
TWI641984B (zh) | 供終端裝置與網站互動的方法、提供網路服務予終端裝置的方法以及供終端裝置與網站互動的計算機程式產品 | |
CN108073638B (zh) | 数据诊断方法及装置 | |
CA2600258C (en) | Remotely controlling playback of media content on a wireless communication device | |
CN109299447A (zh) | 广告编辑方法、终端及计算机可读存储介质 | |
CN107770375A (zh) | 一种基于html5创建手机新闻客户端的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220728 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |