00:00
好,来。那下面我们要做的事情是什么呢?大家看好一下啊,看了一下现在呢,我当前有这么几个用户。我先来跟大家演示一下啊,演示一下order me啊是能看到所有的菜单的,是不是有,就是对所有菜单都可以进行操作,好,现在假设我用test啊去登录一下。来把它给他什么呢?我先给他演示一下啊。开始啊,嗯,密码呢,是123123,看是不是啊。23123129。密。啊,把那个用一下,刚才还一个用户叫什么硅谷小啊是吧,啊123123。这不行,呃,还是的面自己再搞一下是吧,密码忘了,这也是个事情是吧。
01:04
来密码忘了是吧,添加一个用户是吧,来添加一个吧,没关系啊。现在我添加一个用户啊,我就叫,哎,我刚才我应该试一下这个各个是我刚才刚才好像输入的这都进来,咱们添加一个吧,名字叫什么呢。名字。呃,开始007可以吧,好密码呢,123123啊,我用的密码用这个用的最多,搞别的忘知道吧,别的我就稍微的去写一下啊。嗯,123,嗯,艾特qq.com好重点角色,我选择这个测试。那就决定了它能访问部分的菜单页是不是好。来这里。有了吧,那下面我干嘛去登录,来点击OK。
02:04
退出。开始07123123点击OK。可以是不是可以好啦。来,现在你来看。是不是只能看到部分?这个部分刚好是他拥有的权限的部分吧。哎,这就说明我们是已经做好的。但是我们这个现在行吗。来我们的这个试一下退出。接着我们刚才是呃T的007是吧,123123的密码走你。那我们现在有没限制,那肯定是全部显示了。这不合适吧,那我们下面就要说了,怎么做了。来。回到我们的这个,我们下面要写哪个组进去。这里面涉及到life level是吧,找到我们的life level主页。
03:07
这是我们的level。我们生成那个左侧菜单列表,看的是不就是这个递归的方法。那我们在这个地方是不是会通过这个地位的方式,通过我们的reduce不断的往这个数组里面塞。Me item或者萨me。那这个一定要塞吗?得看我有没有这对这个item的权限吧,说吧,这个是我的item数据吧。Item数据,正常情况下是不是就会形成menu item?我有没有对他的权限呢?不好说吧,是有可能有,有可能什么没有,如果我没有的话,我需要添加吗。不需要,那也就是说一个什么意思呢,大家看到。
04:01
如果。当前用户有item对应的权限。那是不是需要去添加显示对应的。对吗?嗯,就需要才需要,才需要显示对应的菜单项,这个菜单项值,菜单项可能是menu,也可能是me。什么意思,就说白了,就这意思啊,写个em中间有个判断,判断成立了。才去添加。把这个添加代码放到这个什么。If里面。你看是不是。说白了啊,如果我进入了if,那当前这个item对应的菜单向我显示了吗?
05:01
就不会显示啊,你不得在这个里面添加一个menu item或者是some menu是不是才能显示对应的菜单项啊。只是说问题在于我这个判断怎么样判断的问题,你别管我怎么判断。是不是?这能听懂吧,找到我们的,大家看一下。这就是代表我在某一个菜单的数据嘛,每一个菜单数据是不是都有一个K。是吧,那这个K有没有在我当前用户的列表里面,大家看一下啊,我当前登录的用户他有哪些权限在我的那个优者信息里面是有的,我们来看一下application,我们存在local storage里面。统一找到,这就是我们那个优者的信息,而我们优者信息里面就有一个。大家看看有一个肉数据属性里面有一个。
06:02
Minus。看到这些了。我是不是有这些对应的能看到。对吧。也就是说哪个X小们需要看见,那是不是就看这个X小K有没有在这个里面了。是。能不能懂,大概能懂啊,这个地方就是看我这一个if里面的这个判断怎么写的,问题是不是。怎么判断我当前登录用户对这个item有权限?能听到不?好。那这样看好了。因为这不是一条语句能写定的,所以我要单独封装成一个什么函数去写。能听到吧,我来写个this.has also就是权限的意思。好接着传入这个什么呢。Item,因为我要判断是当前用户对这个item有没有权限,听懂不。
07:04
好,那我是不是要定义这样一个方法函数。听懂吧,好,来吧,这个是一个什么it数据对象。记住这一个是判断什么呢?判断啊,当前登录什么用户。对是否有什么权限。美女们是否有权限好?来看到,那也就是说这一个函数的返回值应该是个什么类型的值。布尔类型嘛,是否有嘛,有可能有,有可能没有,是不是布尔类型好,这里面就要考虑很多事情来看着。看好了。有些情况,有些情况我一个一个说第一个情况。
08:05
啊,第一个情况是,如果当前用户是in。你说我还要?有可能是bos吗?不可能命用户,那管理超级管理用户,那不就所有都能看得见吗?那所有的都通过是不是,那我都不用判断什么东西了,别的东西了吧,直接就什么。通过听懂吧。这个能懂吗?啊,好,还有。这个地方要说一个事情啊,我们这个item里面是不是有个K。有吧?好,我当前登录的用户。是不是应该有个us?这怎么取?当前登录用户信息怎么得到,知道不?Memory不用那个去取了,因为他已经放到memory里面了,不是点什么。
09:05
User里面有什么?有个什么属性?是不是有论文属性?那就来点什么肉啊,这个肉里面有个什么属性。是不是有个menu?看到不好。好了,那就点一个什么。Minus。这是个速度吧。有没有问你?没问题是不是,那没问题,嗯,那下面。下面我们啊,就要看什么呢,看这个K有没有在这个什么。里面不就可以了吗?不是这个意思吗?我有好一些K的权限这个数组,这所有我有权限K的数组。就判断这个K有没有在这里面买。
10:01
这不信是吗,是不是?这个不懂也就下面就是判断啊。再一种情况就是当前。用户有此it的权限,由此item现象其实就是看什么,看K有没有在什么nu中。这能听懂不能听懂,好还有一个事情,这个地方要说一说。啊,还有一个什么事情呢,就是大家得你知道需要知道一个事情啊。他有的角色吧,他没有去设置首页的权限。他可能一个权限都没有。听懂了不?那你想啊,我一打开,那么相当于什么都看不见吗?这样好吗?至少让他看到什么首页。听懂了不原说,老师,我不仅想让他看到谁,我还想让看到另外一个页面,那怎么做呢?这个好做,大家看到我这么设计的。
11:06
看好了,我在这个地方这里面啊,比如说我想让他看到默认他的首页,不管他有没有这个权限,都让他看得见行吧。这怎么做啊?看好了啊,一。Public什么意思?公开的,我给大家设置为什么。True,这个true啥意思啊?是所有用户是不是都能看得见,就是需要去检查吗?如果他会错的话,是不是直接就可以看得见了,这是公开的吧,所以说公开的大家都能看。这能听懂吧,当然我是不是也可以把别的。希望别人看到也可以,甚至以public为主。能听懂吧,好,那也就是说我们还有一种情况呢,对不对。
12:03
来下面它是有阿尔法,它是个一,它就是三,这二是什么意思,就是如果。当前item是什么公开的?那是不是直接跑回去。听到这能懂不?OK。好,那就一个个做呀,当前用户是me,那我这个怎么办呀,这个里面是不是涉及到我要去读什么呀。啊,这个需要,嗯,我们可以去读一下,用用户的那个name呗,对不对。啊,用户内容我是不是可以提前取出来。啊,User name吧,应该是。那很简单啊,来写一写吧,一起写得了if什么?首先我有一种情况,就是如果我的U等等于谁,我的me。
13:06
对吧,或者还是迷吗。It is public。指数对不对,当然你也可以提前把那个。K和is public给了什么?是不是取出来这里面就不用写item点了,是不是只写is public是错吧?或者说呃,那个K要去掉了,右边这个K去掉是吧,好还有什么。还有我的这一个K在那个什么。Mannu里面这个我怎么知道他在不在里面。啊,其实用index就行了。你说是不是知懂不什么K等等于。
14:00
鸡。啊,等等于零吧,是匹配的,而匹配的就是不是不等于,不是等等零,而是不等于。不等于负一。因为他找不到,就为什么故一找到了,双一是不是有匹配的。对不对,这个地方我就是要找到有匹配的一个吗。它是去找这个K在这个数字中的下标,如果没找到就返回负一,如果找到了就访问对应的下标。对吧,我也不知道下边是多少。是不是?这时return是吧。Out。那下面是不是。看到。能看懂吗?能看懂,下面我们就要去看一看行不行,是不是。啊,还没做,还没做好,但是呢,你要发现问题,现在发现不了问题,咱也没办法完善啊,先看一部分大家看。
15:06
现在我登录的是T007,是不是能看到首页和角色管理。但是有问题啊。这个商品和图形图表怎么没看见呢?对不对。啊对,他能现在有问题啊,大家注意观察我们现有的那个数据。这个home能看见吗?啊,后面他没有他看得见,是不是还有这个肉能看见吧。任我角色管理能看见没问题,是不是大家看到角色管理也是能看见的对不对?但为什么我的这个商品以及这个图形图表就看不见呢?因为这一个它只有第二集菜单上的K。第一集里面已经被什么呢忽略掉了,那第二集更不可能产生。
16:02
因为我们这个大家要知道我们的,比如说啊,我们的商品的K是多少,大家看一下。是不是斜杠products?你有吗?没有,没有,这一个整个被忽略了,那他孩子也同样就被忽略掉。因为这个都被忽略了,那里面更不会进去了。听懂了吧?你外面没产生,那里面更不会产生,直接就全部pass掉了。那也就是说还有一种情况。即使啊,大家看到,即使我不满足这个条件。对不?还有一种情况,我当前的这个童呢,也应该看得见什么呢。如果他能匹配到。如果啊,这是第四种情况了是吧,第四种情况,如果当前用户由此item的什么。
17:03
某个。Item的权限,那我这个item要不要显出来。要把。啊,那这个时候首先啊,我是不是得保证他有孩子。他没孩子还有标看到吗?他要没孩子,那不可能出现,他不可能满足是吗?是不是首先他必须有孩子,下一个问题就是这个孩子里面啊,这个孩子的数组里面有一个孩子的K。跟我的这一个K啊,跟我的这个。在我的menu里面。进了吧。在我的max里面其实比较简单啊,这个时候需要去知道。知道一个什么事情呢,我这个里面的某一个孩子。
18:02
它所对应的key。在这个数组里面能找到。听懂了吧?那我要去找那个孩子吧?是吧,我还找了一个孩子,这怎么找啊?调用他的什么翻译的方法是不是可以。来每一个某一个欠的吧。某一个线的,那什么时候才是说找到的就是我的这个是匹配的呢。就要看这个孩子的K有没有在或者什么。Mus里面那不就简单吗?刚才不做过类似的事吗?只是说这个谁的KK。是吧?但是一定能找到吗?不一定对不对,有可能能找到,有可能找不到,如果找到了某一个窍的,那说明是不是就OK了。
19:05
但是我这个反馈不太好,因为这个返回的不是那个布兹,而是那个七的。也就是比如说有可能反过来是他,或者他听懂了吧。那这个时候就有一个事情了,但是我需要的是个波折,对不对。这时候要被他强制转换成什么垛子会比较好一点。没吧?也就是说,如果我找到了,那就处对不对,如果我没找到了。Foot。那也就是说,我们一共是不是有四种情况?一共四种情况。来看一下呗,看一下啊。
20:04
是不是出来了。能看到可以吧。可以啊,没有太大问题。那好了,那如果我用高用那个admin登录了看一下。Me?妯娌。这应该看到了所有的什么。是不是所有的?这样可以吧。可以的啊,毫无问题。啊,没有什么问题,好。呃,我再再整一个,再整一个试试。嗯,接着呢,我还有一个刚才可能测试的,我整一个经历的试试啊,我先看一下经历有一些权限啊,经历有这么一些权限挺多的是吧?好来接着呢,我来去添加一个用户啊,修改一个用户吧,添加一个,免得等会找不到一个。ID,我刚才是不是整过T007呀。
21:02
那就叫开008吧,密码呢是123123。啊,邮箱呢,随便写一个啊。选择一下什么经理问题吧。把它还是写写个样子好,点击OK。没问题吧,没问题好,记得点击退出。好,那下面呢,我们刚才注册一个T008啊,密码呢是123123妯娌。看一下是不对的。有没有看到?可以的吧。可以了,说明前面准备工作做好了,实际是并不难,是不是好有一个问题。还有一个问题,什么问题呢?比如说我当前登录用户是TEST008,是不是他是不是属于那个经理的呀。我现在有个事情,做了什么事情呢?我把这个经理的权限改了。
22:02
比如说他让他看不到商品了。你说我一点确认。嗯。他。他是不是还看不见呢?这不好吧,要么你就不能改自己的决决色,要么你现在应该干嘛呢?强制退出。重新登录,听懂了不,我们这个就是来看好,看好了不看我们的。好,我们现在,我现在是一个什么用户来看一下。现在是test的什么007啊,记住我现在TEST007,呃,它是属于哪个。测试吧,啊,测试我们来试一下啊,试一下应该测试没问题,接着我把这个商品管理也给他加上啊,来试一下啊。手里。你看。说当前用户权限更新了,请重新什么?
23:00
能看到不,你要重新登录,是不是获取到了新的数据。太的什么007密码123123走,你那这个时候是不是两个都有了。那说明一个事情,说明一个什么事呢?在我们更新权限之后。有可能需要强制退出,是不是来找到我们的这一个roll,在这里面我们不有一个角色更新的操作吗?有ADD,后面有update。啊对,最后是不是有可能成功。这是不是代表成功了?能看到不好,那成功了我得干嘛呀。我有可能是不是要跳转到登录界面重新登录,什么时候需要呢。上呀,修改的时候。啊,需要判断啊,如果。看看,如果当前更新的。
24:02
是什么啊,自己角色的权限。那强制干嘛,强制退出。这能听懂,不来这个怎么做?来个if呗,是吧,那这个else是不是该上以前的事情呢?写成列表就行,是不是?那这个要强制退出,这个怎么做啊。那首,那最终肯定是要进行跳转,这个没问题,跳转我写了得了啊,History变成呢啊replace的了,也别回来了,嗯,找谁了罗,但是在这之前一定要先把。数据给他清掉。是不是这能懂不啊,有两个位置的数据。Memory user等于什么?空对象还一个啊,Storage。
25:05
对吧,点什么remove user。那这个条件我怎么知道当前整的是这个呢。好,这个地方实际上是不是涉及到一个肉ID的一个判断呢。这个肉啊,里面是不是有一个下划线ID,它有可能等等于什么。点user,它是不是有一个下划线,什么ID有吧。对,有,如果这么成功了,他们相等,那就说明是不是更新在当前的。能听到吧,能按就按以前正常做显更新列表显示就行。好,我们来看一看。看看我们的行不行啊。来试一下,呃,我们当前登录的是太的008对吧。
26:06
他好像现在是经理吧,我记得。啊,现场经理来,我把这个经理的。权限给它改一改,比如说加一个品类管理可以吧,接着我是不是点它呀。找你。好,有些问题。这是啥呀,不是一个。函数啊,不是一个函数,我这个地方应该是不是写错了呀。Replace。那其实我们再来一遍啊,再来一遍TEST008对吧,密码呢是123123啊点击登录。现在我能看到这个事,品类管理我再改一遍啊,再改一遍。
27:04
来这个经理走里打开好接着。啊,我再加一个可以吧。大家个点击OK。各位,哎,这个设置角色成功这个提示好像。还不是完全准确啊,这提示问题这小case了,这个我就来测啊,应该这个放到下面这一个,有一个自己的提示对不对,有个字提示啥呢。呃,提示的是啊,当前角色权限,当前用户角色修改了。重新登录对吧,大概是这个意思啊。叫什么钟啊?啊,当前用户的觉得啊,权限修改了,那请重新登录,这个我就不再去测试了啊,刚才已经显示了。
28:02
那我接着是不是去登录。T008,接着123123。就能看到我当前有两个。没什么。嗯。那你说这个依赖于我们,首先我们前提是不是有两个数据,一个是肉数据对不对,一个是user的数据。能听懂吧,里面得需要有我所有有权限的是不是K的一个数组,我称它为mus。是吧,而这个user里面有一个很重要的属性叫user,叫什么呢?ID,他能知道我当前的用户属于哪个角色,是吧?啊,这样的一个关系,有他们是基础,有了他们,那其实后面的事情就好处理。嗯,就这么个事啊好。
我来说两句