一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

API接口权限管理与API接口调用的方法及相关装置与流程

2022-02-20 00:44:57 来源:中国专利 TAG:

api接口权限管理与api接口调用的方法及相关装置
技术领域
1.本技术涉及api接口管理技术领域,特别涉及一种api接口权限管理与api接口调用的方法;还涉及一种api接口权限管理与api接口调用的装置、设备以及计算机可读存储介质。


背景技术:

2.随着前端技术的不断发展,前端项目的复杂度逐渐提高。一个前端项目可能存在几十上百个页面以及几百上千个接口。面对诸多的页面与接口,传统的api(application programming interface,应用程序接口)接口权限管理方法是通过手动制造对应关系进行管理。另外,传统的页面多场景方案是在业务端调用处进行判断后分别调用。然而,传统的api接口权限管理方案的维护成本巨大,一旦接口产生变更会消耗大量的人工成本。由于单页面存在的api接口调用越来越多,多个场景每个场景都有自己的一套api接口调用,因此传统方案可能需要在页面中每个api接口调用处都进行场景的判断调用,这时如果再新增一个新的场景,修改成本巨大,还可能因为疏忽引入新的问题。
3.因此,如何解决上述技术缺陷已成为本领域技术人员亟待解决的技术问题。


技术实现要素:

4.本技术的目的是提供一种api接口权限管理与api接口调用的方法,能够降低开发与维护成本,并能够降低修改引入问题的可能性。本技术的另一个目的是提供一种api接口权限管理与api接口调用的装置、设备以及计算机可读存储介质,均具有上述技术效果。
5.为解决上述技术问题,本技术提供了一种api接口权限管理与api接口调用的方法,包括:创建api文件;在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;根据所述第一对象进行api接口权限管理;在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;根据所述第二对象调用所述api接口。
6.可选的,所述根据所述第一对象进行api接口权限管理包括:根据所述第一对象得到权限对应关系文件;所述权限对应关系文件包括页面权限与所述api接口的路径的对应关系;根据所述权限对应关系文件进行权限管理。
7.可选的,所述根据所述第一对象得到权限对应关系文件包括:将各所述api文件中的所述第一对象合并,得到合并对象;
提取所述合并对象中的各所述api接口的路径;以所述页面权限为键名,以所述页面权限调用的所述api接口的路径组成的数组为键值创建第四对象;将所述第四对象转化为所述权限对应关系文件。
8.可选的,所述根据所述第二对象调用所述api接口包括:获取当前场景的场景标识;根据所述场景标识与所述第二对象,获取所述场景标识对应的所述第三对象;根据api接口调用名称与所述第三对象,调用所述api接口调用名称对应的所述api接口。
9.可选的,所述创建api文件包括:定义所述api文件并定义api接口。
10.为解决上述技术问题,本技术还提供了一种api接口权限管理与api接口调用的装置,包括:文件创建模块,用于创建api文件;第一对象创建模块,用于在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;权限管理模块,用于根据所述第一对象进行api接口权限管理;第二对象创建模块,用于在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;调用模块,用于根据所述第二对象调用所述api接口。
11.可选的,所述权限管理模块包括:处理单元,用于根据所述第一对象得到权限对应关系文件;所述权限对应关系文件包括页面权限与所述api接口的路径的对应关系;管理单元,用于根据所述权限对应关系文件进行权限管理。
12.可选的,所述调用模块包括:第一获取单元,用于获取当前场景的场景标识;第二获取单元,用于根据所述场景标识与所述第二对象,获取所述场景标识对应的所述第三对象;调用单元,用于根据api接口调用名称与所述第三对象,调用所述api接口调用名称对应的所述api接口。
13.为解决上述技术问题,本技术还提供了一种api接口权限管理与api接口调用的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一项所述的api接口权限管理与api接口调用的方法的步骤。
14.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的api接口权限管理与api接口调用的方法的步骤。
15.本技术所提供的api接口权限管理与api接口调用的方法,包括:创建api文件;在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;根据所述第一对象进行api接口权限管理;在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;根据所述第二对象调用所述api接口。
16.可见,本技术所提供的api接口权限管理与api接口调用的方法,通过创建以页面权限为键名,以api接口为键值的第一对象,将api接口与页面权限对应,建立了api接口与页面权限的对应关系,后期如需修改api接口,只需修改api接口本身,而无需修改对应关系,如此可以极大的降低维护成本。另外,本技术通过创建以场景标识为键名,以api接口调用名称与场景所调用的api接口的对应关系为键值的第二对象,建立了场景标识、api接口调用名称以及api接口的对应关系,调用api接口时,只需在引入处进行场景判断,并根据api接口调用名称进行调用,后期新增场景时可以很快的完成修改,由此可以极大的降低开发与维护成本。
17.本技术所提供的api接口权限管理与api接口调用的装置、设备以及计算机可读存储介质均具有上述技术效果。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本技术实施例所提供的一种api接口权限管理与api接口调用的方法的流程示意图;图2为本技术实施例所提供的一种api接口权限管理与api接口调用的装置的示意图;图3为本技术实施例所提供的一种api接口权限管理与api接口调用的设备的示意图。
具体实施方式
20.本技术的核心是提供一种api接口权限管理与api接口调用的方法,能够降低开发与维护成本,并能够降低修改引入问题的可能性。本技术的另一个核心是提供一种api接口权限管理与api接口调用的装置、设备以及计算机可读存储介质,均具有上述技术效果。
21.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.请参考图1,图1为本技术实施例所提供的一种api接口权限管理与api接口调用的方法的流程示意图,参考图1所示,该方法主要包括:
s101:创建api文件;本步骤旨在创建api文件,包括定义api文件与定义api接口。即定义模块的api文件,并对模块的api接口分别进行定义。
23.例如,创建一个名为systemlogin的平台登陆模块的api文件。对平台登录模块的四个api接口分别定义为:接口路径为“user/login”的用户登陆的api接口,将其命名为userlogin;接口路径为“user/signout”的用户登出的api接口,将其命名为usersignout;接口路径为“manage/login”的管理员登陆的api接口,将其命名为managelogin;接口路径为“manage/signout”的管理员登出的api接口,将其命名为managesignout。
24.s102:在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;在创建api文件的基础上,本步骤旨在在api文件中创建第一对象。其中,第一对象的键名(即key值)为页面权限,第一对象的键值(即value值)为页面权限所需调用的所有api接口的名称所组成的数组。
25.例如,在名为systemlogin的api文件中创建一个第一对象,命名为bgauthobj。用户端登陆页面的页面权限名称为user_login,管理端登陆页面权限名称为manage_login,因此bgauthobj有两个字段,这两个字段的key值分别为user_login和manage_login。
26.其中,user_login为用户登陆的页面权限,该页面权限所需要调用的api接口包括用户的登陆api接口userlogin与用户的登出api接口usersignout,因此user_login字段的value值为userlogin与usersignout组成的array数组。
27.manage_login为管理员登陆的页面权限,该页面权限所需要调用的api接口包括管理员登陆的api接口managelogin与管理员登出的api接口managesignout,因此manage_login字段的value值为managelogin与managesignout组成的array数组。
28.s103:根据所述第一对象进行api接口权限管理;建立第一对象后,即建立api接口与页面权限的对应关系后,后端基于此对应关系进行api接口权限管理。
29.在一种具体的实施方式中,所述根据所述第一对象进行api接口权限管理包括:根据所述第一对象得到权限对应关系文件;所述权限对应关系文件包括页面权限与所述api接口的路径的对应关系;根据所述权限对应关系文件进行权限管理。其中,所述根据所述第一对象得到权限对应关系文件包括:将各所述api文件中的所述第一对象合并,得到合并对象;提取所述合并对象中的各所述api接口的路径;以所述页面权限为键名,以所述页面权限调用的所述api接口的路径组成的数组为键值创建第四对象;将所述第四对象转化为所述权限对应关系文件。
30.具体而言,可执行exportapiauthmap函数,由exportapiauthmap函数遍历项目中的所有api文件,将每个api文件的第一对象合并成一个对象即合并对象,并可将合并对象命名为allauthmap。进一步,将allauthmap中的所有api接口的路径提取出来,并创建以页面权限为key值,以页面权限所需调用的api接口的路径组成的array数组为value值的第四对象,并可将第四对象命名为authmap。
31.例如,提取名称为systemlogin的api文件中的bgauthobj的api接口的路径,创建的authmap的两个字段的key值分别为user_login和manage_login。
32.其中,user_login所需要调用的api接口包括用户的登陆api接口userlogin与用户的登出接口usersignout。userlogin对应的api接口路径为“user/login”, usersignout对应的api接口路径为“user/signout”。因此,user_login字段的value值为“user/login”与“user/signout”组成的array数组。
33.manage_login所需要调用的api接口包括管理员登陆的api接口managelogin与管理员登出的api接口managesignout。managelogin对应的api接口路径为“manage/login”,managesignout对应的api接口路径为“manage/signout”。因此,manage_login字段的value值为“manage/login”与“manage/signout”组成的array数组。
34.将所创建的authmap转换为文件输出,得到权限对应关系文件。后端依据此权限对应关系文件进行权限管理。
35.s104:在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;在创建api文件的基础上,本步骤旨在在api文件中创建第二对象。其中,第二对象的键名为场景标识。场景标识是用于区分不同场景的值。第二对象的键值为一个对象即第三对象。第三对象的键名为api接口调用名称,第三对象的键值为场景所调用的api接口。第二对象具有两层对应关系,一层为场景标识与第三对象的对应关系,一层为第三对象内部api接口调用名称与场景所需调用的api接口的对应关系。
36.例如,在名为systemlogin的api文件,以用于区分不同场景的场景标识作为key值,api接口调用名称与场景所调用的api接口的对应关系所组成的第三对象为value值创建第三对象,命名为apiobj。
37.登陆页面分为管理端登陆和学员端登陆,两个登陆页面共用一个源代码,通过权限区分调用相应的登入,登出api接口。为了区分管理端与学员端,将管理端场景的场景标识设为manage,将学员端场景的场景标识设为user。同时,为了调用方便,将登陆api接口的api接口调用名称设为login,将登出api接口的api接口调用名称设为signout。此时apiobj包含两个字段,key值分别为manage和user,value值为一个object即对象,该object以api接口调用名称为key值,以场景所使用的api接口为value值。
38.其中,作为manage的value值的object有两个字段,key值为login和signout。因为在管理端场景中,实际调用的登陆和登出api接口为managelogin与managesignout,所以login对应的value值为managelogin,signout对应的value值为managesignout。
39.同理,作为user的value值的object也有两个字段,key值为login和signout。因为在用户端场景中,实际调用的登陆和登出api接口为userlogin和usersignout,所以login对应的value值为userlogin,signout对应的value值为usersignout。
40.s105:根据所述第二对象调用所述api接口。
41.在建立第二对象的基础上,依据第二对象进行api接口调用。
42.在一种具体的实施方式中,所述根据所述第二对象调用所述api接口包括:获取当前场景的场景标识;根据所述场景标识与所述第二对象,获取所述场景标识对应的所述第三对象;根据api接口调用名称与所述第二对象,调用所述api接口调用名称对应的所述api接口。
43.具体而言,可在源代码中引入login.js的apiobj。通过权限判断获取当前场景的场景标识currentauth,获取当前调用api接口的object字段:currentapi接口。
44.例如,当前场景的场景标识为manage时,currentapi的值为apiobj中作为manage的value值的object。当前场景为user时,currentapi的值为apiobj中作为user的value值的object。
45.在具体调用处,利用api接口的调用名称调用具体api接口。例如,在登陆api接口请求处通过currentapi.login()进行登陆调用,在登出api接口请求处通过currentapi.signout()进行登出调用。
46.综上所述,本技术所提供的api接口权限管理与api接口调用的方法,通过创建以页面权限为键名,以api接口为键值的第一对象,将api接口与页面权限对应,建立了api接口与页面权限的对应关系,后期如需修改api接口,只需修改api接口本身,而无需修改对应关系,如此可以极大的降低维护成本。另外,本技术通过创建以场景标识为键名,以api接口调用名称与场景所调用的api接口的对应关系为键值的第二对象,建立了场景标识、api接口调用名称以及api接口的对应关系,调用api接口时,只需在引入处进行场景判断,并根据api接口调用名称进行调用,后期新增场景时可以很快的完成修改,由此可以极大的降低开发与维护成本。
47.本技术还提供了一种api接口权限管理与api接口调用的装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图2,图2为本技术实施例所提供的一种api接口权限管理与api接口调用的装置的示意图,结合图2所示,该装置包括:文件创建模块10,用于创建api文件;第一对象创建模块20,用于在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;权限管理模块30,用于根据所述第一对象进行api接口权限管理;第二对象创建模块40,用于在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;调用模块50,用于根据所述第二对象调用所述api接口。
48.在上述实施例的基础上,作为一种具体的实施方式,所述权限管理模块30包括:处理单元,用于根据所述第一对象得到权限对应关系文件;所述权限对应关系文件包括页面权限与所述api接口的路径的对应关系;管理单元,用于根据所述权限对应关系文件进行权限管理。
49.在上述实施例的基础上,作为一种具体的实施方式,处理单元包括:合并子单元,用于将各所述api文件中的所述第一对象合并,得到合并对象;提取单元,用于提取所述合并对象中的各所述api接口的路径;创建单元,用于以所述页面权限为键名,以所述页面权限调用的所述api接口的路径组成的数组为键值创建第四对象;转化单元,用于将所述第四对象转化为所述权限对应关系文件。
50.在上述实施例的基础上,作为一种具体的实施方式,所述调用模块50包括:第一获取单元,用于获取当前场景的场景标识;
第二获取单元,用于根据所述场景标识与所述第二对象,获取所述场景标识对应的所述第三对象;调用单元,用于根据api接口调用名称与所述第三对象,调用所述api接口调用名称对应的所述api接口。
51.在上述实施例的基础上,作为一种具体的实施方式,所述文件创建模块10具体用于 定义所述api文件并定义api接口。
52.本技术还提供了一种api接口权限管理与api接口调用的设备,参考图3所示,该设备包括存储器1和处理器2。
53.存储器1,用于存储计算机程序;处理器2,用于执行计算机程序实现如下的步骤:创建api文件;在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;根据所述第一对象进行api接口权限管理;在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;根据所述第二对象调用所述api接口。
54.对于本技术所提供的设备的介绍请参照上述方法实施例,本技术在此不做赘述。
55.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:创建api文件;在所述api文件中创建第一对象;所述第一对象的键名为页面权限,所述第一对象的键值为所述页面权限调用的各api接口所组成的数组;根据所述第一对象进行api接口权限管理;在所述api文件中创建第二对象;所述第二对象的键名为场景标识,所述第二对象的键值为第三对象;所述第三对象的键名为api接口调用名称,所述第三对象的键值为场景所调用的所述api接口;根据所述第二对象调用所述api接口。
56.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory ,rom)、随机存取存储器(random access memory ,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
57.对于本技术所提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
58.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
59.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
60.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执
行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
61.以上对本技术所提供的技术方案进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献