CN110990167A - 前端通信方法及装置、存储介质及电子设备 - Google Patents

前端通信方法及装置、存储介质及电子设备 Download PDF

Info

Publication number
CN110990167A
CN110990167A CN201911177078.XA CN201911177078A CN110990167A CN 110990167 A CN110990167 A CN 110990167A CN 201911177078 A CN201911177078 A CN 201911177078A CN 110990167 A CN110990167 A CN 110990167A
Authority
CN
China
Prior art keywords
communication
class
target
encapsulation
client
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
CN201911177078.XA
Other languages
English (en)
Other versions
CN110990167B (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201911177078.XA priority Critical patent/CN110990167B/zh
Publication of CN110990167A publication Critical patent/CN110990167A/zh
Application granted granted Critical
Publication of CN110990167B publication Critical patent/CN110990167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及计算机技术领域,提供了一种前端通信方法及装置、计算机存储介质和电子设备。其中,上述方法包括:获取封装类,并通过所述封装类确定通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的通信连接;根据获取到的前端标识,从所述通信连接集合中获取目标通信连接;确定所述封装类的全局访问权限,并根据所述全局访问权限调用所述目标通信连接,以实现前端通信。本方案基于获取到的前端标识,可以从封装类中确定目标通信连接以实现前端的通信,从而,避免前端通信桥梁框架的直接重复调用,以降低前端通信的代码维护成本。

Description

前端通信方法及装置、存储介质及电子设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种前端通信方法、前端通信装置、计算机存储介质以及电子设备。
背景技术
为了提升客户端应用的灵活性,往往需要客户端和前端的js层(JavaScript,一种脚本语言,一般运行在客户端)进行交互。
在现有技术中,以移动客户端和前端的js层的交互为例,首先,建立WebViewJavascriptBridge(移动客户端和前端js层的通信桥梁)和webview(网络视图)的关系;然后,以“window.WebViewJavascriptBridge.xxx”命令的形式调用通信桥梁框架WebViewJavascriptBridge,从而实现移动客户端和前端的js层的通信,其中‘xxx’代表某一个js函数。
然而,对于现有技术而言,当通信桥梁调用过程中的某个节点报错时,存在阻塞后面代码执行的问题,与此同时,现有的通信桥梁的重复调用方法还易造成代码的冗余,进而增加代码的维护成本。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种前端通信方法及装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服现有的客户端和前端的js层的交互过程中,通信桥梁的直接重复调用导致的代码维护成本高的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的第一方面,提供了一种前端通信方法,包括:
获取封装类,并通过所述封装类封装通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的通信连接;
根据获取到的客户端标识,从所述通信连接集合中获取目标通信连接;
确定所述封装类的全局访问权限,并根据所述全局访问权限调用所述目标通信连接,以实现前端通信。
在本发明的一种示例性实施例中,基于前述方案,在获取封装类之前,所述方法还包括:
获取所述通信桥梁框架的集合;
创建所述通信桥梁框架的集合中的每个通信桥梁框架和其对应的客户端的通信连接。
在本发明的一种示例性实施例中,基于前述方案,所述通过所述封装类封装通信连接的集合,包括:
获取所述封装类中的封装函数的集合;
在所述封装函数的集合的每个封装函数中,创建与所述通信桥梁框架的集合中对应的通信桥梁框架的连接关系。
在本发明的一种示例性实施例中,基于前述方案,所述每个封装函数包括至少一个返回对象,以通过所述返回对象的参数实现前端通信的异步操作。
在本发明的一种示例性实施例中,基于前述方案,所述从所述通信连接的集合中确定目标通信连接,包括:
获取所述封装类中的目标封装函数,以确定所述目标封装函数中的目标通信桥梁框架;
确定所述目标通信桥梁框架对应的目标通信连接。
在本发明的一种示例性实施例中,基于前述方案,在确定所述封装类的全局访问权限之前,所述方法还包括:
初始化所述封装类,以通过所述初始化确定所述封装类的访问对象。
在本发明的一种示例性实施例中,基于前述方案,在确定所述封装类的访问对象之后,所述方法还包括:
根据所述访问对象调用目标通信连接。
根据本发明的第二方面,提供了一种前端通信装置,包括:
封装类获取模块,被配置为获取封装类,并通过所述封装类封装通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的通信连接;
目标通信连接确定模块,被配置为根据获取到的客户端标识,从所述通信连接集合中获取目标通信连接;
访问权限确定模块,被配置确定所述封装类的访问权限,并根据所述访问权限调用所述目标通信连接,以实现前端通信。
根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的前端通信方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:处理器;以及,存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的前端通信方法。
由上述技术方案可知,本发明示例性实施例中的前端方法、前端通信装置,以及实现所述前端通信方法的计算机可读存储介质及电子设备,至少具备以下优点和积极效果:
在本发明的一些实施例所提供的技术方案中,首先,基于封装类,可以将不同的客户端和其对应的通信桥梁的连接关系进行封装;其次,根据获取到的客户端标识,可以从封装类中确定出目标客户端和其对应的通信桥梁的连接关系,即目标通信连接;最后,通过确定封装类的全局访问权限以调用目标通信连接,从而实现目标客户端和前端js层之间的前端通信。与现有的直接调用通信桥梁框架的方法相比,本发明根据获取到的客户端标识,通过访问类的方式调用目标通信桥梁框架,可以减少前端通信过程中的代码冗余、提高代码的可读性,进而降低前端通信的代码维护成本。
本发明应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明一示例性实施例中前端通信方法的流程示意图;
图2示出本发明一示例性实施例中封装通信连接的方法的流程示意图;
图3示出本发明以示例性实施方式中确定目标通信连接的方法的流程示意图;
图4示出本发明一示例性实施例中实现移动客户端和js层建立通信连接的方法的交互流程示意图;
图5示出本发明一示例性实施例中前端通信装置的结构示意图;
图6示出本发明示例性实施例中计算机存储介质的结构示意图;以及,
图7示出本发明示例性实施例中电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
现有的另一种相关技术中,在建立客户端和前端js层的通信桥梁的连接关系后,直接采用“window.桥梁框架.js函数”的命令调用通信桥梁。其中,以移动客户端为例,即采用window.WebViewJavascriptBridge.js函数”的命令直接调用通信桥梁框架WebViewJavascriptBridge,从而实现前端通信。
然而,这种直接调用前端通信桥梁的方式会造成代码冗余、降低代码的可读性,从而增加代码的维护成本。
在本发明的实施例中,首先提供了一种游戏中跳字的显示控制方法,至少在一定程度上克服上述现有的相关技术中存在的缺陷。
图1示出本发明一示例性实施例中前端通信方法的流程示意图。参考图1,该方法包括:
步骤S110,获取封装类,并通过封装类封装通信连接的集合,其中,通信连接为通信桥梁框架和客户端的通信连接;
步骤S120,根据获取到的客户端标识,从通信连接的集合中获取目标通信连接;
步骤S130,确定封装类的全局访问权限,并根据所述全局访问权限调用目标通信连接,以实现前端通信。
在图1所示实施例所提供的技术方案中,首先,基于封装类,可以将不同的客户端和其对应的通信桥梁的连接关系进行封装;其次,根据获取到的客户端标识,可以从封装类中确定出目标客户端和其对应的通信桥梁的连接关系,即目标通信连接;最后,通过确定封装类的全局访问权限以调用目标通信连接,从而实现目标客户端和前端js层之间的前端通信。与现有的直接调用通信桥梁框架的方法相比,本发明根据获取到的客户端标识,通过访问类的方式调用目标通信桥梁框架,可以减少前端通信过程中的代码冗余、提高代码的可读性,进而降低前端通信的代码维护成本。
以下对图1所示实施例中各个步骤的具体实施方式进行详细阐述:
在步骤S110中,封装类定义在前端的js层,其是一个全局的类,该封装类中可以定义不同的函数,以封装不同的客户端和其对应的前端通信桥梁框架的连接关系。其中,客户端可以包括移动客户端、电脑客户端等等,本示例性实施例对此不做特殊限定。示例性的,当客户端是移动客户端时,其对应的通信桥梁框架可以是WebViewJavascriptBridge;当客户端是电脑客户端时,其对应的通信桥梁框架可以是external。
在示例性的实施方式中,在获取封装类之前,可以先获取前端的通信桥梁框架的集合;然后,创建通信桥梁的框架的集合中的每个通信桥梁框架和对应的客户端的通信连接。该通信连接创建之后,在该封装类的每个封装函数中,可以创建每个封装函数与对应的上述的通信桥梁框架的连接关系,从而将不同的客户端和其对应的通信桥梁框架对应的通信连接关系封装在上述的封装类中。
示例性的,图2示出本发明一示例性实施例中封装通信连接的方法的流程示意图,参考图2,该方法具体可以包括步骤S210-步骤S230。
在步骤S210中,获取通信桥梁框架的集合,以创建每个通信桥梁框架和其对应的客户端的通信连接。
在示例性的实施方式中,通信桥梁框架的集合中可以包括不同的客户端对应的不同的通信桥梁框架,例如,可以包括移动客户端的通信桥梁框架WebViewJavascriptBridge、也可以包括电脑客户端的通信桥梁框架external。
获取到不同的通信桥梁框架之后,创建每个通信桥梁框架和其对应的客户端的通信连接。例如,可以创建WebViewJavascriptBridge和移动客户端的通信连接,还可以创建external和电脑客户端的通信连接等等。
创建每个通信桥梁框架和其对应的客户端的通信连接之后,在步骤S220中,获取封装类中的封装函数的集合。其中,封装函数的集合中的封装函数和上述的通信桥梁框架的集合中的通信桥梁框架一一对应。
示例性的,每个封装函数可以用来封装一个通信桥梁框架,这样,可以通过调用封装函数来调用对应的通信桥梁框架,进而可以根据创建的该通信桥梁框架和其对应的客户端的通信连接,实现前端的通信。
继续参考图2,在获取上述的封装类中的封装函数的集合之后,在步骤S230中,在封装函数的集合的每个封装函数中,创建与上述通信桥梁框架的集合中对应的通信桥梁框架的连接关系。
在示例性的实施方式中,封装类中具有多个封装函数。可以在封装类的封装函数function1中,创建与移动客户端的通信桥梁框架WebViewJavascriptBridge的连接关系。在封装类中的封装函数function2中,创建与电脑端的通信桥梁框架external的连接关系。
在创建上述的连接关系之后,将上述的连接关系封装,同时,每个封装函数包括至少一个返回对象,例如,可以是promise对象。通过该返回对象的参数可以实现前端通信的异步操作,从而能够避免现有技术的通信桥梁直接调用过程中,当某一个节点报错时,由于js层调用执行的单线程导致的代码阻塞的问题。
在上述的步骤S220和步骤S230中,可以在封装类的不同封装函数中创建与不同的通信桥梁框架的连接关系。在上述的步骤S210中,可以创建不同的通信桥梁框架和其对应的客户端的通信连接。从而,通过上述的步骤S210-步骤S230,可以在封装类中封装不同的通信桥梁框架和其对应的客户端的通信连接。
继续参考图1,在封装类中封装通信连接的集合之后,在步骤S120中,根据获取到的客户端标识,从通信连接的集合中获取目标通信连接。
在示例性的实施方式中,客户端的标识可以是某个客户端的唯一标识,例如,可以是浏览器用于HTTP请求的用户代理头的值。通过客户端的标识可以确定客户端的类型,其中,客户端的类型可以包括移动客户端、电脑客户端等。目标通信连接可以是该客户端标识对应的客户端和其通信桥梁框架的通信连接。
在进行客户端和前端js层的交互时,根据获取到的前端标识可以确定客户端的类型,根据该客户端的类型确定其对应的通信桥梁框架,即目标通信桥梁框架;然后,在上述的封装类中确定出与该通信桥梁框架具有连接关系的目标封装函数;最终,获取该目标函数中的目标通信桥梁框架对应的目标通信连接。
示例性的,图3示出本发明一示例性实施例中确定目标通信连接的方法的流程示意图,该方法可以包括步骤S310-步骤S320。
在步骤S310中,获取上述封装类中的目标封装函数,以确定目标封装函数中的目标通信桥梁框架。
在示例性的实施方式中,上述的封装类中可以包括多个封装函数,每个封装函数中创建了与不同类型的客户端的连接关系。根据获取到的前端标识,可以确定该客户端的类型,从而可以在上述的封装类中获取该客户端的类型对应的封装函数,即目标封装函数。
示例性的,根据获取到的前端标识确定当前客户端为移动客户端,则目标封装函数可以是上述的function1;根据获取到的前端标识确定当前客户端为电脑客户端,则目标封装函数可以是上述的function2。
获取目标封装函数之后,可以根据上述的步骤S220-步骤S230创建的连接关系,确定出该目标封装函数中封装的目标通信桥梁框架。例如,当确定的目标封装函数是function1时,则WebViewJavascriptBridge为目标通信桥梁框架,当确定的目标封装函数是function2时,则external为目标通信桥梁框架。
继续参考图3,在确定出目标通信桥梁框架之后,在步骤S320中,确实上述目标通信桥梁框架对应的目标通信连接。
在示例性的实施方式中,可以根据上述的步骤S210中创建的每个通信桥梁框架和其对应的客户端的通信连接,确定出目标通信桥梁框架对应的目标通信连接。
例如,当确定的上述的目标通信桥梁框架是WebViewJavascriptBridge时,可以确定目标通信连接是WebViewJavascriptBridge和移动客户端的通信连接;当确定的上述的目标通信桥梁框架是external时,可以确定目标通信连接是external和电脑客户端的通信连接。
继续参考图1,确定出目标通信连接之后,在步骤S130中,确定封装类的全局访问权限,并根据所述全局访问权限调用目标通信连接,以实现前端通信。
在示例性的实施方式中,封装类的全局访问权限可以是该封装类的类对象能够在全局范围内被访问。
在确定封装类的全局访问权限之前,初始化封装类,通过该初始化确定该封装类的访问对象。然后,将初始化完成之后的封装类,暴露在全局变量中。其中,可以通过export命令将上述的封装类暴露到全局变量中。
将上述的封装类暴露到全局变量中之后,js层通过暴露出的全局变量进行目标封装函数的参数传递。由于目标封装函数与目标通信桥梁框架具有连接关系,从而通过目标封装函数的参数传递调用目标通信桥梁框架对应的目标通信连接,以实现前端通信。
示例性的,以移动客户端为例,可以通过“mb=new MobileBridge()”命令初始化封装类MobileBridge,然后,通过“export class MobileBridge”命令,将封装类MobileBridge暴露到全局变量中。其中,封装类MobileBridge中的封装函数function1封装了如下的连接关系:
“window.WebViewJavascriptBridge.callHandler”
将上述的封装类暴露到全局变量之后,可以通过“mb.function1()”的形式调用function1中的移动客户端的通信桥梁框架WebViewJavascriptBridge,以实现移动客户端和js层的通信连接。从而,提高了代码的可读性,降低了前端通信中的代码维护成本。
进一步的,为了更加详细的说明本发明中客户端和js层建立通信连接的方法,以移动客户端为例,图4示出本发明一示例性实施例中实现移动客户端和js层建立通信连接的方法的交互流程示意图。参考图4,该方法具体包括:
在步骤S410中,移动客户端41启动后,创建webview(网络视图),并加载前端的js层42。
在步骤S420中,前端的js层42载入WebViewJavascriptBridge,并创建WebViewJavascriptBridge和webview之间的关系;
在步骤S430中,前端的js层42定义封装类MobileBridge,并在封装类中定义函数callNative;
在步骤S440中,在callNative函数中与WebViewJavascriptBridge创建连接关系,并返回一个promise对象;
在步骤S450中,前端的js层42进行初始化,以通过初始化对象调用封装类MobileBridge中的封装函数callNative。
在步骤S460中,通过封装函数callNative调用js层的通信桥梁框架WebViewJavascriptBridge,与移动客户端进行通信。
在步骤S470中,移动客户端41接收前端的js层42发送的对应的API(ApplicationProgramming Interface,应用程序接口)请求,并发送相关数据给js层的promise对象。
下面,以用户在移动客户端注册账号的实际场景为例,结合上述的步骤S410-步骤S470,对本发明的客户端和前端的js层的交互进行进一步的说明。
当用户启动移动客户端后,移动客户端为用户提供一个账号注册的界面,用户在移动客户端将注册的账号输入完成之后,点击注册按钮。此时,用户需要调用callNative函数以对输入的账号进行注册处理,移动客户端收到该用户的调用信息之后,会把调用信息回调给js层的MobileBridge封装类中的callNative函数。js层的callNative函数收到回调信息后,通过promise对象将回调数据传递给js层的相关js变量,js变量根据获取到的promise传递的回调数据进行移动客户端的注册账号的处理,从而提示用户注册成功或者失败。
通过上述的步骤S410-步骤S470,既能使前端的业务端js层能够正常获取客户端信息,也能简化前端的业务端JS层的重复编码的操作。使得调用客户端API的方式变得简洁轻便。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,在本发明的示例性实施例中,还提供了一种前端通信装置。参考图5,该前端通信装置500包括:封装类获取模块510,目标通信连接确定模块520,以及访问权限确定模块530。其中:
上述的封装类获取模块510,被配置为获取封装类,并通过所述封装类确定通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的通信连接;
上述的目标通信连接确定模块520,被配置为根据获取到的客户端标识,从所述通信连接集合中获取目标通信连接;
上述的访问权限确定模块530,被配置确定所述封装类的访问权限,并根据所述访问权限调用所述目标通信连接,以实现前端通信。
在本发明的一种示例性实施例中,基于前述实施例,上述封装类获取模块510,包括:通信连接创建单元和封装函数获取单元。其中:
上述的通信连接创建单元被配置为:获取通信桥梁框架的集合,创建该通信桥梁框架的集合中的每个通信桥梁框架和其对应的客户端的通信连接;上述的封装函数获取单元被配置为:获取上述的封装类中的封装函数的集合,在该封装函数的集合的每个封装函数中,创建与上述的通信桥梁框架的集合中对应的通信桥梁框架的连接关系。
在本发明的一种示例性实施例中,基于前述实施例,上述目标通信连接确定模块520,包括:目标通信桥梁框架获取单元和目标通信连接确定单元。其中:
上述的目标通信桥梁框架获取单元配置为:获取封装类中的目标封装函数,以确定该目标封装函数的目标通信桥梁框架;上述的目标通信连接确定单元被配置为:根据上述的目标通信桥梁框架,在上述的通信连接创建单元中确定目标通信连接。
在本发明的一种示例性实施例中,基于前述实施例,上述访问权限确定模块530,包括:初始化封装类单元和全局变量暴露单元。其中:
上述的初始化封装类单元被配置为:初始化封装类,以通过所述初始化确定所述封装类的访问对象;上述的全局变量暴露单元被配置为,将上述的封装类暴露在全局变量中,以通过访问上述的访问对象的方式调用上述的目标封装函数,实现前端通信。
上述前端通信装置中各单元的具体细节已经在对应的前端通信方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
在本发明示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图1中所示的:步骤S110,获取封装类,并通过封装类封装通信连接的集合,其中,通信连接为通信桥梁框架和客户端的通信连接;步骤S120,根据获取到的客户端标识,从通信连接的集合中获取目标通信连接;步骤S130,确定封装类的全局访问权限,并根据所述全局访问权限调用目标通信连接,以实现前端通信。
又如,所述处理单元710可以执行如图2至图4中所示的各个步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块8205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本发明实施方式的方法。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

Claims (10)

1.一种前端通信方法,其特征在于,包括:
获取封装类,并通过所述封装类封装通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的连接关系;
根据获取到的客户端标识,从所述通信连接的集合中确定目标通信连接;
确定所述封装类的全局访问权限,以根据所述全局访问权限调用所述目标通信连接,实现前端通信。
2.根据权利要求1所述的一种前端通信方法,其特征在于,在获取封装类之前,所述方法还包括:
获取所述通信桥梁框架的集合;
创建所述通信桥梁框架的集合中的每个通信桥梁框架和其对应的客户端的通信连接。
3.根据权利要求2所述的前端通信方法,其特征在于,所述通过所述封装类封装通信连接的集合,包括:
获取所述封装类中的封装函数的集合;
在所述封装函数的集合的每个封装函数中,创建与所述通信桥梁框架的集合中对应的通信桥梁框架的连接关系。
4.根据权利要求3所述的前端通信方法,其特征在于,所述每个封装函数包括至少一个返回对象,以通过所述返回对象的参数实现前端通信的异步操作。
5.根据权利要求1至4中任一项所述的前端通信方法,其特征在于,所述从所述通信连接的集合中确定目标通信连接,包括:
获取所述封装类中的目标封装函数,以确定所述目标封装函数中的目标通信桥梁框架;
确定所述目标通信桥梁框架对应的目标通信连接。
6.根据权利要求1所述的前端通信方法,其特征在于,在确定所述封装类的全局访问权限之前,所述方法还包括:
初始化所述封装类,以通过所述初始化确定所述封装类的访问对象。
7.根据权利要求6所述的前端通信方法,其特征在于,在确定所述封装类的访问对象之后,所述方法还包括:
通过所述访问对象调用目标通信连接。
8.一种前端通信装置,其特征在于,包括:
封装类获取模块,被配置为获取封装类,并通过所述封装类封装通信连接的集合,其中,所述通信连接为通信桥梁框架和客户端的通信连接;
目标通信连接确定模块,被配置为根据获取到的客户端标识,从所述通信连接集合中获取目标通信连接;
访问权限确定模块,被配置确定所述封装类的访问权限,并根据所述访问权限调用所述目标通信连接,以实现前端通信。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的前端通信方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的前端通信方法。
CN201911177078.XA 2019-11-26 2019-11-26 前端通信方法及装置、存储介质及电子设备 Active CN110990167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911177078.XA CN110990167B (zh) 2019-11-26 2019-11-26 前端通信方法及装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911177078.XA CN110990167B (zh) 2019-11-26 2019-11-26 前端通信方法及装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN110990167A true CN110990167A (zh) 2020-04-10
CN110990167B CN110990167B (zh) 2023-07-28

Family

ID=70087196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911177078.XA Active CN110990167B (zh) 2019-11-26 2019-11-26 前端通信方法及装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN110990167B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117492968A (zh) * 2023-12-29 2024-02-02 中移(苏州)软件技术有限公司 原生应用程序调用方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130045803A1 (en) * 2011-08-21 2013-02-21 Digital Harmony Games, Inc. Cross-platform gaming between multiple devices of multiple types
CN105450731A (zh) * 2015-11-05 2016-03-30 珠海多玩信息技术有限公司 实现web层和native层通信的方法和装置
CN105573733A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 浏览器与web前端通信的方法、web前端及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130045803A1 (en) * 2011-08-21 2013-02-21 Digital Harmony Games, Inc. Cross-platform gaming between multiple devices of multiple types
CN105573733A (zh) * 2014-10-16 2016-05-11 腾讯科技(深圳)有限公司 浏览器与web前端通信的方法、web前端及系统
CN105450731A (zh) * 2015-11-05 2016-03-30 珠海多玩信息技术有限公司 实现web层和native层通信的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117492968A (zh) * 2023-12-29 2024-02-02 中移(苏州)软件技术有限公司 原生应用程序调用方法、装置、电子设备及可读存储介质
CN117492968B (zh) * 2023-12-29 2024-04-09 中移(苏州)软件技术有限公司 原生应用程序调用方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN110990167B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN109032706B (zh) 智能合约执行方法、装置、设备和存储介质
CN109002362B (zh) 一种服务方法、装置、系统以及电子设备
CN111176626B (zh) 跨编程语言的代码调用方法及装置、介质、设备
US10185558B2 (en) Language-independent program composition using containers
CN111338623B (zh) 一种开发用户界面的方法、装置、介质和电子设备
US20180210768A1 (en) Api-based service command invocation
CN108334779B (zh) 一种应用的处理方法、设备和计算存储介质
CN114047960A (zh) 操作系统运行方法及装置、电子设备和存储介质
CN112395098B (zh) 应用程序接口调用方法、装置、存储介质和电子设备
CN112256421A (zh) 通信处理方法、装置、存储介质及电子设备
US11789726B2 (en) Semantic functional wrappers of services
CN110990167A (zh) 前端通信方法及装置、存储介质及电子设备
CN113360377A (zh) 一种测试方法和装置
CN111367799B (zh) 定位源代码崩溃位置的方法、装置、介质及电子设备
CN112612460A (zh) 接口的封装和调用方法、电子设备、及存储介质
CN116841559A (zh) 代码转换方法、装置、设备、介质和程序产品
US11249760B2 (en) Parameter management between programs
CN111309407A (zh) 集成第三方库的处理方法及装置
CN116166457A (zh) 数据处理方法及相关设备
CN113535565B (zh) 一种接口用例生成方法、装置、设备和介质
CN113515271B (zh) 服务代码生成方法、装置、电子设备及可读存储介质
CN114490266A (zh) 一种数据采集方法、装置、设备及存储介质
US20110247007A1 (en) Operators with request-response interfaces for data stream processing applications
CN111767111A (zh) 页面数据处理方法及装置、电子设备和存储介质
CN114816385B (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