一种基于html5的销售点终端的实现方法

文档序号:10593896阅读:242来源:国知局
一种基于html5的销售点终端的实现方法
【专利摘要】本发明涉及一种基于HTML5的销售点终端的实现方法。通过OS上固化的Loader,对HTML5的页面(.html文件)、脚本(.js的javascript脚本文件)、样式(.css叠层样式文件)以及其他包括多媒体资源(包括音频、视频等文件)进行解析,并展示在屏幕上;同时它也监视用户在屏幕上的输入动作,并以事件的方式上报给当前的页面,并执行对应的操作;同时Loader还负责对当前应用程序所包含的插件进行解析,并将插件注入到程序的执行上下文环境中,使得Web页面中包含的Javascript代码可以访问。本发明强化了用户的交互体验,且开发难度低。
【专利说明】
一种基于HTML5的销售点终端的实现方法
技术领域
[0001 ]本发明涉及一种基于HTML5的销售点终端的实现方法。
【背景技术】
[0002]众所周知由于支付市场日新月异的快速发展,新的支付手段和方式正在不断推陈出新。传统支付终端(POS)已经越来越难以适应第三方支付公司更快速的业务发展速度。所以随后支付终端市场中出现了各种对传统终端的改进产品。
[0003]1、使用C语言作为开发语言,开发调试的灵活性差,开发难度较大需要具备一定专业知识的人员才能进行开发实践;
2、用户交互体验差,更无法展示包括视频、音频等多媒体信息;
3、程序功能更新不方便,无法达到按需更新的目的。

【发明内容】

[0004]本发明的目的在于提供一种基于HTML5的销售点终端的实现方法,该方法使得HTML5的销售点终端强化了用户的交互体验,且开发难度低。
[0005]为实现上述目的,本发明的技术方案是:一种基于HTML5的销售点终端的实现方法,包括如下步骤,
SI:用户通过PC工具正确完成应用程序的安装;
S2:用户启动应用程序,操作系统OS中的launcher加载Loader;
S3:进行Loader加载,Loader加载过程如下:
步骤S31:Loader启动后扫描应用程序的安装目录,读取应用程序的配置系统,加载首页面;
步骤S32:解析首页面,加载并解析页面中包含的脚本、样式、多媒体文件、以及应用配置文件资源;
步骤S33:扫描配置信息中指定的插件目录,读取并解析插件包的配置文件,包括如下过程:
a、插件的有效的二进制文件的路径;
b、插件的实例化方法名称;
C、加载插件的java script脚本,并注入到页面中;
Loader通过调用dlopen、dlsym,以及dlclose加载.so文件中插件构造方法,获得插件的对象指针;通过扫描对象中所包含的对象方法,生成该对象的方法名与相应方法函数指针的映射表;
步骤S34:将实例化的插件注册到Plugin Manager中:
Plugin Manager中持有一张哈希表,将插件提供的方法名称,与其对应的方法对象(SP对应方法的函数指针)进行绑定;
步骤S35:注册」3¥38 01^口1:层与0++层之间的消息通道ViewDelegate ;注册完成后viewdelegate就绑定到window全局对象中。
[0006]进一步的,所述插件,即Iinux平台中的动态库。
[0007]相较于现有技术,本发明具有以下有益效果:
1、本发明基于HTML5通用技术实现,开发难度较之C语言低,且开发效率较之C语言要尚;
2、强化了用户交互体验,可支持用户通过触控的方式进行交互。页面定制灵活,并且支持多媒体内容的展示;支持按需更新,且更新的内容比较传统POS终端更为灵活。
【附图说明】
[0008]图1为传统POS启动应用流程框架图。
[0009]图2为本发明HTML5P0S启动应用的流程框架图。
[0010]图3为本发明的框架结构图。
[0011]图4为本发明的UML图。
[0012]图5为本发明的从web层调用Native层的流程图。
[0013]图6为本发明的从Native层调用web层的流程图。
【具体实施方式】
[0014]下面结合附图,对本发明的技术方案进行具体说明。
[0015]如图2-6所示,本发明的一种基于HTML5的销售点终端的实现方法,包括如下步骤,
SI:用户通过PC工具正确完成应用程序的安装;
S2:用户启动应用程序,操作系统OS中的launcher加载Loader;
S3:进行Loader加载,Loader加载过程如下:
步骤S31:Loader启动后扫描应用程序的安装目录,读取应用程序的配置系统,加载首页面;
步骤S32:解析首页面,加载并解析页面中包含的脚本、样式、多媒体文件、以及应用配置文件资源;
步骤S33:扫描配置信息中指定的插件目录,读取并解析插件包的配置文件,包括如下过程:
a、插件的有效的二进制文件的路径;
b、插件的实例化方法名称;
C、加载插件的java script脚本,并注入到页面中;
Loader通过调用dlopen、dlsym,以及dlclose加载.so文件中插件构造方法,获得插件的对象指针;通过扫描对象中所包含的对象方法,生成该对象的方法名与相应方法函数指针的映射表;
步骤S34:将实例化的插件注册到Plugin Manager中:
Plugin Manager中持有一张哈希表,将插件提供的方法名称,与其对应的方法对象(SP对应方法的函数指针)进行绑定;
步骤S35:注册」3¥38 01^口1:层与0++层之间的消息通道ViewDelegate ;注册完成后viewdelegate就绑定到window全局对象中。
[0016]进一步的,所述插件,即Iinux平台中的动态库。
[0017]以下具体讲述本发明的技术方案。
[0018]如图1所示,为传统的POS启动应用流程框架,图2为本发明采用的HTML5P0S启动应用流程框架:
a.其中Loader是固化在OS上的一个可执行程序。它支持对HTML5的页面(.html文件)、脚本(.js的javascript脚本文件)、样式(.css叠层样式文件)以及其他包括多媒体资源(包括音频、视频等文件)进行解析,并展示在屏幕上。同时它也监视用户在屏幕上的输入动作,并以事件的方式上报给当前的页面,并执行对应的操作。
[0019]b.同时Loader还负责对当前应用程序所包含的插件进行解析,并将插件注入到程序的执行上下文环境中,使得Web页面中包含的Javascript代码可以访问。
[0020]c.这里提到的插件,其本质就是一个Iinux平台中的动态库。主要用于将平台中的系统调用,设备操作等本地操作接口封装起来,然后注册给Web层进行调用。
[0021 ]本发明的具体实现流程如下:
1.1用户通过PC工具正确完成应用程序的安装;
1.2用户点击屏幕上应用程序的图标后,OS(操作系统)中的launched应用程序加载器)加载Loader;
1.3 Loader的加载过程:
1.3.1.Loader启动后扫描应用程序的安装目录,读取应用程序的配置系统,加载首页面;
1.3.2.解析首页面,加载并解析页面中包含的脚本、样式等资源;
1.3.3.扫描配置信息中指定的插件目录,读取并解析插件包的配置文件。
[0022]a.插件的有效的二进制文件(.so文件)的路径;
b.插件的实例化方法名称;
c.加载插件的javascript脚本,并注入到页面中。
[0023]Loader通过调用dlopen、dlsym,以及dlclose加载.so文件中插件构造方法,获得插件的对象指针。通过扫描对象中所包含的对象方法,生成该对象的方法名与相应方法函数指针的映射表。
[0024]1.3.4将实例化的插件注册到Plugin Manager中:
Plugin Manager中持有一张哈希表,将插件提供的方法名称,与其对应的方法对象(SP对应方法的函数指针)进行绑定。
[0025]伪定义:
MethodPointers plugins[plugin name][plugin methods];
其中MethodPointer定义为:
Typedef void (*MethodPointer)( CJSON *json_obj);
调用一个(16¥;[06;[11;1^0插件中包含的861:111;1^0的方法:
MethodPointers method = plugins[ “deviceinfo,,][ “getlnfo,,];
(^method) (arguments) -J/ arguments 是一个JSON对象指针。
[0026]这样就会调用到具体的方法:
DeviceInfo::getInfo(CJS0N *json){string require = cJSON—GetObjectItem( json,“require,,)->valuestring j
}
1.3.5注册javascript层与C++层之间的消息通道ViewDeIegate。注册完成后viewdelegate就绑定到window全局对象中。
[0027]以上流程即完成加载的过程。
[0028]对于Loader的加载过程中,Web层与Native层之间调用流程如图5、6所示:
其中图5为从web层调用Native层的流程,具体过程如下:
a.调用页面上的javascript方法;
b.将调用的方法还有参数打包成JSON;
c.序列化成JSON流;
d.viewdelegate接收JSON流并传送大native层;
e.解析JSON转换成C++类型;
f.JSON对象C++实例;
g.Plugin Manager解析对象实例,执行对应的插件方法。
[0029]图6为从Native层调用Web层的流程,具体过程如下:
a.插件将从系统得到的内打包成JSON对象;
b.调用delegate中exec j s ()方法,该方法实际上调用了 WebFrame的方法。回调对应的javascript对象,并将序列化后的JSON对象通过参数的形式传递出去;
c.通过WebPage—mainFrame O 调用到当前的 WebFrame,执行 evaluate javascript ();
d.ffebframe;
e.页面中对应的javascript方法被执行;
f.解析参数中的JS0N;
g.成功完成调用并根据javascript代码执行相应的内容。
[0030]以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
【主权项】
1.一种基于HTML5的销售点终端的实现方法,其特征在于:包括如下步骤, 51:用户通过PC工具正确完成应用程序的安装; 52:用户启动应用程序,操作系统OS中的launcher加载Loader; 53:进行Loader加载,Loader加载过程如下: 步骤S31:Loader启动后扫描应用程序的安装目录,读取应用程序的配置系统,加载首页面; 步骤S32:解析首页面,加载并解析页面中包含的脚本、样式、多媒体文件、以及应用配置文件资源; 步骤S33:扫描配置信息中指定的插件目录,读取并解析插件包的配置文件,包括如下过程: a、插件的有效的二进制文件的路径; b、插件的实例化方法名称; C、加载插件的java script脚本,并注入到页面中; Loader通过调用dlopen、dlsym,以及dlclose加载.so文件中插件构造方法,获得插件的对象指针;通过扫描对象中所包含的对象方法,生成该对象的方法名与相应方法函数指针的映射表; 步骤S34:将实例化的插件注册到Plugin Manager中: Plugin Manager中持有一张哈希表,将插件提供的方法名称,与其对应的方法对象(SP对应方法的函数指针)进行绑定; 步骤S35:注册javascript层与C++层之间的消息通道ViewDelegate ;注册完成后viewdelegate就绑定到window全局对象中。2.根据权利要求1所述的一种基于HTML5的销售点终端的实现方法,其特征在于:所述插件,即Iinux平台中的动态库。
【文档编号】G06F9/445GK105955786SQ201610323512
【公开日】2016年9月21日
【申请日】2016年5月17日
【发明人】严彬, 严明, 高锵
【申请人】福建新大陆支付技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1