CN109725887B - 基于消息研发框架的数据交互方法、装置及终端设备 - Google Patents
基于消息研发框架的数据交互方法、装置及终端设备 Download PDFInfo
- Publication number
- CN109725887B CN109725887B CN201811529435.XA CN201811529435A CN109725887B CN 109725887 B CN109725887 B CN 109725887B CN 201811529435 A CN201811529435 A CN 201811529435A CN 109725887 B CN109725887 B CN 109725887B
- Authority
- CN
- China
- Prior art keywords
- script
- native
- data
- callback
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 261
- 230000003993 interaction Effects 0.000 title claims abstract description 77
- 238000012827 research and development Methods 0.000 title abstract description 7
- 230000002452 interceptive effect Effects 0.000 claims abstract description 84
- 238000004806 packaging method and process Methods 0.000 claims abstract description 48
- 238000011161 development Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000000977 initiatory effect Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 85
- 238000013507 mapping Methods 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 description 19
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明适用于数据处理技术领域,提供了基于消息研发框架的数据交互方法、装置、终端设备以及计算机可读存储介质,包括:创建包含原生方法的第一交互对象,该原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;创建第二交互对象,在第二交互对象内设置包装方法,将包装方法设置为原生方法的执行载体,并执行包装方法;若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行第二交互对象中的脚本回传方法,将反馈数据作为变量添加在脚本代码中。本发明实现了原生应用与嵌入至原生应用的脚本代码之间的数据交互,开发人员基于本发明可快速开发不同的原生应用,降低了开发难度。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及基于消息研发框架的数据交互方法、装置、终端设备以及计算机可读存储介质。
背景技术
随着信息技术的发展,应用程序的开发技术呈现多样化的发展趋势。为了满足业务的快速迭代,现今的一种热门开发模式是Hybrid(混合)模式,即是将包含脚本代码的HTML5页面嵌入至原生应用,通过数据交互实现页面加载及数据展示等功能。
在现有技术中,通常是通过原生应用的原生接口直接添加客户端对象,并在该客户端对象中根据需求不断增加新的方法从而实现数据交互,导致交互代码较为臃肿,交互代码无法在不同的原生应用中复用,并且在每次需要进行数据交互时,都要根据具体的交互要求进行定制化开发。综上,现有技术中,在原生应用与脚本代码之间实现数据交互的开发难度高。
发明内容
有鉴于此,本发明实施例提供了基于消息研发框架的数据交互方法、装置、终端设备以及计算机可读存储介质,以解决现有技术中实现数据交互的开发难度高的问题。
本发明实施例的第一方面提供了一种基于消息研发框架的数据交互方法,包括:
创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
本发明实施例的第二方面提供了一种基于消息研发框架的数据交互装置,包括:
第一创建单元,用于创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
第二创建单元,用于创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
添加单元,用于若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
本发明实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
本发明实施例与现有技术相比存在的有益效果是:
本发明实施例通过将创建的第一交互对象提供给脚本代码,便于将执行脚本代码生成的请求数据发送至原生应用,同时创建第二交互对象,该第二交互对象一方面作为第一交互对象发送数据的载体,另一方面用于将原生应用中与请求数据对应的反馈数据添加到脚本代码,本发明实施例提供了一种全新的原生应用与脚本代码之间的数据交互方法,开发人员在该数据交互方法的基础上,无论面向哪种原生应用和哪种应用功能,只需增加对请求数据进行处理得到反馈数据的逻辑,便可实现原生应用的接入及开发,显著降低了在原生应用与脚本代码之间实现数据交互的开发难度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于消息研发框架的数据交互方法的实现流程图;
图2是本发明实施例二提供的基于消息研发框架的数据交互方法的实现流程图;
图3是本发明实施例三提供的基于消息研发框架的数据交互方法的实现流程图;
图4是本发明实施例四提供的基于消息研发框架的数据交互方法的实现流程图;
图5是本发明实施例五提供的基于消息研发框架的数据交互装置的结构框图;
图6是本发明实施例六提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的基于消息研发框架的数据交互方法的实现流程,详述如下:
在S101中,创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用。
对于终端设备上应用程序的开发,一种开发方式是将包含脚本代码的超文本标记语言(HyperText Markup Language,HTML)5页面嵌入至原生应用中,从而HTML5页面便可在原生应用上加载并显示。在应用程序的运行过程中,脚本代码和原生应用之间通常需要进行数据交互,比如原生应用中已经加载完成的HTML5页面提供有一个跳转按钮,该跳转按钮用于获取用户信息,一旦用户点击该跳转按钮,该跳转按钮底层的脚本代码便会向原生应用发起获取用户信息的请求,当接收到原生应用传回的用户信息时,脚本代码便可将用户信息在HTML5页面上进行展示;又比如在脚本代码不支持数据缓存的情况下,脚本代码将原生应用作为代理来请求网络中的数据,由于数据需要经由原生应用转发从而到达脚本代码,故数据可在原生应用中实现缓存。为了便于说明本发明实施例的内容,假设脚本代码利用JavaScript语言编写,且原生应用运行在安卓操作系统中,但应获知的是,这并不构成对本发明实施例的限定。
在本发明实施例中,脚本代码与原生应用之间的数据交互基于WebView组件实现,其中,WebView是安卓操作系统中的一个基于webkit引擎,用于展示页面内容的组件。首先,基于WebView组件中的addJavaInterface方法创建第一交互对象,该第一交互对象为JavaScript全局对象,创建第一交互对象的过程实质上是将第一交互对象的使用权提供给脚本代码,建立完毕后,在执行脚本代码时,便可调用第一交互对象。一旦脚本代码被触发(比如底层为脚本代码的某个按钮被用户点击),则可通过执行第一交互对象将脚本代码产生的请求数据发送至原生应用,具体地,为了实现向原生应用发送数据的操作,在第一交互对象中设置原生方法,并设置该原生方法的输入参数为请求数据,输入参数的数据类型为字符串,本发明实施例对请求数据的具体内容并不做限定,可根据实际应用场景中脚本代码的具体内容进行确定。举例来说,在原生应用上加载的HTML5页面中的一个跳转按钮的底层为脚本代码,且假设该脚本代码的运行结果是产生一个固定的请求数据X,该请求数据X用于请求用户信息,则当用户点击该跳转按钮时,脚本代码自动执行生成请求数据X,由于脚本代码具有原生方法的使用权限,故在执行脚本代码时,同样执行原生方法,将生成的请求数据X向原生应用发送。值得一提的是,本发明实施例中创建的对象(如第一交互对象)和方法(如原生方法)均是面向对象程序设计中的概念。类是面向对象程序设计中的基础概念,是对一类具有共同特征的事物的抽象体,由于类仅是一种数据类型而不是数据,故不存在内存中。对象则是类的实例,是实际上存在的数据,对象包括属性和方法,属性是与对象相关的值,而方法是能够在对象中执行的操作。
在S102中,创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法。
由于第一交互对象是由WebView组件进行创建,故可在原生应用的WebView组件初始化时执行创建第一交互对象的操作。然后,通过WebView组件监听HTML5页面在原生应用中的加载进度,若检测到HTML5页面加载完成,则通过WebView组件在原生应用中创建第二交互对象,同样地,第二交互对象也是一个JavaScript全局对象。具体地,可预先编写创建第二交互对象的交互JavaScript代码,再通过WebView组件的loadurl方法直接注入交互JavaScript代码,完成第二交互对象的创建。loadurl方法的具体形式为loadurl(“javascript:”+jsCode),其中的“jsCode”指示交互JavaScript代码。另外,交互JavaScript代码可直接包含在HTML5页面的脚本代码中,从而在创建第二交互对象时直接注入脚本代码即可。
对比于第一交互对象主要面向脚本代码,创建的第二交互对象主要面向原生应用。第二交互对象包含一个包装方法,该包装方法用于包装WebView组件创建的且由脚本代码调用的第一交互对象,包装的意义是提升代码在原生应用上的适用性和易用性。具体地,在创建包装方法时,设置包装方法的输入参数同样为请求数据,设置完毕后,执行包装方法实质上是执行其所包装的原生方法,即包装方法为原生方法的执行载体。若后续需要进行二度开发,则只需要对包装方法进行改进,而无需对原生方法进行修改。除此之外,还在第二交互对象内创建脚本回传方法,该脚本回传方法作为原生应用给脚本代码发送数据的桥梁,具体地,设置该脚本回传方法的输入参数为原生应用传递给脚本代码的反馈数据,参数类型同样为字符串。在脚本回传方法创建完成后,即完成了原生应用与脚本代码之间的消息框架的搭建。
在S103中,在所述第二交互对象创建脚本回传方法,当所述原生应用基于所述请求数据发送网络请求并接收到所述网络数据后,通过所述脚本回传方法将所述原生应用层的所述网络数据向所述脚本应用层传输。
原生应用在接收到源自脚本代码的请求数据后,基于请求数据发起请求,请求的具体格式可根据实际应用场景的数据请求规则进行制定,比如请求数据可以是特定的统一资源定位符(Uniform Resource Locator,URL),原生应用基于请求数据发起的请求可以是包含该URL的超文本传输协议(HyperText Transfer Protocol,HTTP)请求。另外,反馈数据可以是原生应用从外界网络获取到的数据,也可以是原生应用本地的数据。
若原生应用根据该请求未获取到反馈数据,则由于在脚本回传方法的执行过程中获取不到输入参数,故脚本回传方法会继续执行,直到接收到反馈数据为止;若原生应用根据该请求获取到反馈数据,则通过执行脚本回传方法,将反馈数据从原生应用向脚本代码发送,最终将反馈数据作为变量添加在脚本代码中,添加后的反馈数据可在后续执行脚本代码时被调用,实现对应的操作,比如一种操作是将反馈数据展示在HTML5页面上。可选地,在脚本回传方法中配置等待时长,若经过等待时长仍未接收到输入参数,则输出报错提示。为了防止脚本回传方法长时间等待造成的资源浪费,在本发明实施例中可设置等待时长(如5分钟),若在脚本回传方法的执行过程中,经过等待时长仍未接收到输入参数,则输出报错提示。
值得一提的是,上述内容仅阐述了通过执行脚本代码调用原生应用的数据的过程,但在已搭建上述消息框架的基础上,原生应用也可相应地回调脚本代码中的数据,本发明实施例在此不做赘述。另外,由于第一交互对象和第二交互对象都是由WebView组件创建,故可在WebView组件中封装创建第一交互对象和第二交互对象的代码,开发人员基于封装好的WebView组件,可在不改动组件内代码或改动少量代码的情况下接入不同的原生应用,而不需针对不同的原生应用创建全新的消息框架,大大降低了开发难度。
通过图1所示实施例可知,在本发明实施例中,通过将创建的第一交互对象提供给脚本代码,将创建的第二交互对象提供给原生应用,从而基于第一交互对象可将执行脚本代码产生的请求数据向原生应用传输,基于第二交互对象可将原生应用中的反馈数据向脚本代码传输,实现了原生应用与脚本代码之间的数据交互,并且上述的数据交互方法可适用于不同的原生应用以及不同的应用功能,降低了实现数据交互功能的开发难度。
图2所示,是在本发明实施例一的基础上,并在执行脚本代码时还生成与请求数据对应的请求标识的基础上,对在第一交互对象内设置原生方法进行扩展后得到的一种方法。本发明实施例提供了基于消息研发框架的数据交互方法的实现流程图,如图2所示,该数据交互方法可以包括以下步骤:
在S201中,在所述原生方法中创建原生回调对象,在所述原生回调对象中创建原生回调函数,并设置所述原生回调函数的输入参数为所述反馈数据,所述原生回调函数用于触发所述脚本回传方法执行。
在本发明实施例中,为了便于区分不同批次生成的请求数据,设置在执行脚本代码生成请求数据时,随机生成与请求数据对应的请求标识,其中,请求标识可为通用唯一识别码(Universally Unique Identifier,UUID)。在存在请求标识的情况下,对本发明实施例的消息框架进行调整,具体设置原生方法的输入参数包括两个,一个输入参数为请求标识,另一个输入参数为请求数据,同样地,设置脚本回传方法的输入参数包括两个,一个输入参数为请求标识,另一个输入参数为反馈数据,在同一个数据交互过程中,原生方法中出现的请求标识和脚本回传方法中出现的请求标识相同。由于原生应用基于请求数据发起请求后,请求数据可能受到网络延迟或处理延迟等因素影响,不是立即返回至原生应用,故为了更便于传输反馈数据,在本发明实施例中基于回调函数来实现反馈数据的监听并传递。在回调函数的机制中,将回调函数本身的指针作为一个参数传递给调用者,当特定的情况发生时,由调用者根据指针调用回调函数进行执行。具体的实现过程是,在第一交互对象内的原生方法中创建原生回调对象,并在原生回调对象中创建原生回调函数,设置该原生回调函数的输入参数为反馈数据,参数类型为字符串,设置完成的原生回调函数用于在检测到原生应用已接收反馈数据后,触发脚本回传方法执行。通过创建原生回调函数可满足反馈数据异步返回的情况(即反馈数据不是在发起请求后立刻返回),同时由于回调函数具有在接收到反馈数据后触发脚本回传方法的功能,故不需要在脚本回传方法内写入监听反馈数据的相关代码,降低了对反馈数据进行处理的代码的耦合度,便于进行二次开发。
在S202中,为所述请求标识和所述原生回调对象建立回调映射关系,其中,将所述请求标识设置为键,将所述原生回调对象设置为值。
由于反馈数据可能同时存在多个,故为了区别不同的反馈数据,将请求标识和原生回调对象建立映射关系,命名为回调映射关系。具体地,建立回调映射关系的方式可以是将请求标识和原生回调对象保存在map映射中,map映射用于保存从键到值的映射关系,在保存时,将请求标识设置为键,将原生回调对象设置为对应的值,在后续消息框架已构建完毕的数据交互过程中,此处保存的请求标识是经过执行原生方法,已经生成的请求标识。在存在与请求数据对应的请求标识时,原生应用根据请求标识和请求数据发起请求,且原生应用接收到的反馈数据与请求标识关联。在回调映射关系构建完毕后,若检测到原生应用已接收反馈数据,则确定该反馈数据对应的请求标识,进一步根据回调映射关系确定与该请求标识对应的原生回调对象,将该反馈数据作为该原生回调对象中的原生回调函数的输入参数,并执行该原生回调函数,从而触发并执行脚本回传方法,通过脚本回传方法将反馈数据从原生应用向脚本代码传递。
可选地,为原生回调对象创建动态代理对象,该动态代理对象用于保证原生回调函数在main线程被执行。由于WebView组件的相关代码需要在main线程(主线程)运行,故在本发明实施例中,可在原生方法中为原生回调对象创建并执行动态代理对象,通过动态代理的方式保证原生回调函数在main线程被执行,满足原生回调函数的运行需求。
通过图2所示实施例可知,在本发明实施例中,在原生方法中创建原生回调对象,在原生回调对象中创建原生回调函数,并设置原生回调函数的输入参数为反馈数据,该原生回调函数用于触发脚本回传方法执行,然后为请求标识和原生回调对象建立回调映射关系,本发明实施例通过建立回调函数,满足了反馈数据异步返回的场景,提升了数据交互的适用性,同时由于回调函数的特性,降低了代码的耦合度,便于进行二次开发。
图3所示,是在本发明实施例二的基础上,对在第二交互对象内设置包装方法进行扩展后得到的一种方法。本发明实施例提供了基于消息研发框架的数据交互方法的实现流程图,如图3所示,该数据交互方法可以包括以下步骤:
在S301中,在所述包装方法中创建脚本回调对象,并在所述脚本回调对象中创建脚本回调函数,所述脚本回调函数在所述反馈数据传输至所述脚本代码所在的脚本应用层时被执行,用于触发将所述反馈数据添加在所述脚本代码中的操作。
由于本发明实施例应用于将HTML5页面嵌入至原生应用的场景,故HTML5页面的代码和原生应用的代码并非位于一个层级,即数据传输需在两个层级之间进行,其中一个层级是原生应用层,也即原生应用所在的层级,另一个层级是脚本应用层,也即HTML5页面(脚本代码)所在的层级。建立的原生回调函数用于触发脚本回传方法,从而将反馈数据由原生应用层向脚本应用层传输,但在将反馈数据传输至脚本应用层后,位于原生应用层的原生回调函数便无法触发对脚本应用层中的反馈数据进行处理的操作。故在本发明实施例中,在第二交互对象内的包装方法中创建脚本回调对象,并在脚本回调对象中创建脚本回调函数,设置该脚本回调函数的输入参数为反馈数据,输入参数的数据类型为字符串,该脚本回调函数在反馈数据被传输至脚本代码所在的脚本应用层时被执行,用于触发将反馈数据作为变量添加在脚本代码中的操作。为了便于说明将反馈数据添加至脚本代码的过程,假设脚本代码中包括一个输出方法,该输出方法的输入参数为反馈数据,输出方法在执行时可将反馈数据输出至HTML5页面中,则脚本回调函数用于触发将反馈数据从脚本应用层传输到该输出方法,从而将反馈数据添加为该输出方法的输入参数的操作。
在S302中,将所述脚本回调对象的属性名设置为所述请求标识,并将所述脚本回调对象的属性值设置为所述脚本回调函数。
前文提到,属性是与对象相关的值,故为了保存请求标识与脚本回调函数,将脚本回调对象的属性名设置为请求标识,并将脚本回调对象的属性值设置为脚本回调函数,属性名和属性值之间的关系与键值关系类似,即属性名相当于键,属性值相当于值,设置属性名和属性值实质上是为请求标识与脚本回调函数建立映射关系,为了便于区分,将该映射关系命名为脚本映射关系。如果有反馈数据传输至脚本应用层,则根据该反馈数据的请求标识以及脚本映射关系确定对应的脚本回调函数,从而执行脚本回调函数,触发将反馈数据添加至脚本代码的操作。
通过图3所示实施例可知,在本发明实施例中,通过在包装方法中创建脚本回调对象,并在脚本回调对象中创建脚本回调函数,该脚本回调函数在反馈数据传输至脚本代码所在的脚本应用层时被执行,用于触发将反馈数据添加在脚本代码中的操作,然后将脚本回调对象的属性名设置为请求标识,并将脚本回调对象的属性值设置为脚本回调函数,本发明实施例提升了数据交互在脚本应用层中的适用性,根据本发明实施例可构建数据交互在脚本应用层中的异步机制。
图4所示,是在本发明实施例一的基础上,对执行包装方法的过程进行细化后得到的一种方法。本发明实施例提供了基于消息研发框架的数据交互方法的实现流程图,如图4所示,该数据交互方法可以包括以下步骤:
在S401中,获取通信协议与数据处理器之间的协议映射关系,所述通信协议为预设的所述原生应用与所述脚本代码之间进行交互的协议,所述数据处理器为对所述请求数据进行处理的java类。
在本发明实施例中,根据实际应用场景制定脚本代码与原生应用之间进行数据交互的通信协议,比如可约定openPage为打开页面的通信协议,约定httpProxy为请求原生应用作为代理的通信协议,只有当通信协议定义之后,脚本代码和原生应用双方才能获知对方发送数据的意图,即只有当发送的数据含有通信协议时,才认定该数据是用于数据交互的。而对于不同的交互协议,可在原生应用中对应地设置不同的数据处理器,该数据处理器为预设的java类,是原生应用的数据分发中心,脚本代码(HTML5页面代码)传递的所有数据都需经过数据处理器,再由数据处理器分发至原生应用中处理该数据的对象上。在本发明实施例中,为了实现请求数据的分发,首先获取通信协议与数据处理器之间的协议映射关系,该协议映射关系可基于map映射表进行配置。值得一提的是,可以预先配置协议映射关系,并将其写入到原生应用的配置文件中,在WebView组件初始化时,通过WebView组件读取配置文件,从而在内存中创建协议映射关系,降低协议映射关系的配置难度。
在S402中,在所述原生方法中创建分发方法,通过所述分发方法读取所述原生方法携带的所述请求数据,解析所述请求数据对应的所述通信协议,根据所述协议映射关系确定与所述通信协议对应的所述数据处理器,并将所述请求数据交由所述数据处理器进行处理,其中,所述分发方法的输入参数为所述请求数据。
在已获取到协议映射关系的基础上,需要建立一个方法,实现将请求数据传输至对应的数据处理器的过程,在本发明实施例中,在原生方法中创建分发方法,分发方法是一种创建方法是首先创建消息处理中心类MessageCenter(该消息处理中心类MessageCenter属于开源代码),再基于消息处理中心类MessageCenter中的dispatchMessage函数作为原型创建分发方法,并设置该分发方法的输入参数为请求数据,输入参数的数据类型为字符串,其中dispatchMessage函数专用于应用程序中的数据调度。在执行包装方法(实质上是执行原生方法)时,原生方法中的分发方法也被执行,在分发方法的执行过程中,读取原生方法携带的请求数据,并解析请求数据对应的通信协议(比如查看请求数据是否含有openPage或httpProxy),根据已获取到的协议映射关系确定与通信协议对应的数据处理器,将请求数据交由该确定出的数据处理器进行处理。
可选地,将回调函数的动态代理对象设置为分发方法的输入参数。在本发明实施例中,如果存在回调函数(如原生回调函数),则可将回调函数的动态代理对象设置为分发方法的另一个输入参数,从而在执行分发方法时,能够自动执行动态代理对象,保证回调函数能够在main线程进行,同时也降低了代码的结构复杂度。
可选地,获取数据处理器的线程注解,并根据线程注解切换数据处理器所在的线程。在实际应用场景中,脚本代码与原生应用之间的数据交互可能是在多种情况下进行的,比如在打开页面时,由于打开页面的功能较为重要,故原生应用应在main线程处理相关数据;比如在进行较为复杂且耗时较长的对多个信息的统计工作时,原生应用应在io线程(后台线程)处理相关数据;比如在依次统计少量的多个信息时,原生应用应在single线程(定义的用于顺序处理数据的线程)处理相关数据,具体可在single线程中建立一个单后台线程队列进行数据处理。故在本发明实施例中,获取数据处理器的线程注解(该线程注解是根据不同数据处理器的作用预先添加在数据处理器中的),然后根据线程注解切换数据处理器所在的线程,其中,线程注解用于指示数据处理器在main线程、io线程或single线程等线程处理请求数据,本发明实施例对线程注解的具体内容并不做限定。通过上述方法可提升对不同类型的请求数据进行处理的针对性。
通过图4所示实施例可知,在本发明实施例中,获取通信协议与数据处理器之间的协议映射关系,该通信协议为预设的原生应用与脚本代码之间进行交互的协议,该数据处理器为对请求数据进行处理的java类,并在原生方法中创建分发方法,通过执行分发方法,读取原生方法携带的请求数据,然后解析请求数据对应的通信协议,根据协议映射关系确定与该通信协议对应的数据处理器,并将请求数据交由数据处理器进行处理,本发明实施例通过读取协议映射关系以及建立分发方法,实现了对不同种类的请求数据的有效分发,提升了数据交互的有序性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的基于消息研发框架的数据交互方法,图5示出了本发明实施例提供的基于消息研发框架的数据交互装置的结构框图,参照图5,该数据交互装置包括:
第一创建单元51,用于创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
第二创建单元52,用于创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
添加单元53,用于若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
可选地,执行脚本代码后还生成与请求数据对应的请求标识,第一创建单元51还包括:
第一回调单元,用于在所述原生方法中创建原生回调对象,在所述原生回调对象中创建原生回调函数,并设置所述原生回调函数的输入参数为所述反馈数据,所述原生回调函数用于触发所述脚本回传方法执行;
回调映射单元,用于为所述请求标识和所述原生回调对象建立回调映射关系,其中,将所述请求标识设置为键,将所述原生回调对象设置为值。
可选地,第二创建单元52还包括:
第二回调单元,用于在所述包装方法中创建脚本回调对象,并在所述脚本回调对象中创建脚本回调函数,所述脚本回调函数在所述反馈数据传输至所述脚本代码所在的脚本应用层时被执行,用于触发将所述反馈数据添加在所述脚本代码中的操作;
属性设置单元,用于将所述脚本回调对象的属性名设置为所述请求标识,并将所述脚本回调对象的属性值设置为所述脚本回调函数。
可选地,第二创建单元52包括:
获取单元,用于获取通信协议与数据处理器之间的协议映射关系,所述通信协议为预设的所述原生应用与所述脚本代码之间进行交互的协议,所述数据处理器为对所述请求数据进行处理的java类;
分发单元,用于在所述原生方法中创建分发方法,通过所述分发方法读取所述原生方法携带的所述请求数据,解析所述请求数据对应的所述通信协议,根据所述协议映射关系确定与所述通信协议对应的所述数据处理器,并将所述请求数据交由所述数据处理器进行处理,其中,所述分发方法的输入参数为所述请求数据。
可选地,分发单元包括:
切换单元,用于获取所述数据处理器的线程注解,并根据所述线程注解切换所述数据处理器所在的线程。
因此,本发明实施例提供的基于消息研发框架的数据交互装置通过创建第一交互对象和第二交互对象,实现了脚本代码与原生应用之间的数据交互,降低了对不同原生应用进行开发的开发难度。
图6是本发明实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如基于消息研发框架的数据交互程序。所述处理器60执行所述计算机程序62时实现上述各个基于消息研发框架的数据交互方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器60执行所述计算机程序62时实现上述各基于消息研发框架的数据交互装置实施例中各单元的功能,例如图5所示单元51至53的功能。
示例性的,所述计算机程序62可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成第一创建单元、第二创建单元和添加单元,各单元具体功能如下:
第一创建单元,用于创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
第二创建单元,用于创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
添加单元,用于若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于消息研发框架的数据交互方法,其特征在于,包括:
创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用;
执行所述脚本代码后还生成与所述请求数据对应的请求标识,所述在所述第一交互对象内设置原生方法,还包括:
在所述原生方法中创建原生回调对象,在所述原生回调对象中创建原生回调函数,并设置所述原生回调函数的输入参数为所述反馈数据,所述原生回调函数用于触发所述脚本回传方法执行,所述原生回调函数位于原生应用层;
为所述请求标识和所述原生回调对象建立回调映射关系,其中,将所述请求标识设置为键,将所述原生回调对象设置为值;
所述在所述第二交互对象内设置包装方法,还包括:
在所述包装方法中创建脚本回调对象,并在所述脚本回调对象中创建脚本回调函数,所述脚本回调函数在所述反馈数据传输至所述脚本代码所在的脚本应用层时被执行,用于触发将所述反馈数据添加在所述脚本代码中的操作,所述脚本回调函数位于脚本应用层;
将所述脚本回调对象的属性名设置为所述请求标识,并将所述脚本回调对象的属性值设置为所述脚本回调函数。
2.如权利要求1所述的数据交互方法,其特征在于,所述执行所述包装方法,包括:
获取通信协议与数据处理器之间的协议映射关系,所述通信协议为预设的所述原生应用与所述脚本代码之间进行交互的协议,所述数据处理器为对所述请求数据进行处理的java类;
在所述原生方法中创建分发方法,通过所述分发方法读取所述原生方法携带的所述请求数据,解析所述请求数据对应的所述通信协议,根据所述协议映射关系确定与所述通信协议对应的所述数据处理器,并将所述请求数据交由所述数据处理器进行处理,其中,所述分发方法的输入参数为所述请求数据。
3.如权利要求2所述的数据交互方法,其特征在于,所述将所述请求数据交由所述数据处理器进行处理,包括:
获取所述数据处理器的线程注解,并根据所述线程注解切换所述数据处理器所在的线程。
4.一种基于消息研发框架的数据交互装置,其特征在于,包括:
第一创建单元,用于创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用,其中,执行所述脚本代码后还生成与所述请求数据对应的请求标识;
第二创建单元,用于创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
添加单元,用于若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用;
第一创建单元包括:
第一回调单元,用于在所述原生方法中创建原生回调对象,在所述原生回调对象中创建原生回调函数,并设置所述原生回调函数的输入参数为所述反馈数据,所述原生回调函数用于触发所述脚本回传方法执行,所述原生回调函数位于原生应用层;
回调映射单元,用于为所述请求标识和所述原生回调对象建立回调映射关系,其中,将所述请求标识设置为键,将所述原生回调对象设置为值;
第二创建单元包括:
第二回调单元,用于在所述包装方法中创建脚本回调对象,并在所述脚本回调对象中创建脚本回调函数,所述脚本回调函数在所述反馈数据传输至所述脚本代码所在的脚本应用层时被执行,用于触发将所述反馈数据添加在所述脚本代码中的操作,所述脚本回调函数位于脚本应用层;
属性设置单元,用于将所述脚本回调对象的属性名设置为所述请求标识,并将所述脚本回调对象的属性值设置为所述脚本回调函数。
5.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
创建第一交互对象,在所述第一交互对象内设置原生方法,所述原生方法用于将执行预设的脚本代码所生成的请求数据发送至原生应用;
创建第二交互对象,在所述第二交互对象内设置包装方法,将所述包装方法设置为所述原生方法的执行载体,并执行所述包装方法,其中,所述第二交互对象中还包括脚本回传方法;
若所述原生应用基于所述请求数据发起请求后接收到反馈数据,则执行所述脚本回传方法,将所述反馈数据作为变量添加在所述脚本代码中,其中,添加后的所述反馈数据可在执行所述脚本代码时被调用;
执行所述脚本代码后还生成与所述请求数据对应的请求标识,所述在所述第一交互对象内设置原生方法,还包括:
在所述原生方法中创建原生回调对象,在所述原生回调对象中创建原生回调函数,并设置所述原生回调函数的输入参数为所述反馈数据,所述原生回调函数用于触发所述脚本回传方法执行,所述原生回调函数位于原生应用层;
为所述请求标识和所述原生回调对象建立回调映射关系,其中,将所述请求标识设置为键,将所述原生回调对象设置为值;
所述在所述第二交互对象内设置包装方法,还包括:
在所述包装方法中创建脚本回调对象,并在所述脚本回调对象中创建脚本回调函数,所述脚本回调函数在所述反馈数据传输至所述脚本代码所在的脚本应用层时被执行,用于触发将所述反馈数据添加在所述脚本代码中的操作,所述脚本回调函数位于脚本应用层;
将所述脚本回调对象的属性名设置为所述请求标识,并将所述脚本回调对象的属性值设置为所述脚本回调函数。
6.如权利要求5所述的终端设备,其特征在于,所述执行所述包装方法,包括:
获取通信协议与数据处理器之间的协议映射关系,所述通信协议为预设的所述原生应用与所述脚本代码之间进行交互的协议,所述数据处理器为对所述请求数据进行处理的java类;
在所述原生方法中创建分发方法,通过所述分发方法读取所述原生方法携带的所述请求数据,解析所述请求数据对应的所述通信协议,根据所述协议映射关系确定与所述通信协议对应的所述数据处理器,并将所述请求数据交由所述数据处理器进行处理,其中,所述分发方法的输入参数为所述请求数据。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811529435.XA CN109725887B (zh) | 2018-12-14 | 2018-12-14 | 基于消息研发框架的数据交互方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811529435.XA CN109725887B (zh) | 2018-12-14 | 2018-12-14 | 基于消息研发框架的数据交互方法、装置及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109725887A CN109725887A (zh) | 2019-05-07 |
CN109725887B true CN109725887B (zh) | 2024-04-26 |
Family
ID=66296076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811529435.XA Active CN109725887B (zh) | 2018-12-14 | 2018-12-14 | 基于消息研发框架的数据交互方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109725887B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110944018A (zh) * | 2019-12-27 | 2020-03-31 | 浪潮通用软件有限公司 | 一种基于注解和动态代理的rpc通信方法及设备、介质 |
CN113051511B (zh) * | 2021-03-08 | 2024-03-12 | 北京百度网讯科技有限公司 | 页面消息分发方法、装置、设备和存储介质 |
CN113204393A (zh) * | 2021-04-25 | 2021-08-03 | 随锐科技集团股份有限公司 | 原生与js交互的消息处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130093917A (ko) * | 2012-02-15 | 2013-08-23 | 네이버시스템(주) | 매쉬업 블록을 이용한 디바이스 요소 연동 모바일 웹어플리케이션 서비스 방법 |
CN105760162A (zh) * | 2016-02-04 | 2016-07-13 | 四川长虹电器股份有限公司 | 混合型app软件的开发方法 |
CN107133322A (zh) * | 2017-05-04 | 2017-09-05 | 四川长虹电器股份有限公司 | 移动应用中HTML与Native交互的公共数据通道的实现方法 |
CN107678778A (zh) * | 2017-03-14 | 2018-02-09 | 平安科技(深圳)有限公司 | 基于Hybrid的兼容方法、适配件、运行装置及系统 |
CN107870821A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序的跨平台调用方法及系统 |
-
2018
- 2018-12-14 CN CN201811529435.XA patent/CN109725887B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130093917A (ko) * | 2012-02-15 | 2013-08-23 | 네이버시스템(주) | 매쉬업 블록을 이용한 디바이스 요소 연동 모바일 웹어플리케이션 서비스 방법 |
CN105760162A (zh) * | 2016-02-04 | 2016-07-13 | 四川长虹电器股份有限公司 | 混合型app软件的开发方法 |
CN107870821A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序的跨平台调用方法及系统 |
CN107678778A (zh) * | 2017-03-14 | 2018-02-09 | 平安科技(深圳)有限公司 | 基于Hybrid的兼容方法、适配件、运行装置及系统 |
CN107133322A (zh) * | 2017-05-04 | 2017-09-05 | 四川长虹电器股份有限公司 | 移动应用中HTML与Native交互的公共数据通道的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109725887A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176626B (zh) | 跨编程语言的代码调用方法及装置、介质、设备 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
GB2589658A (en) | Method and apparatus for running an applet | |
CN109240697B (zh) | 调用处理方法及装置、存储介质 | |
CN106656920B (zh) | Http服务的处理方法、装置、存储介质及处理器 | |
CN111143087A (zh) | 一种接口调用方法、装置、存储介质和服务器 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
CN112631590A (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN111782988A (zh) | 确定应用程序来源的方法、装置、计算机系统和存储介质 | |
CN110928706B (zh) | 小程序交互方法、装置、电子设备及存储介质 | |
CN111444453A (zh) | 页面回传数据处理方法及其装置 | |
CN109683992B (zh) | 用于管理对象的方法和装置 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
WO2023083071A1 (zh) | 视图交互方法、装置、电子设备及计算机可读介质 | |
CN112612460A (zh) | 接口的封装和调用方法、电子设备、及存储介质 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN112395098A (zh) | 应用程序接口调用方法、装置、存储介质和电子设备 | |
CN114327404A (zh) | 一种文件处理方法、装置、电子设备及计算机可读介质 | |
CN111552578B (zh) | 一种第三方接口调用方法及装置 | |
CN113946614A (zh) | 一种iOS基于静态库的网络数据传输方法、装置及系统 | |
CN114666322A (zh) | 断点续传方法、装置和电子设备 | |
CN113709171A (zh) | 一种用于跨组件状态通信的方法和装置 | |
CN112527656A (zh) | 一种WebSocket接口的测试方法、装置及设备 | |
CN112579960A (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 |