00:00
把这个程序启动,咱们来做一个测试啊,看一下咱们这个功能能不能做到啊,那我们来启动我们的项目。咱来做一下啊。这些我先关掉啊,打开这个service a c这个工程,包括这些咱看一下啊,这值应该都改了,然后他用的端口号是这个。8009,那我现在把这个服务给它先行起来啊,咱做一个测试啊。咱等它启动啊。启动之后呢,我们还是先用swag做个测试,就看一下咱们刚才写的代码最终能不能得到我们想要那种就是树形结构的菜单效果啊,咱就做个测试,验证一下咱这个代码。包括一会儿啊,咱要调的应该就是它啊。先启动啊。啊,大家看啊,现在应该是启动了,然后启动之后,咱们现在用swag测试,我这端口号叫8009啊,咱们来试一下啊。
01:03
就是local host。8009加上这个swagger。杠UIHL等于回车。大家看是不是进来了啊,然后咱们找一下那个permission这个CR了,就这个啊参L菜单把这个找到,但是这个过程中啊,有这么一个问题啊,给大家说一下啊,我这里边应该是之前避免掉了,但是我也强调一下啊,有个什么问题。各位来注意一个地方啊。把这个打开。大家注意啊,就是在你就是之前呢,给大家提供那个SW整合那个代码中有一行代码,咱们现在如果测试的话,需要把它注释掉,就是这行代码。这行代码什么意思呢?给大家说一下啊,我这里先标注一下啊,这一代码需要先给它注释掉。先给它注释掉啊,那为什么注释掉,我来说明啊。
02:02
就是目前啊,有这么一个小问题啊。这里啊。因为大家看这个代码,这个代码什么意思呢?它叫做pass,然后这是不叫not,它叫表示啊,如果说啊,你路径中包含这个路径,那这个接口是不会进行显示的,因为咱们现在做这个permission,它是不是有我的命开头啊,如果说你这句话,比如说你没注掉,那咱这接口在我SSPA中是不会显示的。这个会注意啊,所以说你要测试中,要不然你把这名字改一下,要不然你就是把这一行给它注掉啊,但是总之你要做件事情,如果你不注掉,名字也不改,那最终你会发现里边什么都没有,没有显示,只有一个空的界面,所以大家这个注意一下啊,它是表示这开头的这个接口不显示,但是咱现在这接口需要显示,所以你需要把这个注掉,或者说你把这个名字换个名字都可以。啊,这各位测试时候注意一下啊,这么一个问题啊,咱之前也提过,这后面没有用到这种效果,现在用到了特别说明啊,然后咱们啊,下面看咱的核心找到permission controller里边第一个方法就是查所有菜单,那我现在点这个try it out,咱看结果啊,大家自己来看啊。
03:17
这数据比较多啊,但是大家应该能看到啊,我把这个给它就复制出来啊。啊,咱复制一部分,因为数据太多了啊,都给拿过来啊,咱看的就是乱了啊,拿出一部分到这里边,我们来看一下当前这个结构。啊,各位来看啊,首先你看啊,前面就是你的成功,包括这些数据有date啊,这些children这些不用看,往下看啊。看这里边各位看啊,首先第一个这是PID是零,这是不是叫全部数据,就是咱们说的一层菜单,而一层菜单中的level值是什么?是不是就是一啊,就表示咱们的入口,然后你看啊,在全部数据一层菜单下边是不是有个children准,Children准下边是不是它的二层菜单呀,里边就是有这么些值啊,这是我写的测试的123,然后你看这level就是二啊,你看这个是二啊,这些值就是这个二,然后咱们在二层台下边,以这为例,因为它边下面有数据,里边还有一个秋准,当然这个秋准啊,这几个秋水是空没有这个三级菜单下面有三级,三级中你看秋准里边有个订单列表。
04:26
Level是不是三有,然后在三里边还有下一层菜单,比如查看level是不是四哦,所以咱最多会有四层,里边就是这种结构,而咱要的就是这种效果,一层菜单level是1CHILDREN,下边是二层。Level是二,二,下面children里边三层,Level是三,再有那就是children level是四,以此类推,每个结构应该都是这个样子啊,所以咱们现在就按照我们的要求把这个所有菜单查出来了,并且咱用是递归方式。
05:00
返回咱们想要这个结果啊,这个我们就弄出来了啊,所以大家把我刚才写的一个递归代码给他好好去练练,主要是写到。这个部分。啊,这是我们刚才特别写的一个代码,各位给他好好去写一写啊。咱把它就最终完成了啊,关于这个递归查询所有菜单。啊,包括这个代码中啊,我把那个核心部分给大家复制一下啊,主要是这两部分,第一部分就是这里啊,咱要查出它的一层,然后给它变成一,就找到你递归查询的一个入口啊,这是一个原则,做递归查询吧,必须有一个入口,没有入口那你不知道从哪里进入啊,需要有这个啊,这是第一个。我直接啊接过来。然后除了它之外,下面咱就做那个最终那个递归操作,就调我们刚才写的方法,依次便利通过一级查二级,通过二级查三级,通过三级查四级,以此类推,直到他最终没有数据啊为止,就咱们写到。
06:06
这个代码。做了这么一个,就是最终一个便利啊。这部分给大家也是。截过来啊。所以各位啊,把这个好好去写一写啊,刚才咱测试效果应该都出来了啊。这么一个结果啊,所以这是关于我们说的递归查询菜单啊,咱们就完成啊。我把这张图保存一下啊。第九个。后端啊,接口就是递归查询菜单的这么一个接口。所以咱们啊,完成了这个操作啊,比如说我一直强调递归是一个重点啊,然后这个做到之后呢,我们下面还有两个接口啊,第一个接口就是这个接口递归删除菜单,还有一个给角色分析权限啊,咱一会儿把这两个快速写出来,有了这个基础之后再写这两个应该就简单很多了啊,主要是第一个稍微复杂点啊,各位给他利用时间好好去练练啊。
我来说两句