CN108762956A - 获取Native本地数据的方法、服务器、移动终端及存储介质 - Google Patents

获取Native本地数据的方法、服务器、移动终端及存储介质 Download PDF

Info

Publication number
CN108762956A
CN108762956A CN201810549200.0A CN201810549200A CN108762956A CN 108762956 A CN108762956 A CN 108762956A CN 201810549200 A CN201810549200 A CN 201810549200A CN 108762956 A CN108762956 A CN 108762956A
Authority
CN
China
Prior art keywords
mobile terminal
readjustment
server
data
handling result
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.)
Granted
Application number
CN201810549200.0A
Other languages
English (en)
Other versions
CN108762956B (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.)
Kang Keyi Information Technology (shenzhen) Co Ltd
Original Assignee
Kang Keyi Information Technology (shenzhen) 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 Kang Keyi Information Technology (shenzhen) Co Ltd filed Critical Kang Keyi Information Technology (shenzhen) Co Ltd
Priority to CN201810549200.0A priority Critical patent/CN108762956B/zh
Publication of CN108762956A publication Critical patent/CN108762956A/zh
Application granted granted Critical
Publication of CN108762956B publication Critical patent/CN108762956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明涉及一种获取Native本地数据的方法、服务器、移动终端及存储介质,该方法包括:在打开HTML5页面后,检测系统版本信息,加载对应的预设的Hybrid混合模式脚本;在接收到在该HTML5页面上触发的获取本地数据的指令后,调用该Hybrid混合模式脚本中的统一调配功能方法,基于该统一调配功能方法获取该指令对应的功能参数,生成本次调用该统一调配功能方法的回调ID,组装预定的协议格式的协议数据;调用该Hybrid混合模式脚本中的回调消息函数获取回调的处理结果,获取该处理结果中的移动终端的本地数据。本发明能够实现轻量级、兼容性强的混合模式移动应用方案。

Description

获取Native本地数据的方法、服务器、移动终端及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种获取Native本地数据的方法、服务器、移动终端及存储介质。
背景技术
混合模式移动应用Hybrid app是介于Web app、Native app两者之间的app,兼具Native app良好用户交互体验的优势和Web app跨平台开发和低成本的优势。Hybrid app主要以JS+Native两者相互调用为主,从开发层面实现“一次开发、多处运行”的机制,成为真正适合跨平台的应用。
现有的混合模式移动应用方案附带较多原生的插件,交互复杂,使得整个处理过程变慢;Hybrid app方案一般针对不同的平台系统进行开发兼容策略,存在较多的系统分裂版本,使得其通用性有待提高。
发明内容
本发明的目的在于提供一种获取Native本地数据的方法、服务器、移动终端及存储介质,旨在实现轻量级、兼容性强的混合模式移动应用方案。
为实现上述目的,本发明提供一种获取Native本地数据的方法,应用于服务器,所述获取Native本地数据的方法包括:
在监测到移动终端打开HTML5页面后,检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本;
在接收到在该HTML5页面上触发的获取该移动终端的本地数据的指令后,调用该Hybrid混合模式脚本中的统一调配功能方法,基于该统一调配功能方法获取该指令对应的功能参数,生成本次调用该统一调配功能方法的回调ID,基于该功能参数及所生成的回调ID组装预定的协议格式的协议数据;
调用该Hybrid混合模式脚本中的回调消息函数获取移动终端基于所述协议数据回调的处理结果,获取该处理结果中的回调ID,若该处理结果中的回调ID与所生成的回调ID相同,则获取该处理结果中的移动终端的本地数据。
优选地,所述检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本,具体包括:
获取该移动终端的网页视图控件的用户代理属性信息,基于该用户代理属性信息确定该移动终端的系统版本信息;
若该系统版本信息为iOS版本,则加载该iOS版本对应的Hybrid混合模式脚本;
若该系统版本信息为Android版本,则加载该Android版本对应的Hybrid混合模式脚本。
优选地,所述处理结果包括回调ID、json字符串及标识码,所述获取该处理结果中的移动终端的本地数据,具体包括:
获取该处理结果中的标识码,若该标识码为成功码,且json字符串不为空,则获取json字符串中的数据作为移动终端的本地数据。
为实现上述目的,本发明还提供一种获取Native本地数据的方法,应用于移动终端,所述获取Native本地数据的方法包括:
在移动终端打开HTML5页面后,在该HTML5页面上触发获取本地数据的指令;
拦截服务器发送的预定的协议格式的协议数据,对该协议数据进行解析,得到该指令对应的功能参数及服务器本次调用统一调配功能方法的回调ID,将该功能参数及回调ID合并为一条待处理数据并保存至处理队列中;
获取处理队列中的待处理数据的功能参数,基于该功能参数获取对应的本地数据,并在获取到本地数据后,基于网页视图控件将包含所获取的本地数据及对应的回调ID的处理结果发送给服务器。
优选地,所述处理结果包括回调ID、json字符串及标识码,所述基于网页视图控件将包含所获取的本地数据及对应的回调ID的处理结果发送给服务器,具体包括:
将获取的本地数据存在json字符串中,将标识码置为成功码,基于网页视图控件将包含对应的回调ID、json字符串及成功码的处理结果发送给服务器。
优选地,该方法还包括:
若基于该功能参数未能获取到对应的本地数据,则分析本次基于该功能参数的获取操作是否成功;
若获取操作成功,则将标识码置为成功码,基于网页视图控件将包含该成功码及对应的回调ID的处理结果发送给服务器;
若获取操作失败,则将标识码置为失败码或错误码,基于网页视图控件将包含该失败码或错误码及对应的回调ID的处理结果发送给服务器。
为实现上述目的,本发明还提供一种服务器,所述服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现上述应用于服务器的获取Native本地数据的方法的步骤。
为实现上述目的,本发明还提供一种移动终端,所述移动终端包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现上述应用于移动终端的获取Native本地数据的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的应用于服务器的获取Native本地数据的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的应用于移动终端的获取Native本地数据的方法的步骤。
本发明的有益效果是:本发明针对不同的系统版本开发对应的Hybrid混合模式脚本,在服务器使用移动终端的本地数据时,前端触发获取该本地数据的指令,然后服务器调用Hybrid混合模式脚本中的统一调配功能方法DispatchScheme,获取该指令对应的功能参数,基于该功能参数及回调ID组装预定的协议格式的协议数据,传输协议数据给移动终端,最终调用该Hybrid混合模式脚本中的回调消息函数获取移动终端回调的处理结果,得到移动终端的本地数据。本发明的Hybrid混合模式脚本无需附带其他插件,仅提供统一调配功能方法这一对外接口供使用,处理速度快、交互简单、代码量小;且可以兼容iOS及Android平台系统,具有较强通用性。
附图说明
图1为本发明各个实施例一可选的应用环境示意图;
图2为图1中服务器一实施例的硬件架构的示意图;
图3为图1中移动终端一实施例的硬件架构的示意图;
图4为本发明应用在服务器的获取Native本地数据的方法一实施例的流程示意图;
图5为本发明应用在移动终端获取Native本地数据的方法一实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明获取Native本地数据的方法的较佳实施例的应用环境示意图。该应用环境示意图包括服务器1及移动终端2。服务器1可以通过网络、近场通信技术等适合的技术与移动终端2进行数据交互。
所述移动终端2包括,但不限于,任何一种可与用户通过键盘、鼠标、遥控器、触摸板或者声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(InternetProtocol Television,IPTV)、智能式穿戴式设备、导航装置等等的可移动设备,或者诸如数字TV、台式计算机、笔记本、服务器等等的固定终端。
所述服务器1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述服务器1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,如图2所示,服务器1可包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,存储器11存储有可在处理器12上运行的处理系统。需要指出的是,图2仅示出了具有组件11-13的服务器1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为服务器1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是服务器1的内部存储单元,例如该服务器1的硬盘;在另一些实施例中,该非易失性存储介质也可以是服务器1的外部存储设备,例如服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于服务器1的操作系统和各类应用软件,例如存储本发明一实施例中的处理系统的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述服务器1的总体操作,例如执行与所述移动终端2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行处理系统等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述服务器1与其他电子设备之间建立通信连接。本实施例中,网络接口13主要用于将服务器1与一个或多个移动终端2相连,在服务器1与一个或多个移动终端2之间建立数据传输通道和通信连接。
所述处理系统存储在存储器11中,包括至少一个存储在存储器11中的计算机可读指令,该至少一个计算机可读指令可被处理器器12执行,以实现本申请对应实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在本实施例中,如图3所示,移动终端2可包括,但不仅限于,可通过系统总线相互通信连接的存储器21、处理器22、网络接口23,存储器11存储有可在处理器22上运行的处理系统。需要指出的是,图3仅示出了具有组件21-23的移动终端2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,存储器21与上述的存储器11类似,处理器22与上述的处理器12类似,网络接口23与上述的网络接口13类似,此处不做过多赘述。
所述处理系统存储在存储器21中,包括至少一个存储在存储器21中的计算机可读指令,该至少一个计算机可读指令可被处理器器22执行,以实现本申请对应实施例的方法;以及,该至少一个计算机可读指令依据其各部分所实现的功能不同,可被划为不同的逻辑模块。
在一实施例中,上述处理系统被所述处理器12执行时实现如下步骤:
在监测到移动终端打开HTML5页面后,检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本;
其中,移动终端打开HTML5页面后,服务器检测该移动终端的系统版本信息,在一实施例中,所述检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本,具体包括:
获取该移动终端的网页视图控件(Webview)的用户代理属性信息(UserAgent),基于该用户代理属性信息确定该移动终端的系统版本信息;
若该系统版本信息为iOS版本,则加载该iOS版本对应的Hybrid混合模式脚本;
若该系统版本信息为Android版本,则加载该Android版本对应的Hybrid混合模式脚本。
其中,在用户代理属性信息包括"Android"、"iPhone"、"iPod"、"iPad"、"WindowsPhone"或"MQQBrowser"等关键字,通过该关键字可以获知移动终端的系统版本信息。
其中,针对iOS版本及Android版本,分别开发有对应的Hybrid混合模式脚本,以利于在各个系统版本的移动终端中执行。进一步地,若为Android版本的移动终端,则需要区分该移动终端的内核属性,区分其为Android webkit内核还是Android chrome内核,因为在Android版本的移动终端中,不同内核属性的调用方式存在不同,因此根据内核属性的不同,使用不同的调用方式来通知移动终端的native。例如,在打开一个网页时,ifream.src会存在移动终端的native拦截不到或者频繁调用丢失数据的情况,所以在chrome的内核中,调用方式需要修改为<A>标签的方式。
在接收到在该HTML5页面上触发的获取该移动终端的本地数据的指令后,调用该Hybrid混合模式脚本中的统一调配功能方法,基于该统一调配功能方法获取该指令对应的功能参数,生成本次调用该统一调配功能方法的回调ID,基于该功能参数及所生成的回调ID组装预定的协议格式的协议数据;
其中,该获取该移动终端的本地数据的指令例如为获取用户的联系信息或者获取移动终端的当前位置等等。根据该指令调用该Hybrid混合模式脚本中的统一调配功能方法DispatchScheme,该统一调配功能方法DispatchScheme可以同时调用多个,实现同时获取多条移动终端的本地数据。该统一调配功能方法获取该指令对应的功能参数,例如为“get:location”或者为“get:phone number”等。同时生成本次调用该统一调配功能方法的回调ID,即callbackid。基于该功能参数及所生成的回调ID组装预定的协议格式的协议数据,该预定的协议格式为自定义的协议格式,具体地,使用callbackid+功能参数组成“***://hybrid/###”的协议数据,其中,“###”为数据组装和对象组装。然后,统一调配功能方法DispatchScheme根据移动终端的webview调用JS API统一接口来发送封装后的协议数据到移动终端的native,供移动终端的native获取该功能参数对应的本地数据。
调用该Hybrid混合模式脚本中的回调消息函数获取移动终端基于所述协议数据回调的处理结果,获取该处理结果中的回调ID,若该处理结果中的回调ID与所生成的回调ID相同,则获取该处理结果中的移动终端的本地数据。
其中,移动终端通过网页视图控件(Webview)回调处理结果,Hybrid混合模式脚本中的回调消息函数CallBackMessage获取该处理结果,该回调消息函数CallBackMessage对于外部是不可见的。获取该处理结果中的回调ID,
由于统一调配功能方法DispatchScheme可以同时调用多个,因此回调的处理结果可能有多个,通过比对处理结果中的回调ID与调用时所生成的回调ID,可以找到本次调用该统一调配功能方法回调的对应的处理结果,以获取该处理结果中的移动终端的本地数据。其中,处理结果包括回调ID、json字符串及标识码,所述获取该处理结果中的移动终端的本地数据,具体包括:获取该处理结果中的标识码,若该标识码为成功码,且json字符串不为空,则获取json字符串中的数据作为移动终端的本地数据。
其中,在处理结果中包含参数:回调ID、json字符串及code(成功码、失败码或者错误码),成功码例如为“1”,失败码例如为“0”,错误码根据具体的事例而自定义,例如“-1”为服务器错误,“-2”为用户状态过期等。
如果能够获取到本地数据,例如获取到用户的联系信息为abc,或者获取到移动终端的当前位置为def,那么该本地数据存在json字符串中,且code为成功码;
如果不能获取到本地数据,例如指令为打开一个页面等无本地数据的操作,在页面成功打开后,则json字符串为空,code为成功码;
如果不能获取到本地数据,例如移动终端中有GPS但无法获取当前位置时,则json字符串为空,code为失败码;
如果不能够获取到本地数据,例如移动终端中无GPS无法获取当前位置时,则json字符串为空,code为错误码。
与现有技术相比,本发明针对不同的系统版本开发对应的Hybrid混合模式脚本,在服务器使用移动终端的本地数据时,前端触发获取该本地数据的指令,然后服务器调用Hybrid混合模式脚本中的统一调配功能方法DispatchScheme,获取该指令对应的功能参数,基于该功能参数及回调ID组装预定的协议格式的协议数据,传输协议数据给移动终端,最终调用该Hybrid混合模式脚本中的回调消息函数获取移动终端回调的处理结果,得到移动终端的本地数据。本发明的Hybrid混合模式脚本无需附带其他插件,仅提供统一调配功能方法这一对外接口供使用,处理速度快、交互简单、代码量小;且可以兼容iOS及Android平台系统,具有较强通用性。
在一实施例中,上述处理系统被所述处理器22执行时实现如下步骤:
在移动终端打开HTML5页面后,在该HTML5页面上触发获取本地数据的指令;
拦截服务器发送的预定的协议格式的协议数据,对该协议数据进行解析,得到该指令对应的功能参数及服务器本次调用统一调配功能方法的回调ID,将该功能参数及回调ID合并为一条待处理数据并保存至处理队列中;
其中,在该HTML5页面上触发获取移动终端的本地数据的指令,该指令例如为获取用户的联系信息或者获取移动终端的当前位置等等。在触发指令后,服务器的Hybrid混合模式脚本根据该指令进行处理,封装协议数据。移动终端会专门拦截服务器发送的预定的协议格式的协议数据,例如拦截“***://hybrid/###”的协议数据,该预定的协议格式的协议数据为自定义的协议格式的协议数据。移动终端根据根据协议格式对协议数据进行解析,得到对应的功能参数及服务器本次调用统一调配功能方法的回调ID,将该功能参数及回调ID合并为一条待处理数据并保存至移动终端的处理队列中。
由于现有的回调方法都很固定,需要在HTML5页面单独做一个监听回调方法,代码冗余,而且无法获知何时被调用,本实施例将功能参数及回调ID合并并保存至移动终端的处理队列,在回调本地数据时回调到服务器,而不需要再利用监听接口,简单便捷。
移动终端定时检测处理队列,若处理队列中有待处理数据,则获取待处理数据的功能参数,基于该功能参数获取对应的本地数据,作为处理结果回调给服务器。
在一实施例中,在上述实施例的基础上,该方法还包括:
若基于该功能参数未能获取到对应的本地数据,则分析本次基于该功能参数的获取操作是否成功;若获取操作成功,则将标识码置为成功码,基于网页视图控件将包含该成功码及对应的回调ID的处理结果发送给服务器;若获取操作失败,则将标识码置为失败码或错误码,基于网页视图控件将包含该失败码或错误码及对应的回调ID的处理结果发送给服务器。
其中,在处理结果中包含参数:回调ID、json字符串及code(成功码、失败码或者错误码),成功码例如为“1”,失败码例如为“0”,错误码根据具体的事例而自定义,例如“-1”为服务器错误,“-2”为用户状态过期等。
如果移动终端能够获取到本地数据,例如获取到用户的联系信息为abc,或者获取到移动终端的当前位置为def,那么该本地数据存在json字符串中,且code为成功码;
如果移动终端能够获取到本地数据,但获取移动终端的本地数据的指令为打开一个页面等无本地数据的操作时,则json字符串为空,code为成功码;
如果不能够获取到本地数据,例如移动终端中有GPS但无法获取当前位置时,则json字符串为空,code为失败码;
如果不能够获取到本地数据,例如移动终端中无GPS无法获取当前位置时,则json字符串为空,code为错误码。
与现有技术相比,本发明在服务器获取Native本地数据时,移动终端与服务器之间仅通过统一调配功能方法这一对外接口进行交互即可将本地数据回调给服务器,交互简单,通过将服务器获取Native本地数据对应的功能参数及回调ID保存至处理队列中,在回调本地数据时可直接回调到服务器,而不需要再利用监听接口,简单便捷。
如图4所示,图4为本发明应用于服务器的获取Native本地数据的方法一实施例的流程示意图,该方法包括以下步骤:
步骤S1,在监测到移动终端打开HTML5页面后,检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本;
步骤S2,在接收到在该HTML5页面上触发的获取该移动终端的本地数据的指令后,调用该Hybrid混合模式脚本中的统一调配功能方法,基于该统一调配功能方法获取该指令对应的功能参数,生成本次调用该统一调配功能方法的回调ID,基于该功能参数及所生成的回调ID组装预定的协议格式的协议数据;
步骤S3,调用该Hybrid混合模式脚本中的回调消息函数获取移动终端基于所述协议数据回调的处理结果,获取该处理结果中的回调ID,若该处理结果中的回调ID与所生成的回调ID相同,则获取该处理结果中的移动终端的本地数据。
本实施例针对不同的系统版本开发对应的Hybrid混合模式脚本,在服务器使用移动终端的本地数据时,前端触发获取该本地数据的指令,然后服务器调用Hybrid混合模式脚本中的统一调配功能方法DispatchScheme,获取该指令对应的功能参数,基于该功能参数及回调ID组装预定的协议格式的协议数据,传输协议数据给移动终端,最终调用该Hybrid混合模式脚本中的回调消息函数获取移动终端回调的处理结果,得到移动终端的本地数据。本发明的Hybrid混合模式脚本无需附带其他插件,仅提供统一调配功能方法这一对外接口供使用,处理速度快、交互简单、代码量小;且可以兼容iOS及Android平台系统,具有较强通用性。
如图5所示,图5为本发明应用于移动终端的获取Native本地数据的方法一实施例的流程示意图,该方法包括以下步骤:
步骤S101,在移动终端打开HTML5页面后,在该HTML5页面上触发获取本地数据的指令;
步骤S102,拦截服务器发送的预定的协议格式的协议数据,对该协议数据进行解析,得到该指令对应的功能参数及服务器本次调用统一调配功能方法的回调ID,将该功能参数及回调ID合并为一条待处理数据并保存至处理队列中;
步骤S103,获取处理队列中的待处理数据的功能参数,基于该功能参数获取对应的本地数据,并在获取到本地数据后,基于网页视图控件将包含所获取的本地数据及对应的回调ID的处理结果发送给服务器。
本实施例在服务器获取Native本地数据时,移动终端与服务器之间仅通过统一调配功能方法这一对外接口进行交互即可将本地数据回调给服务器,交互简单,通过将服务器获取Native本地数据对应的功能参数及回调ID保存至处理队列中,在回调本地数据时可直接回调到服务器,而不需要再利用监听接口,简单便捷。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的应用于服务器的获取Native本地数据的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现上述的应用于移动终端的获取Native本地数据的方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种获取Native本地数据的方法,应用于服务器,其特征在于,所述获取Native本地数据的方法包括:
在监测到移动终端打开HTML5页面后,检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本;
在接收到在该HTML5页面上触发的获取该移动终端的本地数据的指令后,调用该Hybrid混合模式脚本中的统一调配功能方法,基于该统一调配功能方法获取该指令对应的功能参数,生成本次调用该统一调配功能方法的回调ID,基于该功能参数及所生成的回调ID组装预定的协议格式的协议数据;
调用该Hybrid混合模式脚本中的回调消息函数获取移动终端基于所述协议数据回调的处理结果,获取该处理结果中的回调ID,若该处理结果中的回调ID与所生成的回调ID相同,则获取该处理结果中的移动终端的本地数据。
2.根据权利要求1所述的获取Native本地数据的方法,其特征在于,所述检测该移动终端的系统版本信息,基于所检测的系统版本信息加载对应的预设的Hybrid混合模式脚本,具体包括:
获取该移动终端的网页视图控件的用户代理属性信息,基于该用户代理属性信息确定该移动终端的系统版本信息;
若该系统版本信息为iOS版本,则加载该iOS版本对应的Hybrid混合模式脚本;
若该系统版本信息为Android版本,则加载该Android版本对应的Hybrid混合模式脚本。
3.根据权利要求1或2所述的获取Native本地数据的方法,其特征在于,所述处理结果包括回调ID、json字符串及标识码,所述获取该处理结果中的移动终端的本地数据,具体包括:
获取该处理结果中的标识码,若该标识码为成功码,且json字符串不为空,则获取json字符串中的数据作为移动终端的本地数据。
4.一种获取Native本地数据的方法,应用于移动终端,其特征在于,所述获取Native本地数据的方法包括:
在移动终端打开HTML5页面后,在该HTML5页面上触发获取本地数据的指令;
拦截服务器发送的预定的协议格式的协议数据,对该协议数据进行解析,得到该指令对应的功能参数及服务器本次调用统一调配功能方法的回调ID,将该功能参数及回调ID合并为一条待处理数据并保存至处理队列中;
获取处理队列中的待处理数据的功能参数,基于该功能参数获取对应的本地数据,并在获取到本地数据后,基于网页视图控件将包含所获取的本地数据及对应的回调ID的处理结果发送给服务器。
5.根据权利要求4所述的获取Native本地数据的方法,其特征在于,所述处理结果包括回调ID、json字符串及标识码,所述基于网页视图控件将包含所获取的本地数据及对应的回调ID的处理结果发送给服务器,具体包括:
将获取的本地数据存在json字符串中,将标识码置为成功码,基于网页视图控件将包含对应的回调ID、json字符串及成功码的处理结果发送给服务器。
6.根据权利要求5所述的获取Native本地数据的方法,其特征在于,该方法还包括:
若基于该功能参数未能获取到对应的本地数据,则分析本次基于该功能参数的获取操作是否成功;
若获取操作成功,则将标识码置为成功码,基于网页视图控件将包含该成功码及对应的回调ID的处理结果发送给服务器;
若获取操作失败,则将标识码置为失败码或错误码,基于网页视图控件将包含该失败码或错误码及对应的回调ID的处理结果发送给服务器。
7.一种服务器,其特征在于,所述服务器包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如权利要求1至3任一项所述的方法的步骤。
8.一种移动终端,其特征在于,所述移动终端包括存储器及与所述存储器连接的处理器,所述存储器中存储有可在所述处理器上运行的处理系统,所述处理系统被所述处理器执行时实现如权利要求4至6任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现如权利要求1至3任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有处理系统,所述处理系统被处理器执行时实现如权利要求4至6任一项所述的方法的步骤。
CN201810549200.0A 2018-05-31 2018-05-31 获取Native本地数据的方法、服务器、移动终端及存储介质 Active CN108762956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810549200.0A CN108762956B (zh) 2018-05-31 2018-05-31 获取Native本地数据的方法、服务器、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810549200.0A CN108762956B (zh) 2018-05-31 2018-05-31 获取Native本地数据的方法、服务器、移动终端及存储介质

Publications (2)

Publication Number Publication Date
CN108762956A true CN108762956A (zh) 2018-11-06
CN108762956B CN108762956B (zh) 2023-03-21

Family

ID=64001186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810549200.0A Active CN108762956B (zh) 2018-05-31 2018-05-31 获取Native本地数据的方法、服务器、移动终端及存储介质

Country Status (1)

Country Link
CN (1) CN108762956B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597709A (zh) * 2019-08-13 2019-12-20 平安国际智慧城市科技股份有限公司 混合模式移动应用的交互调试方法、装置和计算机设备
CN111258683A (zh) * 2020-01-19 2020-06-09 北京三快在线科技有限公司 检测方法、装置、计算机设备及存储介质
CN111722935A (zh) * 2019-03-20 2020-09-29 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
WO2021017594A1 (zh) * 2019-07-26 2021-02-04 上海商汤智能科技有限公司 数据处理方法及装置、设备、服务器、系统及存储介质
CN112667482A (zh) * 2020-12-31 2021-04-16 成都新希望金融信息有限公司 业务功能调用方法、移动终端和存储介质
CN113032167A (zh) * 2021-03-31 2021-06-25 完美世界(北京)软件科技发展有限公司 页面通信方法、装置及设备
CN115904341A (zh) * 2022-12-14 2023-04-04 上海汇付支付有限公司 一种面向移动端混合开发的前端优化方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722935A (zh) * 2019-03-20 2020-09-29 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
WO2021017594A1 (zh) * 2019-07-26 2021-02-04 上海商汤智能科技有限公司 数据处理方法及装置、设备、服务器、系统及存储介质
CN110597709A (zh) * 2019-08-13 2019-12-20 平安国际智慧城市科技股份有限公司 混合模式移动应用的交互调试方法、装置和计算机设备
CN110597709B (zh) * 2019-08-13 2022-11-01 深圳赛安特技术服务有限公司 混合模式移动应用的交互调试方法、装置和计算机设备
CN111258683A (zh) * 2020-01-19 2020-06-09 北京三快在线科技有限公司 检测方法、装置、计算机设备及存储介质
CN112667482A (zh) * 2020-12-31 2021-04-16 成都新希望金融信息有限公司 业务功能调用方法、移动终端和存储介质
CN112667482B (zh) * 2020-12-31 2023-08-18 成都新希望金融信息有限公司 业务功能调用方法、移动终端和存储介质
CN113032167A (zh) * 2021-03-31 2021-06-25 完美世界(北京)软件科技发展有限公司 页面通信方法、装置及设备
CN115904341A (zh) * 2022-12-14 2023-04-04 上海汇付支付有限公司 一种面向移动端混合开发的前端优化方法及装置

Also Published As

Publication number Publication date
CN108762956B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
CN108762956A (zh) 获取Native本地数据的方法、服务器、移动终端及存储介质
KR102179149B1 (ko) 페이지 컴포넌트 동적 레이아웃
KR102436987B1 (ko) 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치
EP2916243B1 (en) Method, apparatus, server and system for implementing web application
US8650481B1 (en) Stable and secure use of content scripts in browser extensions
CN104516885B (zh) 浏览程序双内核组件的实现方法及装置
CN103034517A (zh) 浏览器控制工具加载方法和装置
CN106502646A (zh) 应用的页面信息处理方法及装置
CN108304234B (zh) 一种页面展示方法及装置
CN103064680B (zh) 浏览器中插件的播放方法及装置
CN109522500B (zh) 网页显示方法、装置、终端和存储介质
CN102982169A (zh) 用于隔离网页插件的浏览器和方法
CN103034518A (zh) 加载浏览器控制工具的方法及浏览器
US20140223414A1 (en) Paige control for enterprise mobile applications
CN109582317B (zh) 用于调试寄宿应用的方法和装置
CN103034495A (zh) 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN109800370A (zh) 网页页面的显示方法、装置、计算机设备及存储介质
US9092235B2 (en) Virtualizing integrated calls to provide access to resources in a virtual namespace
US10789751B2 (en) Method and apparatus for implementing animation in client application and animation script framework
CN105786476A (zh) 移动客户端与服务器之间的数据处理方法及系统
US9164817B2 (en) Mobile communication terminal to provide widget expansion function using message communication, and operation method of the mobile communication terminal
CN103019734B (zh) 一种活动对象执行方法、系统及浏览器
CN107092494B (zh) 访问apk资源的方法和装置
CN103838575A (zh) 一种基于extjs框架的插件式页面定制实现方法
CN103019735B (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
GR01 Patent grant
GR01 Patent grant