00:00
好,接下来呢,我们给大家讲解一下完整的一个啊,登录的它完成的一个呃流程啊,嗯,整个登录的控制这块呢,可以说是我们目前这个项目中业务逻辑上的比较复杂的一个功能,像后面的一些普通CURD呀,还有这个图片上传呀,还有分页啊这些呢,相对于我们这个登录来说呢,都不是特别难的东西,那么接下来呢,我们给大家展示一下这个登录完成的一个过程哈,呃,首先呢,我们在这输入用户名和密码啊,来再输入验证码,叫做ru啊,这个RYH,嗯,这个验证码呢,我现在输的全是小写,全小写的哈,看看后端是不是,嗯,这个不区分大家都写的,再来点一下管理员,我以管理员身份登录,那首先你这得是一个管理员账号是吧,但是我登录的时候呢,我选择以管理员身份来进行登录,登录之后呢。哎,这个就已经进来了,直接就进入到这个,如果登录成功,直接就啊进入到我们这个啊首页了,那如果说登录失败呢啊,退出登录我这块再随便写一个SPXY,这是我我们把这验证码呢输错一下,看看是一个什么情况啊来一点选择哈,一点登录,你看验证码有误啊,请刷新后重新输入啊刷新之后啊,我这个验证码呢,输入一个正确的CNC0F58,上面这个密码呢,我输入错,然后123456输入一个错的密码哈,再一点登录,你看它提示我用户名或者密码有误啊呃,那这些逻辑呢,都要进行啊,这个控制再来一个,呃,我们输入一个正确的我的me adyn啊,然后呢,这个叫做这个刷新一下吧啊3Z8H3Z。
01:35
8H,我们在这呢,嗯,F12打开控制台看一看,整个登录这个过程之中,如果成功了,它走的流程是什么哈,一点登录我们发现它立刻产生了一个log,诶,用户名或者密码有误,这个是我写错了是吗?哦,写错了ad min啊呃,这个验证码又换了啊,来一个叫做CZG,嗯,K,我把这些请求呢全都给它清掉哈,别让他干扰我来登录。
02:01
这个登录成功了,登录成功之后,我们看一看都产生哪些请求,首先呢,它产生的第一个请求log。你log in,那这个是干嘛呢?这是验证登录啊是否成功的一个请求,成功之后呢,它紧接着又请求了一个谁呢?Get info啊get info get info是干嘛呢?是用来判断当前登录的用户啊,是什么类型的用户,然后呢,不同类型的用户啊进入到这个页面呢,所展示的页面主页是不一样的,所以呢,要通过这个get音符来判断啊,到底是什么用户在登录这个defat是啥?这个defat是一个图片啊,是我们头像,这个图片是这个东西,这个东西啊,一个默认的一个小图片啊,那这个我们不用关注它哈,我们主要关注这个东西,一个是log in和一个get info啊那这两个呃,请求的这个资源都发生了,呃,什么事情哈,我们先点击这个get info。我们边看这个资源边画图哈,首先它是一个POS请求,请求了一个这样的一个路径,前面这个不重要,因为这个呢,随着我们呃部署服务器的变化,这些可能会变化的,主要是后面这个UI比较重要啊,他请求的是SMS system login啊这个链接来我画个图。
03:06
Miss PI登录的业务逻辑是这样的,在我们这个登录的这个窗口这块啊,来登录这个窗口这一块,向后端发送了一个请求。啊,先后端发送了一个请求,那么请求的方式是一个什么呢?是一个啊,我来看看啊,是一个POS方式,POS的方式,呃,发送的这个UI是一什么呢?呃是它是它诶然后携带的参数是什么呢?看一看啊,它这里边有没有携带什么参数啊,请求中啊带了这样一个参数啊,这是一个阶层格式,一个字符串啊。来CTRLC复制过来,就是它带上过来的一个参数。这个参数呢,是一个,哎,Jason格式的一个字符串,那明显这里面有什么呀,Use nameme adin password adin y code,这是的验证码,然后这是我们当前用户登录的类型,这个user type是一,是怎么回事呢?就是我们在页面上啊,刚才不是选择了一个管理员嘛,管理员就是用户类型为一啊,用户类型为一,登录完之后呢,后端就要接收这些数据并做出响应了。
04:11
啊,并做出响应了啊好,后端呢,我们看一看它做出的响应是什么,它做出响应是法来响应,响应过来是一个什么呢?是这么一个东西啊,这个比较这个比较大啊给他来截个图吧,这其实也是一个阶层格式的一个字符串啊来挺长的,但是我们看它展示之后的格式呢,看到这个就会比较舒服,来我们截个图。以截图的形式给大家展示啊,CTRLC。嗯,放到这来,CTRLV这个是它响应的数据,这个有点有点有点什么,这个图画小了哈,没关系。响应回来的数据是长这样的,这个应该是我们的前面这块应该是浏览器啊,这是浏览器,浏览器呢,上面有一个登录窗口。浏览器啊,那么此时浏览器收到的信息是什么呢?Code的200代表成功了,Message呢,也是一个成功,此时还给我们响应了一个data,这个data里面装的是什么呢?是一个object,这个object呢,有一个属性是token,值是什么呀?值是这么一串秘文啊这么串秘文,这个token,这个秘文是啥呢?这个秘文现在可以先跟大家说一下,这个其实就是我们的,呃,用户ID,用户ID啊,用户ID加上我们什么,加上我们这个,嗯,加上这个用户类型,用户类型哎,那么再加上一个什么,再加上一个拓Ken本身的一个,哎,这个有效时间,有效时间啊,还有它的一些呃,其他信息的一些后缀啊,生成的什么,生成的一个啊,生成的一个什么,生成的一个密文。
05:43
啊,这个密文呢,我们是看不懂的啊,没关系,这个密文呢,一旦交给我们这个浏览器之后呢,我们浏览器呢,就会保留这个密文啊,就会保留这个密文,保留这个密文之后呢,浏览器一旦看啊呃,这个收到信息前端一看这块是显应成功了,显应成功之后呢,接下来它就要根据用户类型去判断啊,去判断我应该往什么样的页面去跳转,那不同的身份登录呢,可能它这个,呃,这个跳转的页面也是不一样的,那紧接呢,我们的浏览器又发送了第二次请求。
06:10
啊,第二次请求,这次请求之中啊,这次请求是谁呢?看一看啊,这次请求就是这个get info,这个get info,我们看一看他请求的这个消息头,看看他请求的位置是什么啊,是system smsms system get info啊是请求的是这个资源。哎,这是第二次进球,哎哟。这是第二次请求,这是他请求的啊,UI请求完之后呢,后端还是要进行处理啊,还是要进行处理,处理完之后啊,处理完之后看看他给我们响应的信息是什么,诶啊选错标记了啊。看到我们想的信息是什么,来看这请求中有没有带什么参数,请求中好像没有带什么参数,但是我们注意看这个请求的消息头这块多了一个什么,多了一个token啊,请求的消息头多了一个token,来看这我把这个做一个截图啊,请求头中多的这个token,它是个什么东西来。
07:08
嗯,到我们这个图表上啊,他请求中所携带这个token,所携的这个token带的这个请求头,它其实就是正好是上一步响应回来这个token,那也就是说上一步响应回来给我们这个token的一个请求头,这个秘文下一步呢,是以这个请请,呃这个响应回来信息,下一步是以请求头的形式发送给这了,给了这个盖音否啊我们看请求体中确实没什么数据,但是请求头里面带来这么一串,那后端呢,就会接收这个请求头啊,接收这个请求头,把这个信息呢,进行解密,进行解密,解密之后呢,诶干嘛呢,计算出呃这个呃,再连数据库再查一下,看看这个用户呢,哎,这个类型是什么,再做出响应,那我们看看他响应的信息是什么啊。在这想到也是一个信息,这个信息也不是一个原始信息,看一看他想的回来是一个什么呢?是一个object object里边有个什么呢?呃,这个code是200MESSAGE成功data是一个,也是一个杰object啊,这里面有user type,然后这个还有个user,这个user是个啥呀?来点开看一看,这个user里面它其实是什么,这好像。
08:10
这好像是一个user对象啊,是一个user对象,那这个user对象啊,这这些属性看一看什么ID name gender password email telephone address,嗯,Portra pass,这应该是一个头像的地址是吧。想看这个UC信息像是谁的信息呢?来打开我们这个,呃,项目这个UC信息好像跟我们这个admin来看,这个跟这个admin这个属性是一对应的,那其实就是后台给我们查了一个当前用户锁定的这个admin管理员的一个对象,然后把这个对象呢,呃,这个转换了成了Jason给我们转给我们响应了是吧,那好,那我们把这个来截个图,这样的话我们就知道他响应的信息是什么了。哎,看是怎样,他想应的信息来拿过来放到我们这个图上,他想应了这样的一个信息,想到这样一个信息,想完这样的信息之后呢,那我们的浏览器这块,我们的浏览器,哎,这一次的请求就根据什么呀,就根据你你给我响应回来的信息判断一下什么呢?判断一下你当前用的类型是什么,如果是一啊,如果是一,那我就往一对应的页面去跳转,如果是二,哎,我就往二对应的页面去跳转,如果是三,就往三对应的页面去跳转啊是谁呢,就往哪个页面去跳转就OK了啊好,那么呃,同同时呢,还要响应一个code的message,还有什么OK这个东西,那这些信息啊,我们说这个响应的信息为什么长这个东西呢?其实呢,想要这个信息就是用我们后端哪个类来进行封装的呢?就是用这个,呃,看我们工具那边不是有个result吗?哎,它就是用这个类来进行封装的,我们想要的那些信息其实是呃放放到什么呀,放到我们这个result里面这个data上了啊,放在data上了,然后再用这个data转换成阶层之后呢,它找的这个数据格式就是什么格式呢?哎,就是就是这个式。
09:51
哎,这个data里面装的是这样的一个数据,他放了两个数据,一个是user type,一个是user啊,那整个的这个过程中,整个这个过程啊,我们就知道它大致是一个什么情况了,也就是说如果要是想登录成功。
10:04
我们需要完成,我们需要在后端完成两个接口的处理,一个是登录信息的校验啊,然后呢,响应这样的一个,呃,用户给我们的这个,呃,浏览器给我们的用户端啊,然后用户端呢,紧接着会再次向我们发送第二个请求,呃,第二个请求,然后这个第二个请求呢,会携带上上一次的token,我们在这里面进行反向解析这个token,然后再做出其他响应就OK了,响应的格式呢,一定要包含啊,是否成功啊中OK,马上是否成功啊,如果成功了,这里面要包含我们的数据,用户类型和什么呢?和这个真实的对应的用户是谁啊,那接下来呢,我们就按照这个逻辑呢,去把后端的代码来给他写一下,哎,就可以了啊。
我来说两句