CN111338631B - 一种通用接口框架的生成方法、装置和计算设备 - Google Patents

一种通用接口框架的生成方法、装置和计算设备 Download PDF

Info

Publication number
CN111338631B
CN111338631B CN201811550518.7A CN201811550518A CN111338631B CN 111338631 B CN111338631 B CN 111338631B CN 201811550518 A CN201811550518 A CN 201811550518A CN 111338631 B CN111338631 B CN 111338631B
Authority
CN
China
Prior art keywords
interface
universal interface
module
universal
packaging
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
Application number
CN201811550518.7A
Other languages
English (en)
Other versions
CN111338631A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201811550518.7A priority Critical patent/CN111338631B/zh
Publication of CN111338631A publication Critical patent/CN111338631A/zh
Application granted granted Critical
Publication of CN111338631B publication Critical patent/CN111338631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明提供了一种通用接口框架的生成方法、装置和计算设备。该方法包括:对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块;定义所述一个或多个通用接口模块与所述业务客户端之间的对应关系;将所述一个或多个通用接口模块封装为通用接口框架;通过指定打包工具对所述通用接口框架进行编译和打包;发布所述打包后的通用接口框架。本发明使得不同业务客户端都能够通过前端通用接口框架实现接口对接,解决了现有技术中不同业务客户端需在前端对接不同接口导致程序复杂的问题,提高接口对接效率和业务工作效率,同时还增加了前端代码的安全性。

Description

一种通用接口框架的生成方法、装置和计算设备
技术领域
本发明涉及互联网技术领域,特别是一种通用接口框架的生成方法、通用接口框架的生成装置、计算机存储介质以及计算设备。
背景技术
客户端向服务端请求业务时,需要与服务端提供的前端接口进行对接。现有技术中,客户端与前端接口进行对接所采用的方案是:每个客户端独立对接,且不同的客户端对接与其相应的不同接口。这种方案造成客户端与前端接口对接的程序复杂,接口对接效率低,并且,实现对接所需的代码较多,增加了开发人员的工作负担。
此外,对于前端接口而言,提高其安全性,防止他人窥视和窃取前端接口的源代码并避免外部对前端接口嵌入不良代码进行攻击,也是亟需重视的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的通用接口框架的生成方法、通用接口框架的生成装置、计算机存储介质以及计算设备。
根据本发明实施例的一方面,提供了一种通用接口框架的生成方法,包括:
对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块;
定义所述一个或多个通用接口模块与所述业务客户端之间的对应关系;
将所述一个或多个通用接口模块封装为通用接口框架;
通过指定打包工具对所述通用接口框架进行编译和打包;
发布所述打包后的通用接口框架。
可选地,在通过指定打包工具对所述通用接口框架进行打包之后且发布所述打包后的通用接口框架之前,所述方法还包括:
通过所述指定打包工具对所述通用接口框架进行代码混淆。
可选地,在通过指定打包工具对所述通用接口框架进行打包之后且发布所述打包后的通用接口框架之前,所述方法还包括:
通过所述指定打包工具对所述通用接口框架进行加密。
可选地,所述指定打包工具为webpack。
可选地,将所述一个或多个通用接口模块封装为通用接口框架,包括:
通过javascript将所述一个或多个通用接口模块封装为通用接口框架。
可选地,通过javascript将所述一个或多个通用接口模块封装为通用接口框架,进一步包括:
通过javascript采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
可选地,所述方法还包括:
当出现新的业务客户端时,若面向所述新的业务客户端的接口的功能在所述通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现所述通用接口框架中的具有面向所述新的业务客户端的该接口的功能的通用接口模块与所述新的业务客户端之间的对应关系。
可选地,所述指定配置操作包括:
配置所述通用接口框架的路由模块的接口URL。
可选地,所述一个或多个通用接口模块包括下列至少之一:
初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug。
根据本发明实施例的另一方面,还提供了一种通用接口框架的生成装置,包括:
抽象模块,适于对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块;
定义模块,适于定义所述一个或多个通用接口模块与所述业务客户端之间的对应关系;
封装模块,适于将所述一个或多个通用接口模块封装为通用接口框架;
打包模块,适于通过指定打包工具对所述通用接口框架进行编译和打包;以及
发布模块,适于发布所述打包后的通用接口框架。
可选地,所述打包模块还适于:
在通过指定打包工具对所述通用接口框架进行打包之后,且所述发布模块发布所述打包后的通用接口框架之前,通过所述指定打包工具对所述通用接口框架进行代码混淆。
可选地,所述打包模块还适于:
在通过指定打包工具对所述通用接口框架进行打包之后,且所述发布模块发布所述打包后的通用接口框架之前,通过所述指定打包工具对所述通用接口框架进行加密。
可选地,所述指定打包工具为webpack。
可选地,所述封装模块还适于:
通过javascript将所述一个或多个通用接口模块封装为通用接口框架。
可选地,所述封装模块还适于:
通过javascript采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
可选地,所述装置还包括:
配置模块,适于当出现新的业务客户端时,若面向所述新的业务客户端的接口的功能在所述通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现所述通用接口框架中的具有面向所述新的业务客户端的该接口的功能的通用接口模块与所述新的业务客户端之间的对应关系。
可选地,所述指定配置操作包括:
配置所述通用接口框架的路由模块的接口URL。
可选地,所述一个或多个通用接口模块包括下列至少之一:
初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug。
根据本发明实施例的再一方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据上文中任一项所述的通用接口框架的生成方法。
根据本发明实施例的又一方面,还提供了一种计算设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据上文中任一项所述的通用接口框架的生成方法。
本发明实施例提出的通用接口框架的生成方法和装置,首先将面向不同业务客户端的多种接口按照功能抽象成一个或多个通用接口模块,并定义好该一个或多个通用接口模块与业务客户端之前的对应关系;然后,将该一个或多个通用接口模块封装为通用接口框架,并进而对通用接口框架进行编译和打包后发布至前端。通过将与不同业务客户端对应的具备相同功能的接口抽象为统一的通用接口模块,并通过前端技术将不同功能的通用接口模块统一封装为一个通用接口框架,以发布至前端,使得不同业务客户端都能够通过该前端的通用接口框架实现接口对接,即,只需在前端对接一套接口即可满足多个不同业务客户端的业务需求,解决了现有技术中不同业务客户端需在前端对接不同接口导致程序复杂的问题,大大提高了接口对接效率和业务工作效率。同时,通过对通用接口框架进行编译和打包后再发布,增加了前端代码的安全性。
进一步地,在发布前通过采用webpack对通用接口框架进行编译、打包、代码混淆和加密,进一步提高了前端通用接口框架的安全性,能够防止他人窥视和窃取前端通用接口框架的源代码,并避免外部对前端通用接口框架进行不良代码的嵌入,保证业务正常运行。
更进一步地,通过采用适配器模式进行封装,能够实现通用接口框架中通用接口模块的灵活拆卸,避免通用接口框架过于庞大而影响性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一实施例的通用接口框架的生成方法的流程图;
图2示出了根据本发明另一实施例的通用接口框架的生成方法的流程图;
图3示出了根据本发明一实施例的通用接口框架的生成装置的结构示意图;以及
图4示出了根据本发明另一实施例的通用接口框架的生成装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
现有技术中,客户端向服务端请求业务时,每个客户端独立对接前端接口,即,不同的客户端需与其对应的不同前端接口进行对接,这造成客户端接口对接复杂,实现对接所需代码较多,工作效率低。
为解决上述技术问题,本发明实施例提出一种通用接口框架的生成方法。图1示出了根据本发明一实施例的通用接口框架的生成方法的流程图。参见图1,该方法至少可以包括以下步骤S102至步骤S110。
步骤S102,对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块。
步骤S104,定义该一个或多个通用接口模块与业务客户端之间的对应关系。
步骤S106,将该一个或多个通用接口模块封装为通用接口框架。
步骤S108,通过指定打包工具对通用接口框架进行编译和打包。
步骤S110,发布打包后的通用接口框架。
本发明实施例提出的通用接口框架的生成方法,通过将与不同业务客户端对应的具备相同功能的接口抽象为统一的通用接口模块,并通过前端技术将不同功能的通用接口模块统一封装为一个通用接口框架,以发布至前端,使得不同业务客户端都能够通过该前端的通用接口框架实现接口对接,即,只需在前端对接一套接口即可满足多个不同业务客户端的业务需求,解决了现有技术中不同业务客户端需在前端对接不同接口导致程序复杂的问题,大大提高了接口对接效率和业务工作效率。同时,通过对通用接口框架进行编译和打包后再发布,增加了前端代码的安全性。
上文步骤S102中,从面向不同业务客户端的前端接口抽象出通用接口模块。具体地,可以通过对已经创建完成或已经上线运行的多个不同业务进行复盘,然后将这些业务的功能相同或相近的接口抽象成一个通用接口模块。
上文提及的业务客户端可以包括手机助手、手机卫士、清理大师、分身大师、美颜相机、微信、微博、浏览器等的客户端,本发明对此不作具体限制。
所提及的一个或多个通用接口模块可以包括下列模块的至少之一:初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug等。需要说明的是,上述通用接口模块仅是示例性的,本发明不限于此。
上文步骤S104中定义该一个或多个通用接口模块中的每一个通用接口模块与相应的业务客户端之间的对应关系,从而在通用接口框架发布后,允许已定义对应关系的业务客户端可通过通用接口框架实现接口对接。
在一种可选的实施方式中,可以通过建立每一通用接口模块与相应的业务客户端的唯一标识之间的关联来定义上述对应关系。
上文步骤S106中,通过前端技术将该抽象出的一个或多个通用接口模块封装为统一的通用接口框架。
在本发明的一个可选实施例中,可以通过javascript将该一个或多个通用接口模块封装为通用接口框架。
Javascript是web前端开发的核心技术之一。通过javascript将抽象出的所有通用接口模块封装为一个前端js sdk(Software Development Kit,软件开发工具包),该前端js sdk作为通用接口框架提供统一、灵活的客户端对接功能。
进一步地,还可以通过javascript采用适配器模式将该一个或多个通用接口模块封装为通用接口框架。
适配器模式(Adapter Pattern,也称为包装模式)是作为两个不兼容的接口之间的桥梁,将一个类的接口适配成客户端所期待的另一种接口,从而使原本因为接口不兼容而不能在一起工作的类工作在一起。
通过采用适配器模式进行封装,能够实现通用接口框架(即,js sdk包)中各通用接口模块的灵活拆卸,用于支持当前业务环境是否需要该通用接口模块支持,从而避免通用接口框架过于庞大而影响性能。
上文步骤S108中提及的指定打包工具可以包括webpack、grunt、gulp等打包工具。
通过打包后再发布的方式,能够避免第三方对前端通用接口框架的源代码进行打包,既方便开发、利于维护,还增加了前端代码的安全性。
在本发明的一个可选实施例中,在通过指定打包工具对通用接口框架进行打包之后且发布打包后的通用接口框架之前,还包括以下步骤:
通过该指定打包工具对通用接口框架进行代码混淆。
代码混淆是将计算机程序的代码转换成一种功能上等价、但难于阅读和理解的形式的行为,其经过编码将代码中的各种元素,如变量、函数、类的原命名改写成毫无意义的命名,以防止他人窥视和窃取javascript源代码,从而对代码起到保护作用,同时也有一定的压缩效果。
在本发明的另一个可选实施例中,在通过指定打包工具对通用接口框架进行打包之后且发布打包后的通用接口框架之前,还包括以下步骤:
通过该指定打包工具对通用接口框架进行加密。
例如,可以采用eval方法对javascript代码进行加密。通过加密操作,防止他人直接查看源码,增加前端代码的安全性,同时也达到压缩的效果。
优选地,在通过指定打包工具对通用接口框架进行打包之后且发布打包后的通用接口框架之前,通过该指定打包工具对通用接口框架进行代码混淆和加密。其中,代码混淆和加密的先后顺序没有限制,可以先进行代码混淆再进行加密,也可以先进行加密再进行代码混淆。通过将代码混淆和加密联合使用,能够大大增加前端代码被破解的时间,从而极大地提升前端代码的安全性。
在本发明的一个优选实施例中,该指定打包工具可以是webpack。
Webpack是一个模块打包器,它的主要目标是将javascript等类型的前端文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform)、打包(bundle)或包裹(package)任何资源(resource or asset)。与grunt、gulp等打包工具相比,webpack的处理速度更快,并且能打包更多不同类型的文件。
在发布前通过采用webpack对通用接口框架进行编译、打包、代码混淆和加密,进一步提高了前端通用接口框架的安全性,能够防止他人窥视和窃取前端通用接口框架的源代码,并避免外部对前端通用接口框架进行不良代码的嵌入,保证业务正常运行。
在本发明的一个可选实施例中,该通用接口框架的生成方法还可以包括以下步骤:
当出现新的业务客户端时,若面向新的业务客户端的接口的功能在通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现通用接口框架中的具有面向新的业务客户端的该接口的功能的通用接口模块与新的业务客户端之间的对应关系。
通过这种方式,当开发出新的业务时,只需进行简单的配置即可使新的业务客户端也能够通过该前端的通用接口框架实现接口对接,而无需重新编写代码,大大提高了开发工作效率。
进一步地,该指定配置操作可以包括:
配置通用接口框架的路由模块的接口URL(Uniform Resource Locator,统一资源定位符)。
以上介绍了图1所示实施例的各个环节的多种实现方式,下面将通过具体实施例来详细介绍本发明的通用接口框架的生成方法的实现过程。
图2示出了根据本发明一具体实施例的通用接口框架的生成方法的流程示意图。参见图2所示,该方法至少可以包括以下步骤S202至步骤S212。
步骤S202,对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块。
本实施例中,业务客户端包括手机助手、手机卫士、清理大师、分身大师、美颜相机、微信、微博、浏览器客户端中的多个。
该一个或多个通用接口模块包括初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug中的至少之一。
步骤S204,定义该一个或多个通用接口模块与业务客户端之间的对应关系。
步骤S206,通过javascript采用适配器模式将该一个或多个通用接口模块封装为通用接口框架。
步骤S208,通过webpack对通用接口框架进行编译、打包、代码混淆和加密。步骤S210,发布打包后的通用接口框架。
步骤S212,当出现新的业务客户端时,若面向新的业务客户端的接口的功能在通用接口框架包含的通用接口模块的功能范围内,则通过配置通用接口框架的路由模块的接口URL,实现通用接口框架中的具有面向新的业务客户端的该接口的功能的通用接口模块与新的业务客户端之间的对应关系。
本发明实施例提供了一种统一、灵活的前端通用接口框架的生成方法,使得不同业务客户端都能够通过该前端通用接口框架实现接口对接,解决了现有技术中不同业务客户端需在前端对接不同接口导致程序复杂的问题。其次,适配器模式能够实现通用接口框架中各通用接口模块的灵活拆卸,从而避免通用接口框架过于庞大而影响性能。同时,通过采用webpack对通用接口框架进行编译、打包、代码混淆和加密,进一步提高了前端通用接口框架的安全性。
基于同一发明构思,本发明实施例还提供了一种通用接口框架的生成装置,用于支持上述任意一个实施例或其组合所提供的通用接口框架的生成方法。图3示出了根据本发明一实施例的通用接口框架的生成装置的结构示意图。参见图3,该装置至少可以包括:抽象模块310、定义模块320、封装模块330、打包模块340以及发布模块350。
现介绍本发明实施例的通用接口框架的生成装置的各组成或器件的功能以及各部分间的连接关系:
抽象模块310,适于对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块。
定义模块320,与抽象模块310连接,适于定义该一个或多个通用接口模块与业务客户端之间的对应关系。
封装模块330,与定义模块320连接,适于将该一个或多个通用接口模块封装为通用接口框架。
打包模块340,与封装模块330连接,适于通过指定打包工具对通用接口框架进行编译和打包。
发布模块350,与打包模块340连接,适于发布打包后的通用接口框架。
在本发明的一个可选实施例中,打包模块340还适于:
在通过指定打包工具对通用接口框架进行打包之后,且发布模块350发布打包后的通用接口框架之前,通过指定打包工具对通用接口框架进行代码混淆。
在本发明的一个可选实施例中,打包模块340还适于:
在通过指定打包工具对通用接口框架进行打包之后,且发布模块350发布打包后的通用接口框架之前,通过指定打包工具对通用接口框架进行加密。
在本发明的一个可选实施例中,该指定打包工具为webpack。
在本发明的一个可选实施例中,封装模块330还适于:
通过javascript将该一个或多个通用接口模块封装为通用接口框架。
进一步地,封装模块330还适于:
通过javascript采用适配器模式将该一个或多个通用接口模块封装为通用接口框架。
在本发明的一个可选实施例中,如图4所示,图3所展示的通用接口框架的生成装置还可以包括配置模块360。配置模块360适于当出现新的业务客户端时,若面向新的业务客户端的接口的功能在通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现通用接口框架中的具有面向新的业务客户端的该接口的功能的通用接口模块与新的业务客户端之间的对应关系。
进一步地,该指定配置操作可以包括:
配置通用接口框架的路由模块的接口URL。
在本发明的一个可选实施例中,该一个或多个通用接口模块可以包括下列至少之一:
初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug。
基于同一发明构思,本发明实施例还提供了一种计算机存储介质。该计算机存储介质存储有计算机程序代码,当该计算机程序代码在计算设备上运行时,导致计算设备执行根据上述任意一个实施例或其组合所述的通用接口框架的生成方法。
基于同一发明构思,本发明实施例还提供了一种计算设备。该计算设备可以包括:
处理器;以及
存储有计算机程序代码的存储器;
当该计算机程序代码被处理器运行时,导致该计算设备执行根据上述任意一个实施例或其组合所述的通用接口框架的生成方法。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
本发明实施例提出的通用接口框架的生成方法和装置,首先将面向不同业务客户端的多种接口按照功能抽象成一个或多个通用接口模块,并定义好该一个或多个通用接口模块与业务客户端之前的对应关系;然后,将该一个或多个通用接口模块封装为通用接口框架,并进而对通用接口框架进行编译和打包后发布至前端。通过将与不同业务客户端对应的具备相同功能的接口抽象为统一的通用接口模块,并通过前端技术将不同功能的通用接口模块统一封装为一个通用接口框架,以发布至前端,使得不同业务客户端都能够通过该前端的通用接口框架实现接口对接,即,只需在前端对接一套接口即可满足多个不同业务客户端的业务需求,解决了现有技术中不同业务客户端需在前端对接不同接口导致程序复杂的问题,大大提高了接口对接效率和业务工作效率。同时,通过对通用接口框架进行编译和打包后再发布,增加了前端代码的安全性。
进一步地,在发布前通过采用webpack对通用接口框架进行编译、打包、代码混淆和加密,进一步提高了前端通用接口框架的安全性,能够防止他人窥视和窃取前端通用接口框架的源代码,并避免外部对前端通用接口框架进行不良代码的嵌入,保证业务正常运行。
更进一步地,通过采用适配器模式进行封装,能够实现通用接口框架中通用接口模块的灵活拆卸,避免通用接口框架过于庞大而影响性能。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。

Claims (20)

1.一种通用接口框架的生成方法,包括:
对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块;
定义所述一个或多个通用接口模块与所述业务客户端之间的对应关系;
将所述一个或多个通用接口模块封装为通用接口框架;
通过指定打包工具对所述通用接口框架进行编译和打包;
发布所述打包后的通用接口框架;
所述将所述一个或多个通用接口模块封装为通用接口框架,包括:
通过编程语言采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
2.根据权利要求1所述的方法,其中,在通过指定打包工具对所述通用接口框架进行打包之后且发布所述打包后的通用接口框架之前,还包括:
通过所述指定打包工具对所述通用接口框架进行代码混淆。
3.根据权利要求1或2所述的方法,其中,在通过指定打包工具对所述通用接口框架进行打包之后且发布所述打包后的通用接口框架之前,还包括:
通过所述指定打包工具对所述通用接口框架进行加密。
4.根据权利要求3所述的方法,其中,所述指定打包工具为webpack。
5.根据权利要求1所述的方法,其中,将所述一个或多个通用接口模块封装为通用接口框架,包括:
通过javascript将所述一个或多个通用接口模块封装为通用接口框架。
6.根据权利要求5所述的方法,其中,通过javascript将所述一个或多个通用接口模块封装为通用接口框架,进一步包括:
通过javascript采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
7.根据权利要求6所述的方法,其中,还包括:
当出现新的业务客户端时,若面向所述新的业务客户端的接口的功能在所述通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现所述通用接口框架中的具有面向所述新的业务客户端的该接口的功能的通用接口模块与所述新的业务客户端之间的对应关系。
8.根据权利要求7所述的方法,其中,所述指定配置操作包括:
配置所述通用接口框架的路由模块的接口URL。
9.根据权利要求8所述的方法,其中,所述一个或多个通用接口模块包括下列至少之一:
初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug。
10.一种通用接口框架的生成装置,包括:
抽象模块,适于对面向不同业务客户端的多种接口进行抽象,得到一个或多个通用接口模块,其中,相同功能的接口被抽象为同一个通用接口模块;
定义模块,适于定义所述一个或多个通用接口模块与所述业务客户端之间的对应关系;
封装模块,适于将所述一个或多个通用接口模块封装为通用接口框架;
打包模块,适于通过指定打包工具对所述通用接口框架进行编译和打包;以及
发布模块,适于发布所述打包后的通用接口框架;
所述封装模块,还适于通过编程语言采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
11.根据权利要求10所述的装置,其中,所述打包模块还适于:
在通过指定打包工具对所述通用接口框架进行打包之后,且所述发布模块发布所述打包后的通用接口框架之前,通过所述指定打包工具对所述通用接口框架进行代码混淆。
12.根据权利要求10或11所述的装置,其中,所述打包模块还适于:
在通过指定打包工具对所述通用接口框架进行打包之后,且所述发布模块发布所述打包后的通用接口框架之前,通过所述指定打包工具对所述通用接口框架进行加密。
13.根据权利要求12所述的装置,其中,所述指定打包工具为webpack。
14.根据权利要求10所述的装置,其中,所述封装模块还适于:
通过javascript将所述一个或多个通用接口模块封装为通用接口框架。
15.根据权利要求14所述的装置,其中,所述封装模块还适于:
通过javascript采用适配器模式将所述一个或多个通用接口模块封装为通用接口框架。
16.根据权利要求15所述的装置,其中,还包括:
配置模块,适于当出现新的业务客户端时,若面向所述新的业务客户端的接口的功能在所述通用接口框架包含的通用接口模块的功能范围内,则通过指定配置操作实现所述通用接口框架中的具有面向所述新的业务客户端的该接口的功能的通用接口模块与所述新的业务客户端之间的对应关系。
17.根据权利要求16所述的装置,其中,所述指定配置操作包括:
配置所述通用接口框架的路由模块的接口URL。
18.根据权利要求17所述的装置,其中,所述一个或多个通用接口模块包括下列至少之一:
初始化接口模块init、登录接口模块login、登出接口模块logout、客户端信息获取接口模块getClientInfo、分享接口模块share、客户端交互接口模块setNativeTitle、下载接口模块download、暂停接口模块pause、删除下载接口模块deleteDownload、通用模块common、工具接口模块Utils、调试接口模块Debug。
19.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-9中任一项所述的通用接口框架的生成方法。
20.一种计算设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行根据权利要求1-9中任一项所述的通用接口框架的生成方法。
CN201811550518.7A 2018-12-18 2018-12-18 一种通用接口框架的生成方法、装置和计算设备 Active CN111338631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811550518.7A CN111338631B (zh) 2018-12-18 2018-12-18 一种通用接口框架的生成方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811550518.7A CN111338631B (zh) 2018-12-18 2018-12-18 一种通用接口框架的生成方法、装置和计算设备

Publications (2)

Publication Number Publication Date
CN111338631A CN111338631A (zh) 2020-06-26
CN111338631B true CN111338631B (zh) 2024-03-01

Family

ID=71179436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811550518.7A Active CN111338631B (zh) 2018-12-18 2018-12-18 一种通用接口框架的生成方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN111338631B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272211A (zh) * 2020-09-29 2021-01-26 京东数字科技控股股份有限公司 业务请求处理方法、装置及系统
CN113656124A (zh) * 2021-07-30 2021-11-16 北京百度网讯科技有限公司 登录页面的生成方法及其装置
CN116827914A (zh) * 2023-04-19 2023-09-29 广州好智信息技术有限公司 一种用于移动端的视频信息防劫持、盗取的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102323884A (zh) * 2011-09-07 2012-01-18 山东中创软件工程股份有限公司 一种多Web服务发布的方法及Web服务容器
CN102622211A (zh) * 2011-01-27 2012-08-01 腾讯科技(深圳)有限公司 一种应用程序开发的方法和装置
CN103716310A (zh) * 2013-12-19 2014-04-09 深圳市迈桥科技有限公司 一种基于js的与企业系统进行对接的方法及装置
CN104267972A (zh) * 2014-10-20 2015-01-07 中国科学院声学研究所 浏览器本地接口扩展方法及装置
CN104426967A (zh) * 2013-08-30 2015-03-18 中国石油天然气股份有限公司 一种跨平台和跨设备的移动应用构建方法
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107133024A (zh) * 2016-02-29 2017-09-05 北京广联达正源兴邦科技有限公司 基于osgi框架的业务管理系统
CN107688464A (zh) * 2017-06-28 2018-02-13 上海壹账通金融科技有限公司 软件定制服务器、方法及计算机可读存储介质
CN108829406A (zh) * 2018-06-13 2018-11-16 珠海市君天电子科技有限公司 安装包打包方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495175B2 (en) * 2014-02-12 2016-11-15 Bank Of America Corporation Deploying multi-channel or device agnostic applications

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622211A (zh) * 2011-01-27 2012-08-01 腾讯科技(深圳)有限公司 一种应用程序开发的方法和装置
CN102323884A (zh) * 2011-09-07 2012-01-18 山东中创软件工程股份有限公司 一种多Web服务发布的方法及Web服务容器
CN104426967A (zh) * 2013-08-30 2015-03-18 中国石油天然气股份有限公司 一种跨平台和跨设备的移动应用构建方法
CN103716310A (zh) * 2013-12-19 2014-04-09 深圳市迈桥科技有限公司 一种基于js的与企业系统进行对接的方法及装置
CN104267972A (zh) * 2014-10-20 2015-01-07 中国科学院声学研究所 浏览器本地接口扩展方法及装置
CN107133024A (zh) * 2016-02-29 2017-09-05 北京广联达正源兴邦科技有限公司 基于osgi框架的业务管理系统
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107688464A (zh) * 2017-06-28 2018-02-13 上海壹账通金融科技有限公司 软件定制服务器、方法及计算机可读存储介质
CN108829406A (zh) * 2018-06-13 2018-11-16 珠海市君天电子科技有限公司 安装包打包方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A universal framework for managing metadata in the distributed Dragon Slayer system;H.F. Wedde 等;《Proceedings of the 26th Euromicro Conference. EUROMICRO 2000. Informatics: Inventing the Future》;96-101 *
地面站设备监控软件框架通用性研究;柯玲 等;《空间控制技术与应用》;第35卷(第5期);56-60 *
基于PLM系统二次开发的通用接口设计与实现;李登;《中国优秀硕士学位论文全文数据库 信息科技辑》(第3期);I138-4206 *

Also Published As

Publication number Publication date
CN111338631A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
US10482262B2 (en) Static analysis based on abstract program representations
CN111338631B (zh) 一种通用接口框架的生成方法、装置和计算设备
US10951552B2 (en) Generation of a chatbot interface for an application programming interface
JP5990654B2 (ja) アプリケーションコード難読化装置及びその方法
JP5996810B2 (ja) 自己書換え基盤のアプリケーションコード難読化装置及びその方法
US9444820B2 (en) Providing context-based visibility of cloud resources in a multi-tenant environment
US11055192B2 (en) Logging implementation in micro-service applications
US11748473B2 (en) Intrusion detection in micro-services through container telemetry and behavior modeling
US9811676B1 (en) Systems and methods for securely providing information external to documents
WO2014146198A1 (en) Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
US20120102474A1 (en) Static analysis of client-server applications using framework independent specifications
US20120102471A1 (en) Generating specifications of client-server applications for static analysis
TW201445355A (zh) 資料保護的方法和裝置
CN104301139B (zh) 路由器适配方法、装置及终端设备
CN104346146A (zh) 一种跨平台转换应用代码的方法及装置
CN109891415B (zh) 针对未经授权的客户端应用程序保护Web服务器
WO2023029447A1 (zh) 模型保护方法、装置、设备、系统以及存储介质
JP2017532615A (ja) クラウドサフィックスプロキシおよびその方法
CN112153012B (zh) 多端触点接入方法、装置及存储介质
Hunter II Distributed Systems with Node. js
CN115525902A (zh) 一种资源包源代码的保护方法及装置
KR101863325B1 (ko) 역공학 방지 방법 및 장치
KR100975508B1 (ko) 프로그램의 모듈의 동적 변경 방법 및 시스템
CN114039743A (zh) 数据的加密方法、装置、存储介质以及终端
Poorazizi et al. Evaluation ofWeb Processing Service Frameworks

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