00:00
各位同学大家好,刚才呢,咱们完成了菜单列表功能,最终构建成了树形结构,用于最终页面显示,那下面呢,咱们把接口给它完善,最终整合前端,然后进行最后的测试,那下面咱们看一下接口啊,在接口里边各位看到第一个列表接口完成了,第二个添加,第三个修改,第四个删除,咱要完善的就是删除接口,那为什么要完善,给大家说明一下啊,各位看啊,我们的这个菜单是不是有层级结构,比如说我现在啊,我想删这个系统管理,注意这边有个问题,因为系统管理下边是不是有用户角色菜单,你要删系统管理的话,你应该不能直接删,咱应该做个判断,判断当前菜单下边有没有子菜单,如果有的话他就不能删,没有的话是不是才能进行删除,所以咱们现在把删除做一个完善判断,他们有没。
01:00
下一层菜单有的话,那可能就不能删,那这里边我来完善一下啊,咱把方法给它改个名字,为了看着方便,我们叫remove menu,根据ID在里边把方法我们进行创建。就是咱们说的删除菜单。创建之后呢,在实现类中,我们来写一下这个删除的方法。把这个麦拿过来。然后这是我们的方法,在方法里边,按照我刚才说到的啊,首先我们先做一个判断。这个位置就是判断一下。当前的菜单是否有下一层菜单,或者说是否有子菜单,有的话咱就不能删,没有的话才经删除,那咱们判断一下啊,加上lada rapper加上。泛型rapper等于new上一个rapper。
02:02
啊,这个rapper啊,拉姆的块rapper,然后加上之后在里边设置它的条件,那咱们看一个条件啊,我们加上EQ,然后咱们加什呢?判断就是谁的ID,当前ID是不就有一层,如咱们的这个,比如这个二跟它一致,那表示它有下层这个菜单。咱们加上啊。System menu。加上get这个parent ID。然后加上ID,也就说ID跟D的关系,然后咱们调方法进行实现,调用base中的方法,注意啊,这个方法呢,其实你可以用这个list可以,但是咱们现在只想判断有没有菜单,其实可以不用list,咱们换个方法啊,大家看这个方法。你看啊是什么,是不是count,咱们看它返回什么,是不是一个int值哦,这什么意思呢?大家应该能看出来啊,什么意思它就表示啊,如果说你这菜单下边有下一层菜单,这个值是不是肯定要大于零的,或者说大于等于一的,如果说它里边没有,这值是不是等于零,所以咱根据它做个判断。
03:21
写到这个位置啊,如果说我们查出返回这个count的值,它大于零,就表示有下一层的菜单,有的话,那咱就不能删,我就直接抛出一个异常,咱们之前写那个自定异常,比如叫201,然后提示啊说这个菜单。不能删除,这个就是咱们完成判断,如果说这个值呢,它等于零表示没有下一层菜单,那咱们调用map中的方法并删除,用delete白D传入ID。请删除。所以现在啊,我们把这个过程就最终完成了,把这功能做一个完善,判断有没有下一层菜单,有的话那咱就不能删,没有的话我们再进行删除,这个咱们就写到这里,以上接口部分我们就都完成了,增删改查情况接口。
04:20
然后完成之后,下面呢,咱把前端快速整合一下,然后最终测试一下这个效果,前端我们就直接复制了啊,首先第一个在路由里边我们加上一个菜单管理,咱们找到在我们的这个位置有用户,有角色,角色下面加一个菜单。然后在里边加上我们这个相关的页面,我在里边做过创建啊位置。System中的menu。麦兜里边呢,加上一个力,四点为五。这是我们建的这个页面,所以咱们由完成,完成之后呢,我们在这个API中建一个JS文件表示菜单部分咱们创建啊,这位置建一个。
05:07
JS文件,然后里边呢,把刚才我们的接口在里边都进行定义,这部分我就直接复制了,因为我那个也都是从课件中复制的,跟他的名字应该基本上都是一致的,现在这个完成完成之后呢,最后我们就写一个页面,我把页面中的内容咱就直接复制过来,放到刚才这个list.view里边来。现在完成,然后按照我说的检查一下我们这个路径。啊,也就这个路径应该跟我们的保持一致,现在前端快速整出来了,整合之后,最后咱们把效果试一下,看一下它的结果是怎么样的,那咱们最终测试一下啊。来到我们的这个项目中。9528口号。回车,然后大家看啊,在里边是不是有一个菜单管理,咱现在点击。
06:05
你看里边是不是显示这个结构,这是我们的第一层,比如我再来点是不是有第二层,我再点是不是有第三层,所以现在你发现啊,这个列表就可以了,那这个列表之后下面呢,比如说我现在做一个添加,咱们加一个,然后加的话呢,在里边首先比如说我们写一个名称。那随便写一个啊,我就叫T等。这个随便写个值确定。我们看啊,T是不是加进去了,然后下面你可依次再加上你的下层节点这个菜单,比如T里边我们加一个叫T的零一。T的零一啊,咱就测试先随便写个值,然后这些什么意思,后面咱讲到权限中会再具体讲强调的啊,咱们先测试一下,现在添加是可以的,添加之后我们是一个修改。在里边点修改,比如叫这个at硅谷确定。
07:02
名字是不是改了,证明这些都是正确的之后,我们是个删除,删除咱这么来做啊,首先我这里边其实在前面做了一个判断,如果说你有下层的节点,那我这个按钮就不能点,它就不能删了,如果没有的话,我们可以删,比如现在把这个删掉。大家看是不是可以了,以上就是咱完成的菜单的增删改查到功能实现咱们分别实现的接口整合的前端重点,大家把这个菜单的列表的接口好去写一写,里面涉及到了递归,查第一层,再查第二层,直到下边没有下层数据。
我来说两句