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

一种菜单导航动态生成方法、装置、设备及介质与流程

2023-02-06 19:31:22 来源:中国专利 TAG:


1.本发明涉及菜单目录生成技术领域,尤其涉及一种菜单导航动态生成方法、装置、设备及介质。


背景技术:

2.spa(单页面应用)因其流畅、前后端分离的特性得到广泛使用,目前流行的前端框架均采用了此原则。单页面应用的跳转通常由路由模块实现,因此路由配置是其中十分重要的环节,目前绝大多数生成路由配置的方式都是使用者根据原型图手动创建项目页面目录文件后配置路由信息进行跳转,在遇到权限的问题时通过屏蔽某些菜单或者进行角色匹配在跳转之前进行拦截。
3.在现有技术中,在菜单导航过程生成中,通过手动创建菜单目录文件的方式容易出现层级错误、文件名不规范等问题,涉及权限的处理方式是生成了所有菜单的配置文件,再选择性隐藏,实际上路由映射仍然存在,使用角色匹配的方式并不适用于角色比较多的情况,且每种角色的权限是固定的,每当增加一种角色或者修改一种角色的权限都需要修改路由配置文件,生成过程复杂,进而导致菜单导航生成效率低。


技术实现要素:

4.本发明提供了一种菜单导航动态生成方法、装置、设备及介质,可以实现动态生成菜单导航,提高菜单导航生成效率。
5.为了解决上述技术问题,本发明实施例提供了一种菜单导航动态生成方法,包括:
6.获取用户菜单数组;
7.遍历用户菜单数组自动生成菜单目录文件后,根据用户菜单数组的权限需要通过菜单目录文件生成对应的路由配置文件,若用户菜单数组不需要权限,则将菜单目录文件进行过滤生成无需权限的路由配置文件,若用户菜单数组需要权限,则判断当前系统是否处于登录状态,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与用户菜单数组中需要权限的菜单进行匹配后得到权限路由,在路由配置文件中动态添加权限路由,得到需要权限的路由配置文件,若不处于登录状态,则将菜单目录文件进行过滤生成无需权限的路由配置文件;
8.遍历无需权限的路由配置文件和需要权限的路由配置文件得到对应的菜单导航。
9.实施本发明实施例,通过获取用户菜单数组后,根据用户菜单数组自动生成目录文件后,根据用户菜单数组的权限需要通过菜单目录文件生成对应的路由配置文件,若用户菜单数组不需要权限,则将菜单目录文件进行过滤生成无需权限的路由配置文件,若用户菜单数组需要权限,则判断当前系统是否处于登录状态,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与用户菜单数组中需要权限的菜单进行匹配后得到权限路由,在路由配置文件中动态添加权限路由,得到需要权限的路由配置文件,若不处于登录状态,则将所述菜单目录文件进行过滤生成无需权限的路由配置文件,遍历生成的无需
权限的路由配置文件或需要权限的路由配置文件可得到对应的菜单导航。通过该方法无需手动配置便可生成路由配置文件,有权限的路由配置文件可以使任意权限组合的角色用户都可自动生成对应的权限路由,提高了灵活性,从而提高了菜单导航生成效率。
10.作为优选方案,获取用户菜单数组,具体为:
11.根据生成的菜单和层级关系输入与菜单及层级关系对应的数据;
12.将数据进行解析后得到用户菜单数组。
13.作为优选方案,遍历用户菜单数组自动生成菜单目录文件,具体为:
14.使用fs模块生成views目录文件夹;
15.遍历用户菜单数组后在view目录文件夹下生成菜单name目录与目录文件;
16.判断菜单name目录与目录文件下是否有子菜单,若有子菜单则遍历菜单name目录与目录文件的子菜单并生成子菜单name目录和子目录文件,重复该步骤至菜单name目录与目录文件下没有子菜单name目录和子目录文件,最后生成菜单目录文件。
17.实施本发明实施例,利用node的内置模块文件系统模块fs生成views目录文件夹后,遍历用户菜单数组在view目录文件夹下生成菜单name目录与目录文件,再通过判断菜单name目录与目录文件下是否有子菜单,若有子菜单则遍历菜单name目录与目录文件的子菜单并生成菜单name目录和目录文件,重复该步骤至菜单name目录与目录文件下没有子菜单name目录和子目录文件,最后生成菜单目录文件,通过该方法可以无需手动创建,根据用户菜单数组自动生成菜单目录文件,且生成的目录名、文件名遵循统一的规范与层级关系。
18.作为优选方案,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与用户菜单数组中需要权限的菜单进行匹配后得到权限路由,具体为:
19.获取登录后的用户权限菜单;
20.使用hasauth方法过滤掉不需要权限的菜单,得到需要权限的菜单;
21.将需要权限的菜单与用户权限菜单进行匹配。
22.作为优选方案,遍历无需权限的路由配置文件和需要权限的路由配置文件得到对应的菜单导航,具体为:
23.若路由配置文件为无需权限的路由配置文件,则通过遍历路由配置文件,得到游客模式菜单导航;
24.若路由配置文件为需要权限的路由配置文件,则通过遍历路由配置文件,得到登录用户菜单导航。
25.实施本发明实施例,若路由配置文件为无需权限的路由配置文件,则通过遍历路由配置文件,得到游客模式菜单导航,该游客模式菜单导航无需权限,任何用户,包括未登录用户均可访问;若路由配置文件为需要权限的路由配置文件,则通过遍历路由配置文件,得到登录用户菜单导航。通过此方法得到的菜单导航对于没有此权限的用户没有此路由映射关系,即使知道ur l地址也是无法访问的,提高了菜单导航的安全性。
26.为了解决相同的技术问题,本发明实施例还提供了一种菜单导航动态生成装置,包括:获取模块、权限判断模块和生成模块;
27.获取模块,用于获取用户菜单数组;
28.权限判断模块,用于遍历用户菜单数组自动生成菜单目录文件后,根据用户菜单数组的权限需要通过菜单目录文件生成对应的路由配置文件,若用户菜单数组不需要权
限,则将菜单目录文件进行过滤生成无需权限的路由配置文件,若用户菜单数组需要权限,则判断当前系统是否处于登录状态,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与所述用户菜单数组中需要权限的菜单进行匹配后得到权限路由,在路由配置文件中动态添加权限路由,得到需要权限的路由配置文件,若不处于登录状态,则将菜单目录文件进行过滤生成无需权限的路由配置文件;
29.生成模块,遍历无需权限的路由配置文件和需要权限的路由配置文件得到对应的菜单导航。
30.作为优选方案,为了解决相同的技术问题,本发明实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现如本发明实施例所述的菜单导航动态生成方法。
31.作为优选方案,为了解决相同的技术问题,本发明实施例还提供了一种计算机可读存储介质,可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行如本发明实施例所述的菜单导航动态生成方法。
附图说明
32.图1:为本发明提供的菜单导航动态生成方法的一种实施例的流程示意图;
33.图2:为本发明提供的菜单导航动态生成方法的一种实施例的菜单导航生成流程示意图;
34.图3:为本发明提供的菜单导航动态生成方法的另一种实施例的装置结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.实施例一
37.请参照图1,为本发明实施例提供的一种菜单导航动态生成方法,该方法包括步骤101至步骤102,各步骤具体如下:
38.步骤101:获取用户菜单数组。
39.在本实施例中,使用者根据需要对生成的菜单及层级关系按要求输入对应的文件名,根据用户输入数据解析后得到的用户菜单数组,利用前端开发者都会安装的js脚本运行环境编写的js脚本中引入node内置的read l i ne模块,实现类似命令行的对话效果,向用户进行提问如:请输入菜单数据,按照菜单id、菜单目录文件名、是否需要权限、父菜单id,一级菜单的格式输入菜单数据;用户可以通过键盘根据要求输入菜单数据后,程序接收用户输入数据,按照格式进行分割生成需要的格式数据即用户菜单数组。
40.可选的,获取用户菜单数组,具体为:
41.根据生成的菜单和层级关系输入与菜单及层级关系对应的数据;
42.将数据进行解析后得到用户菜单数组。
43.步骤102:遍历用户菜单数组自动生成菜单目录文件后,根据用户菜单数组的权限
需要通过菜单目录文件生成对应的路由配置文件,若用户菜单数组不需要权限,则将菜单目录文件进行过滤生成无需权限的路由配置文件,若用户菜单数组需要权限,则判断当前系统是否处于登录状态,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与用户菜单数组中需要权限的菜单进行匹配后得到权限路由,在路由配置文件中动态添加权限路由,得到需要权限的路由配置文件,若不处于登录状态,则将菜单目录文件进行过滤生成无需权限的路由配置文件。
44.在本实施例中,遍历用户菜单数组自动生成菜单目录文件后,再依据用户菜单数组生成无需权限的路由配置文件或需要权限的路由配置文件,若生成无需权限的路由配置文件,则遍历无需权限的路由配置文件生成游客模式的菜单导航,若生成需要权限的路由配置文件,则判断用户是否需要登录,若需要登录则通过遍历需要权限的路由配置文件,得到登录用户菜单导航;若不需要登录,则将菜单目录文件进行过滤生成无需权限的路由配置文件,生成游客模式的菜单导航。
45.可选的,遍历用户菜单数组自动生成菜单目录文件,具体为:
46.使用fs模块生成views目录文件夹;
47.遍历用户菜单数组后在view目录文件夹下生成菜单name目录与目录文件;
48.判断菜单name目录与目录文件下是否有子菜单,若有子菜单则遍历菜单name目录与目录文件的子菜单并生成子菜单name目录和子目录文件,重复该步骤至菜单name目录与目录文件下没有子菜单name目录和子目录文件,最后生成菜单目录文件。
49.在本实施例中,利用node的内置模块文件系统模块fs生成views文件夹,其中,fs.mkd i r可根据指定路径创建目录,fs.wr itefi l e可根据文件名及后缀名生成对应的文件,views文件夹包括:一级菜单:一级菜单name作为目录/一级菜单name.vue;二级菜单:一级菜单name目录/二级菜单name目录/二级菜单name.vue,以此类推,此时所有菜单文件均已经产生,使用者可在对应的文件中编写页面代码。
50.可选的,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与用户菜单数组中需要权限的菜单进行匹配后得到权限路由,具体为:
51.获取登录后的用户权限菜单;
52.使用hasauth方法过滤掉不需要权限的菜单得到需要权限的菜单;
53.将所述需要权限的菜单与所述用户权限菜单进行匹配得到权限路由。
54.在本实施例中,根据hasauth过滤掉需要权限的菜单目录文件,仅生成无需权限的路由配置文件,产生无需权限的静态页面及其路由映射;判断用户是否需要登录,若需要登录则在登录成功的返回值中拿到对应登录用户的权限菜单,此登录用户的权限菜单可在后台角色管理中给用户配置,将用户菜单数组根据hasauth过滤掉不需要权限的菜单,将过滤后的菜单与后端返回的登录用户的权限菜单进行匹配,匹配上了则动态添加该菜单路由,此时依据权限动态生成的无需权限和需要权限的页面及其路由映射均已产生,相应的用户登录即可访问相应的权限页面。
55.可选的,遍历无需权限的路由配置文件和需要权限的路由配置文件得到对应的菜单导航,具体为:
56.若路由配置文件为无需权限的路由配置文件,则通过遍历路由配置文件,得到游客模式菜单导航;
57.若路由配置文件为需要权限的路由配置文件,则通过遍历路由配置文件,得到登录用户菜单导航。
58.在本实施例中,如图2所示,用户未登录则菜单导航仅可访问无需权限的路由页面,用户已经登录则可访问无需权限的静态页面与依据用户权限动态生成的需要权限的由权页面按层级合成的页面。
59.以上实施例,具有以下有益效果:
60.获取用户菜单数组后,根据用户菜单数组自动生成目录文件,根据目录文件生成路由配置文件并遍历路由配置文件,得到菜单导航,通过该方法可以无需手动创建菜单目录文件,自动生成目录文件,此外也可以无需手动配置通过菜单目录文件生成无需权限的路由配置文件进而得到无需权限的菜单导航,以及生成登录角色拥有的有权限菜单路由配置文件,使得任意权限组合的角色用户都可自动生成对应的权限路由进而得到登录用户菜单导航,提高了菜单导航生成效率。
61.实施例二
62.相应地,参见图3,图3是本发明提供的菜单导航动态生成装置结构示意图。如图所示,该菜单导航动态生成装置,包括:获取模块301、权限判断模块302和生成模块303,其中,获取模块301用于获取用户菜单数组;
63.权限判断模块302用于遍历用户菜单数组自动生成菜单目录文件后,根据用户菜单数组的权限需要通过菜单目录文件生成对应的路由配置文件,若用户菜单数组不需要权限,则将菜单目录文件进行过滤生成无需权限的路由配置文件,若用户菜单数组需要权限,则判断当前系统是否处于登录状态,若处于登录状态则将成功登录后获取的登录用户拥有的权限菜单与所述用户菜单数组中需要权限的菜单进行匹配后得到权限路由,在路由配置文件中动态添加权限路由,得到需要权限的路由配置文件,若不处于登录状态,则将菜单目录文件进行过滤生成无需权限的路由配置文件;
64.生成模块303用于遍历无需权限的路由配置文件和需要权限的路由配置文件得到对应的菜单导航。
65.实施例三
66.相应地,本发明提供的一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本技术实施一所示的菜单导航动态生成方法。
67.实施例四
68.相应地,本发明提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现本技术实施一所示的菜单导航动态生成方法。
69.在本实施例中,本技术提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
70.相比于现有技术,本发明提供的一种菜单导航动态生成方法及装置,获取用户菜单数组后,根据用户菜单数组自动生成目录文件,根据目录文件生成路由配置文件并遍历路由配置文件,得到菜单导航,通过该方法可以无需手动创建菜单目录文件,自动生成目录文件,此外也可以无需手动配置通过菜单目录文件生成无需权限的路由配置文件进而得到
无需权限的菜单导航,以及生成登录角色拥有的有权限菜单路由配置文件,使得任意权限组合的角色用户都可自动生成对应的权限路由进而得到登录用户菜单导航,提高了菜单导航生成效率。
71.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献