00:00
好,接下来呢,咱们就进入到了这个个人信息管理这个模块了,也是我们整个项目中最后的两个模块,这一个模块占有两个业务需要完成,一个是修改当前的用户密码,一个是呃,这个修改用户的其他信息,那给大家展示一下,来一点击修改密码,原始密码adin啊,新密码123456,确认新密码123456,我们先试一试原始密码写错了啊,然后一点确定,你看它提示咱们原始密码输入有误,那写对了adin啊,然后再来一点确定啊,你看就修改成功了,修改成功之后呢,咱们在这块再自行登录就得用新密码了哈,来一个123456啊,这个叫做嗯,RHFS啊这诶大小写倒也无所谓啊,管理员来,管理员来搜,你看登录成功了,登录成功之后呢,那它这个修改密码这个业务啊,其实也非常简单,就是把你原密码新密码往后一传就可以了,但是同时你要向后台传啥呢?你当前登录的用户是谁呀?当前登录用户说给一个ID,给了一个一,给后台了,但是后台拿到一个一之后,那后台也懵啊,我这块呢,登录的系统有三个身份呢。
01:00
有这个teacher,有student呀,还有这个管理员啊。那你这个向后台假设提交了一个din的一个ID,提交了一个ID的话,用户ID的话,那你到底是teacher ID啊,还是这个STEM的ID啊,还是这个嗯,Din的ID啊,对吧?后台还要根据不同的用户类型啊,去找不同的表格,然后来进行一个密码的修改,同时还要有个密码校验是吧?所以这个呢,看似好像挺简单的一个东西,事实上呢,嗯,也是挺复杂的一个东西啊,那咱们来试一试,看一看呢,把这个看一看,这个修改密码这一块啊,它是请求ul路径是什么,现在的参数是什么,首先原密码来一个123456啊,新密码adin ad,然后点击一下确定,看一看他请求的资源该是他。这是一个postose请求,请求了SMS system update pw这样的一个路径,那咱们也要把这个按照这个路径呢,去写咱们的这个,呃,对应的UR啊,对应的这个controltrl携带的参数呢,你看前面这是啥呢?前面就是咱的原始密码,后面这就是咱输入的新密码,那它想应的是啥呢?想的是这么个玩意啊,现在是这么个玩意儿啊好啊,那接下来呢,咱们就针对于呃,针对于这个post来针对于这个ul,咱们可以写一个它的一个处理器啊。
02:11
它的开头是SMS system,那好,那就找这个,呃,System类system controller以及close,呃,这个other types啊,那这里面都要干啥呢?来重新写一下,这是一个修改密码的一个方法。嗯,修改密码的处理器啊,修改密码的这个呃处理器,看这处理器啊,呃是一个poose请求,这段不重要,主要就是从这个s mi开始,SMIS开始啊往后这段,嗯,这个是啥呢?如果是针对这个路径,那咱们就要写它对应的一个UR pattern的一个UR pattern应该是啥呢?这块应该是它的一个呃旧密码,所以这块应写个大括号,这是呃OL do的PW。PWIPWD啊,然后这块放的是一个新密码啊,那写成一个什么,写成一个new IP WD啊,但是呢,在提交参数啊,来提交参数,如果仅仅是这两项够吗?他提交的数据呢,肯定是不仅仅是这两项呢,为啥呢?因为咱们在这里边,你要判断当前登录的用户类型是啥,是adin呢?还是student呀,还是这个teacher呀,对不对,所以呢,那我怎么知道他这个当前登录用户是谁呢?咱们看一看他提交这个请求里面,看到原始的这个请求头,他有一个啥呢?有一个token啊,有个token啊,你看这个token,这个token里面咱们也用过是吧,这不就是用户的这个ID啊,还有用户的类型啊,啊还加上了一些呃,这个前缀后缀信息呀,嗯嗯,然后进行生成的一个密文嘛,你看他把这个token呢,又给咱们发到后台了,咱们后台就可以用这个token进行一个反向解密了,所以在请求参数这块来获取要请求数据的哪些请求参数,那应该是一个token这个头,To token的这个头,哎,然。
03:57
那后面还有这个old password。
04:01
那OLD的PWD还有new pwd哎是吧,这样的一些数据都要拿到,都要拿到啊嗯,好,那有了这些信息之后啊,有了信息这些信息之后就可以进行修改了,修改完修改完密码之后呢,那要向浏览器响应的信息是啥呢?来支持请求的数据啊,响应的数据。选应的数据,选择数据看一看它响应回来是一个什么玩意儿,看这个东西响应的就是一个看这啊,这不就是一个呃,Result对象嘛,对不对,哎,那你这个result对象data还是闹啊,所以响应的数据啊,也非常简非常的简单,OK的一个result,并且data是等于闹的,来写下OK啊,那就按照这个去往下写呗,是吧,这就非常简单了啊,首先来来来一个at API option,就是介绍一下这个方法,哎呀,这是直接给我说成括号了是吧。这是呃更新呃更新更新用户密码的这个方法,嗯,好了,处理器处理器啊,还一个at,这是一个什么请求啊,这是一个post请求,那就是来post mapping里面对应的URL写成它就是它了啊update,诶,Password直接把这段给它复制过来得了是吧?来给它controlr c拿过来,诶,Controlr v拿过来啊那那还有还需要这是它的前面的get map post mapping啊来写方法诶,Public re result,起个名叫做update pwd,那这个参数列边里边都需要写啥呢?第一个,那第一个来一个嗯,At request request header要获取token头,Ton头,嗯,啊,获取的这个头的名字叫ton,诶,Token,然后呢,给这个string,给这个这个参数吧,String的一个token,哎,这是。
05:56
第一个参数啊,嗯,Request had怎么报错啊,报什么错?Had not applicate to local variable,诶。
06:06
是request had token。他报什么错呢?这个request header啊,不让,嗯,不适配于本地变量,这不是参数吗?哦,哎呀,这个怎没有写到括号里面,应该写到这个括号里面是吧?哎,这叫什么,这叫参数列表嘛,对不对?哎,还要放啥呢?还要放这个old,呃,O pwd,还有这个new pwd是吧?来一个at,嗯,那个at pass variable啊,第一个第一个是那个street啊。第一个放的是OLDPWD,那string的一个OLDPWD,看到啊下面这是new p WD,哎,Three new啊PWD写上啊好参数呢就备齐了,备齐之后接下来开始逐渐的进行校验,第一步呢,先校验一下这个偷坑有没有过期,他有可能啊我这个进入系统之后呢,我在这块没有操作啊,这个一直没操作,超过了24小时,那超过24小时你就偷坑过期了,你上来别人可能过来给你改你密码是不行的,是吧?所以呢,咱们要校验一下token有没有过期,那怎么校验呢?GW啊,Help点有个方法叫做a is expiration,把这个token呢给它放进来,它会返回一个这个玻璃那个值啊,然后呢,expirration.if啊,如果说这个为true,为true就说明它过期了,那过期的话呢,直接啊,来一个to过期响应个信息呗,响应这个信息呢,应该是一个失败的来return一个return return。
07:38
就一个这块不能是,呃不能是啥呢?不能是这个啊这个OK了,应该是一个file,然后file里面呢,放一点信息点message,为啥呢,叫做投时效失效啊,请重新登录,登录啊后啊修改密码,那就是你这个好久时没好久没登录这个系统是吧?有可能这个头N已经过期了,呃下一步呢,就是如果说这个没有问题,没有问题的话呢,你就要呃这个获取用户ID和和和用户类型啊获取用户啊这个ID和用户类型,那怎么获取呢?GW啊HJW哎不是GW。
08:17
嗯,诶,G到th helper点一个叫做get user ID,然后你把a user type行了,把这个token给它放进去,它给咱们返回的是一个user APP啊,那还有G,嗯,W g wt help a g w wt help,第2GET use ID,再把这投屏给他拿过去,它再给咱们反向解析回哎,这个user ID,那有了它之后呢,那接下来就可以继续后面的判断了,来Switch一下,Switch这个user type。Use have a。如果case为一,如果用户类型为一,那么我们要干什么事是吧?哎,然后呢,之后是二三啊一一个呢都要给它做一下,我先把这个一写上,一写上之后呢,后面这个二三呢,基本上都是一个格式,然后照着改就可以了,可以了啊嗯,首先第一步,如果说这个用户的类型呢是一,那么咱这块就要进行一个查询了,用户类型呢,用谁查的,用这个叫做din思维查第二一个方法叫做get,嗯,Get one的一个方法,那就是获取一个啊对象,这个对象呢,应该是一个d me的一个对象,然后那个查询条件是啥呢?可以在这来一个querywaer在这拼吧,哎,Query uper这个玩意其实应该放S在这直接处理也行,那处理了吧,嗯,Queryer查的应该是din,那张呢,这个query queryer等于嗯,另一个query uper,诶,另一个query还rapper啊,拼的询条件啥呢?拼的查询条件是这个query rapper,嗯,Quary rapper,点这个叫做EQ,判断一下。
09:51
嗯,ID这个值,ID这个值位值呢,ID这个值等于你传过来,这个等于我们上面解析的这个ID啊,解析这个ID是吧?嗯。
10:01
来啊,同时呢,写上一个IDUID,但这个UID它是一个什么玩意呢?这个UID它是一个浪纸。呃,但是事实上呢,咱们这个数据库里面存在它是一个int值是吧,所以这块呢,给他来一个什么,取它的这个点int y流吧,取出这个int值只是拼的第一个条件,拼完这个条件之后呢,还需要继续拼第二条件,再来qua upper.eq。判断一下这个密码啊,这个数据库里面这个p s swd password password是不是等于你传过来这个password,或者是判断这个密码是不是原来这个密码。啊,是原来一个密码哈,如果说是原来的密码就能找到一个adin对象啊,在没修改之前呢,你先查一下看看有没有这个din,那原来这个密码是谁呀?原来这个密码就是old,嗯,Old password嘛,对不对,然后呢,把这个old password给它放进来。Oledd password放进来,哎,但是呢,你要注意啊,这个password页面传过来这个old password,它是它是一个铭文的,那如果是一个铭文的话呢,需要进行转换,所以在这块呢,需要对这个old password进行转换,那怎么转换呢?Old password等于这个MD5.incrypt,把这个Bo passcel给它转换一下,同时后面判断呢,判断这个新密码它也是用密文的,所以这块呢也直接都转换了吧,New pwd,嗯,这块写成一个new I pwd,好啊,那在这看一下,根据旧密码先去查,查到之后呢,把这个quary upper给它放进去啊,它会给咱们返回一个密。
11:31
哎,怎么是一个ad啊得B,哎,它怎么给我生出来这个应该是,嗯,这应该是它里面自带的一个方法呀,是不是让他给咱们返回一个adnmad Ms。嗯,来ADMN啊,等于它好,那么如果说这个ADMN不为now,嗯,If什么呀,If adinn啊,它不等于no,不等于now说明什么?不等于now说明这个原密码对上了,原密码对上了就要进行什么进行修改修改,那怎么修改呀?用min service,点这个叫做save or update,但是在save or update的时候呢,你把这个in放进去就可以了,就会对这个admit来进行修改了,但是你此时这个admi里面应该放的是新密码,那怎么放呢?Din,诶,点set这个password为new password设置为新密码之后呢,再把这个新装置新密码,这个DMI放到数据库里面,给它一存就OK了。
12:26
嗯,这是如果找到了哈,Else,那就说明原密码呢,找不到这个对象,找不到对象怎么办呢?那你就直接return return啥呢?Return一个叫做result result.fail修改失败了,来一个点message啥呢?Message叫做嗯,原密码有误,哎,就可以了,这是啊,这是一个什么,这是一个嗯修改,然后呢,咱们这里面用的是一个修改成功之后啊,这不得来个break,这个还得有啊,这个还得有,要不然你这块就得改成if else,因为你这块修改成功了,就就没有执行这个return,所以呢,这个break还得执行,要不然他会击穿K1的啊,那K2的里面其实基本上都是一样的,只不过K2里面要找的是学生,刚才都是学生,所以把这个来给他CTRLC复制一下,复制完之后呢,再来一个,这是要KK2,然这个quary rapper呢,上面这个东西跟它重名了,你这叫quary rapper1吧,那我这个就叫quary rapper2,然后呢,QUARYWAPER22。
13:25
好。快二里面呢,它应该也是设置一个ID啊,Value,然后password啊,这个old passord找到一个什么,找到一个学生对象,所以这个位置呢,应该是根据QUA2来找这个student,所以这块调的应该也是一个哎,Student service.get one这块返回的也是一个student对象。Student,嗯,Student,然后判断,如果是呃,Student不为now,那接下来呢,就是点set password为new password,然后呢,用这个student service.save or update,把这个student放进来,这就OK了,嗯,那这些呢,是给他进行一个修改哈,那这是K2 K2改完之后呢,再来一个K3。
14:13
再来一个K3啊,K3呢,应该查的就是T了,然后这个quary rapper呢,我给它改成quary rapper,呃,Quary rapper3吧,嗯,然后这块是一个三啊,这块也是一个三,嗯,这个呢用的也是一个三,这块呢,换型应该写成一个teacher teacher啊,嗯,这个呢也都用的是teacher service.get one,那返回的应该也是一个teacher对象。Teacher teacher,如果这个teacher他不会孬,那么就把这个teacher的密码呢更新为新的密码,嗯,然后同时呢,用这个teacher service去调save or update,把这个teacher呢给它传进去就可以了,哎,好啊,那这个就写完了,K1 K2K三都写完了,这块rap报错,哎,这块得写成一啊是吧,一一,哎哟,放这里了。
15:02
一得放这啊。好,你得放这啊,那这些就改完了,改完之后呢,最后我们return一个啥呢?如果上面这个CASE123啊都执行完了,执行完之后呢,也确实完成修改了,完成修改之后呢,你你你这个还得最终还得result一个return一个对象,哎对不对,嗯个对象return个啥呢?就return一个OK就完事了啊return一个result,嗯,Result诶ES result.ok哎然后呢,嗯点点点什么呢,这个就不需上不去,点OK就完事了,就说说明修改成功了嘛,对不对,那整个修改密码这个操作呢,应该就已经搞定了,这都是什么玩意儿,导导这么多名字包啊放心了啊好,那接下来呢,我们启动项目测试一下,看看咱们自己这个项目里面,它能不能够进行修改密码的一个操作啊。打开咱们这个9001,然后呢,进行一个登录。登录之后呢,来个人信息,当前登录这个我的密来修改密码,原始密码应该是ad man啊输入新密码123456,再输入新密码123456,然后一点击确定修改成功了啊修改成功之后呢,要保存吧,不保存啊,这个时候你登新登额的密还用额的密,原来一个密码不行了,AG这是6O是吧?来管理员来一点登录,你会发现啊,用户名或者密码U误的,然后放一个123456这块放一个叉P97KU OM kuo是吧?来一点都,哎你看这就成功了,所以修改密码这个业务呢,哎就已经搞定了啊,就已经搞定了啊,那搞定之后你可能会说,那我要是用学生身份了,或者是这个teacher身份来进行登录呢,咱们看一看这个数据库啊,嗯,Teacher teacher这块呢,有个小张,然后这个写法呢,其实就是123456啊,那咱们用小张123456来登录一下,看看是一个什么效果啊,来小张小张,然后这边写成一个,嗯,来123。
16:57
456验证码换一个吧,嗯,三这是3O9P是吧,3O9P,嗯管哎不是管理员,他是一个学生啊来搜。
17:09
嗯,用户名啊,这是叫教师是吧,嗯,这个换一个吧,啊EQKB嗯,EQKB是吧,那都那你看就登进来了,登来之后呢,小张个人信息也在这了,但是他的修改密码哈,来我们原密码应该是一个123456,新密码是一个ad,嗯叫做呃叫做嗯654321吧,确认新密码654321,然后一点击这个确定确诶也好使了啊,所以这个应该也是OK的,然后咱们再来进行登录啊。小张小张啊,他的密码呢,应该是一个654321,然后呢,这个身份是教师,嗯,EESF。都你看OK了,也是没问题的是吧?哎,所以呢,这个嗯,修改个人密码这块也就OK了,那学生这个呢,应该我觉得应该也不用测了,来退出登录一下学生这块,咱们找一个学生账号来试一下,嗯,学生账号,哎怎么打不开这表格呢。
18:09
这呢张小明啊,110的应该也是一个123456是吧,再来试一试啊。张晓明,这然后密码123456,验证码这个看不清楚啊,NG8ONG8O,然后这个是学生来走进来了,进来之后呢,看个人信息管理这块来一点修改密码,原密码啊123456,新密码123456,哎别写别别别别654321,哎确认密码654321,然后原密码我写错一个。来确定,你看原密码有误是吧,是再来一个,嗯,叫做123456,然后来一点确定OK啊,接下来再试一试张小明啊,密码是654321啊这个是设置,我设置改为新密码了A,嗯,3I,然后引引学生来搜啊你看这也进来了,所以这个呃,三个不同的用户啊,用数据类型用户类型来进行登录的时候,那么这个密码呢,都就都已经修改完毕了哈,咱们还是回到这个din这块呢,然后密码还是用这个密码用123456来进行登录了哈,嗯,VFMP诶管理员进行登录,OK,搞定了,那么这个呃,修改密码这个操作咱们就搞定了哈,然后我再把这个密码改回来吧哈,原始密码是123456AD adin,哎,算了,不改就123456得了哈,好。
19:40
嗯,这个事就搞定了,咱们检查一下,看看这个代码咱有没有加的一些,嗯,Swaer的一些说明,哎,好像还有啊这块加,哎加at API option了,但是这边的参数还没说呢,是吧,写一下吧,At API per是吧,这是这是一个token。就是嗯,Token to token口啊,然后这个来一个艾特API,嗯,Per这块也说明一下啊,嗯,这是一个旧密码,哎,然后呢,这块再来一个,嗯,哎搞错了哪那个空格啊艾特API。
20:21
嗯,盘龙这是一个新密码,新密码好搞定啊,那整个的一个修改密码操作咱们就搞定了。
我来说两句