00:00
然后注册功能要怎么来做呢?给大家说明,首先注册的话肯定也是传数据到咱的接口中来,然后我们在接口中得到数据,包括把数据最终是不是要加到数据库中,做的肯定就是这个过程,但是咱们现在在注册过程中呢,它除了我们的最基本数据之外,还有一个只需要判断,就是咱说那个手机的验证码需要判断,因为咱们要在注册时候给他也发个验证码。所以咱们要用这些方式来做到,那怎么做,给大家写一下啊。首先第一步呢。咱肯定是在里边一会儿也是写一个方法里边,比如咱也是用request body post提交得到数据,但是你注意啊,咱们再来传对象的时候,咱就不能传这个u center member了。为什么不能传呢?因为你注意啊,这里边呢,虽然说有用户的这些信息,但是里边没有那个验证码那个字段吧,或者没有验证码的属性,所以咱做注册,为了方便,咱就再写个实体类,专门用于封装咱那个注册一些数据啊,这是咱做的第一个,比如咱一会儿就建个类,比如叫view,里边有昵称,手机号,密码,然后主要是用这个叫验证码啊,这是我们要做的第一部分。
01:21
写一下啊。咱们创建一个实体类。用于封装注册的数据,然后在里边要包含你的那个验证码的这个属性,因为咱对它要做个判断啊,这是咱们做的第一个,那这个我就来创建一下啊,咱们来到我这个模块中,U3里边,在U3中找到它那个anti,在anti里边我创建这么一个包,比如就叫这个VO里边写这么一个注册的这么一个VO类。那我创建啊,我就叫这个VO。
02:00
把这个我们给它创建出来,然后创建之后在这VI里边写上它相关的属性,这属性我就从课件中复制了啊,就这么几个nickname,手机号,密码,还有那个验证码,把这个讲给他。复制过来啊,就加上四个注点啊,不加也可以啊,它都加上。然后加上之后,在里边就是类的上面加上一个date注解,生成它的get赛的方法,这是里边的第一部分,建个实体内,然后它包含我们的手机的验证码。啊,这一步我们给它快速做到啊。然后我截个图放到我们的课件中,然后这步做到之后,第二部分咱就开始写这个CTRL中的方法,把这个最终实现,那我们来写一下啊,咱看到第二步。我们就是在CTRL里边。创建注册它的这个方法,那咱们创建啊,来到我们的CTRL里边就是这个。
03:01
U center member controlr了,咱们第一个登录,第二个注册,我写一个就是post提交啊,这单不要写错了,Post提交,因为是record body嘛。然后里边加个注册,我就叫这个。Re tr下面写方法。我就叫这个。这个user。在里边呢,咱们来传递我们的数据,传数据方式咱还是用这个request body。在里边传入,咱刚才建这个view类view啊,这个啊,我们给它传过来这个啊,我们得到数据,然后得到数据之后,咱下面还是调service中的方法,把这个加到数据库,就做一个注册啊,那我们调一下这方法,我就叫。里边传入咱这个对象V,最后咱就直接存一个r.OK了啊,咱们把判断都小字中,所这是一个注册的这么一个CTRL中方法啊,咱就快速写出来了。
04:11
我把这个写过来啊,然后写完之后,最后我们写这个service,在service里边,把它这功能我们就最终做个实现啊,就是第三个咱们编写service。那咱们最后来写一下啊,在wis里边呢,首先把这方法我们先做个创建,就这个or这个方法,这方法我们就是注册。然后洗完之后来到它的实现类中,在实现类中把这个方法给它最终创建出来。就是在里边有一个注册的方法。然后都创建之后,最终在里边咱把这功能我们就最后给他写一下啊,看这功能我们具体该怎么来做到。就这功能呢,并不复杂,咱就是把这数据啊,最终都加到数据库就可以了,但是里边呢,咱需要有一个手机验证码的判断,这个咱需要判断一下,那我来写一下啊,跟登录差不多。
05:12
首先第一部分咱就是获取咱们注册的那些数据,我把数据先给他得到,然后咱再判断,这样更方便啊,那我们得到一下啊。VO第一个值是这个code是咱说那个手机的验证码啊,咱通过code的传递。这是第一个,然后第二个值VO。咱们看第二个值,它是这个mobile,就是我们那个手机号。都加上注释啊,手机号,然后还有第三个值,就是点上这个nickname。我们用户那个昵称。加个昵称,然后除了它之外,还有下面一个值,它叫做password,就是用户那个密码啊,咱主要有这么几个值,这是密码。
06:05
这样的话啊,把几个数据得到,就是这么四个啊,就是验证码,手机号,昵称密码,然后得到之后下面啊,咱就往下做这些依次判断,按照咱们登录过的跟它差不多,第一个呢,比如说我也是判断一下这些值是否等于空,如果他们中有任何一个为空,就提示他这个注册失败啊。直接第一个做个判断,判断这些值是否等于空,跟上面一样啊,就做一个C空判断,然后用它咱们快速改一下啊,首先第一个值啊,有mobile part错了,咱给它加几个,根据这个。改出来啊,我就加到后面了啊。比如里边下一个值,这个叫扣。然后除了code之外,我们还有一个值是这个叫nickname啊,咱判断这些值是否等于空,如果这些值中的有任何值为空,咱就提示它注册失败,因为它这些值都不能等于空啊,这是第一个非空判断,然后判断之后呢,咱再判断下一个,下一个呢,咱就判断那个手机的验证码是否正确,也就是说呢,发送到你手机上的和你存的那个验证码是否一样啊,这是我们要判断,那怎么判断?
07:24
咱看一下啊,大家注意看,咱刚才写的代码中有个地方。看什么地方呢?咱看这个位置啊,第一个各位注意,咱们生成的验证码最终是放到了什么地方,咱看那个代码中啊,咱是放到什么地方。是不是这个red里边,也就是说咱们把验证码放到了redit中,那咱判断的话应该就简单了,咱们把我们书的验证码和ready里边验证码做比较,看两个是否一样,如果一样的话,那就是往下执行,不一样的话就是它失败啊,这是我们的判断方式,判断你的验证码跟ready中的验证码是否一样。
08:05
这个啊,我们要做到,那我们写一下啊,先获取red里边的验证码,这先得到,那怎么得到呢?按照刚才的方式啊,咱们把那个就是red tablet给它先入进来。写一个。然后private啊叫这个。他们里头。这个啊,把它先注入,然后我叫ready to,这是我们的第一部分,先注入这么一个对象啊,然后注入之后里边肯定有那个泛型给他也加上啊,我们看之前我们写那个泛型是。啊,应该就是string啊,那我们加上这个string t value跟它一致啊,这个咱们注入进来,然后注入之后咱们通过red to里从里边把数据取出来。不知各位是否记得啊,咱们在上午应该写到过有个方法叫OPS for value,点上一个叫get,因为咱们存的时候呢,是根据手机号对他的key,然后这个code的验证码,所以咱现在根据手机号去取它那个就是验证码啊,那我们取一下啊,加上我们的手机号应该是这个mobile,最终得到是read中那个验证码,比如说叫red code。
09:25
这个得到了啊,得到之后跟我们输入验证码做个比较就可以了,那咱来比较一下啊,我就写上,就是我们输入验证码叫code,点上ES red code,这表他们一样,如果他们不一样,加上一个感叹号或者一个非,咱直接给它抛异常。就是只要new一个鼓励exception提示他注册失败啊,这是验证码判断,判断你的验证码跟ready中的是否一样,如果他们就是不一样,那就失败或者失效的话,它也不一样,你会失败啊,因为它有一个五分钟的有时间。
10:01
然后这个判断之后,咱下面继续往下来走啊,就是这个如果一样的话,咱最后把数据是不是要加到数据库中啊,但是加之前啊,还有一个判断啊,这个判断要多一点,还有什么判断呢?大家看表里边就是这个手机号不能重复吧,比如我加了一个手机号,不能再加相同的,所以咱要做一个相同判断,就是如果说我加这条数据的手机号在数据库表中已经存在了,那咱就不再添加,如果不存在,我们再添加,就是判断手机号是否重复,咱需要做这个判断。那我写一下啊,下一步。判断。手机号。是否重复,也就是表里边如果说存在了这个相同的手机号,那我们就不进行添加,如果不存在相同的,咱们再进行添加,那咱就根据手机号到表里边直接查下就可以了啊,那我们来做个查询啊,咱就直接写一个query rapper。
11:06
然后查的是我们那个用户表啊,就是U3。Member。加上一个叫rapper,等于new上一个快rapper,然后加上之后rapper里边,然后给它设置那个条件,就加个EQ,根据手机号查询,咱看手机号那个字段。是不是这个mobile啊,把mobile拿过来,然后传入,我们输入那个手机号就是mobile,然后最后调base map中的方法做查询。那这查询怎么做到呢?咱可以用select y没有问题,但你注意啊。我们目前的目的啊,只是为了查里边有没有数据,咱是不是并不想把数据得到,最后只想查里边有没有就可以了。你用起来的万可以,但是没这个必要,咱可以换个方法啊。不知各位是否记得啊,之前咱也用过类似的。
12:01
Select这个方法叫count,这是什么意思呢?就查你表中有没有这个数据,如果有的话,这值肯定是大于等于一的,如果没有的话,这值是等于零的,所以根据它我们来做个查询,判断里边有没有数据啊,比如说我叫count。这count值如果说等于零,那就没有,如果它大于等于一,那就有啊,那这个啊,咱一判断,那下面我们给它就判断一下啊,咱就加上一个if。啊,写个判断啊,就是现在如果说这个抗的这个值啊,它大于零,就是它大于等于一大于零嘛,就是大于等于一嘛,那这个时候表示表里边就是有相同的,有相同的话,我们直接给它抛异常,就是表示它注册失败啊这个。判断有没有相同手机号,如果没有的话,那我们再继续往下操作。这个完成了啊,然后完成之后呢,最后一步这些判断比如都可以了啊,就是它里边就是第一个没有为空的,第二个验证码一样,第三个表里边没有相同的,如果这些都没有,那最后咱就把这个数据添加到我们的数据库中啊,就作业个最终的添加就可以了,那我们最后给他就加一下啊。
13:17
加的方式呢,应该不复杂,咱直接就调这个base map里边那个添加方法insert,或者说你调一个叫face里边那个save啊,都一样的啊,我就调这个base map,在音色里边,咱传入这么一个对象就可以了,那咱们给它就传播对象啊,我这位置就扭个对象就能给它传进去就可以做到。啊,咱来一个member等于new一个u center member,像member里边把这些数据咱就依次放进去就可以了,那我来放一下啊第一个数据。里边应该有一个啊,大家看我们具体值啊,有一个叫mobile啊,就是手机号咱先放进去。
14:00
然后除了手机号之外,咱继续往里面放member.set有一个叫nickname啊昵称这个需要,然后还有member.set这个叫password,咱需要放进去,但是password密码咱是不是要做一个MD5加密啊,咱用这个啊加密。点上这个方法叫password,把这个我们需要加进去,所以现在有这么几个值,然后除了这几个之外,还有几个值啊,咱们给他再加几个,还有什么值呢?大家看这个值。就这里看啊。你看他。是不是是否禁用false,是未禁用其他默认值就是false啊,那咱给它也加一下啊,是否禁用,我来一个member set,这叫is disabled,这个只写个false,它就表示这个用户啊,不应用。然后除了他之外,比如咱们啊,其实这么加是可以咱再加一个啊,多加几个,比如咱给他加上这么一个AVA头像啊,加个头像。
15:04
Member。点上赛water water。啊,找一下哈,应该是。这个方法啊,然后AVA是有头像,比如说头像的,我就给他来一个默认头像,就是当每次注册加一个默认的,然后后面啊功能可以完善再改,但是每次换个默认头像,但这头像啊,我就到里边咱随便找一个那个图片地址给它放进去就可以了啊,我就加。这个了啊,把这咱直接推过来,你之前里边有值。所以这样的话,这对象溜出来了,最后咱放到这个base map的inser的方法中,把这数据咱就最终加到数据库,这样的话啊,咱把这功能就完成了,这个就是注册的这么一个接口啊,主要这过程,然后在里边呢,咱最后还需要。啊,改这么一个地方,就是在实体类中,因为咱有一个时间嘛,咱需要加上一个叫自动填充啊,就是table field field,等于这个field field insert,然后第二个是那个update,把这个咱都给它加上。
16:16
加一下update,这样的话,接口我们就完成了,就是这么一个过程啊,然后完成之后呢,咱最后把这接口我们最终检查一下,看一下这个过程对不对啊,咱再测试。做法就是第一步我们建立一个实体类,里边有几个属性,为了咱们能传值,主要有个验证码,然后在CTRL中得到这个值,用request body和post提交得到之后在threat里边写它那个具体过程,然后过程中咱就做了各种判断,先判断是不是等于空,然后再判断我们的验证码,验证码判断过程中你注意啊,咱要通过这个就是。里边选要那个值,跟我们当前验证码做个比较,如果他们一样往下执行不一样,这些抛异常,另外判断表里边是不是有相同的手机号,咱做个查询,如果这个值大于零,就是大于等于一,表示里边有相同的,咱就抛异常,没相同的数据就能加到数据库啊,就是里边这些值,但你注意这里边的密码咱是需要做一个。
17:22
加密的啊,这个各位注意啊,所以这样的话功能我们就能做到了啊,主要就是这么多啊。这是关于注册的接口,然后做完之后,最后咱们把效果我们来试一下啊,看一下最终的结果是什么样的啊,最后测试。我把这个服务器重新启动。然后这里边啊,一会儿咱们给他就加一条数据,咱测一下就可以了。我等他先启用起来啊。
18:02
啊,然后启用之后啊,咱们还是用swag最终做个测试啊,现在启用成功了,咱们现在打开这个swa。打开打开之后在我们的CTRL里边找到注册的方法,注册里边呢,我们给它传入这么几个值,就是咱刚才写的,比如这几个值。但是这个过程中啊,如果咱要测试它必须需要到一个用到一个手机验证码,所以咱这验证码那个服务也需要启动,就是短信服务需要启动,要不然这个测试咱测不完全啊,然后把这个也做启动啊,就是咱们这个msm。启动一下,因为咱要用到他的验证码,咱要向RA中给他放那个数据。这个啊,也请一下。然后这里边呢,为了这些啊,我把这个数据先把这条先删掉,为了咱们一会儿更明显,就这条记录。先拿掉啊。
19:01
啊,等它停起来啊,现在应该都可以了啊,然后都可以之后,下面我们来测试,那我们怎么测试呢?咱们先访问8005的swa,先发一个验证码,然后在里边再写,再进行注册啊,咱用用这swa模拟,后面咱会整合上我们的页面。那咱们来测试啊,先到8005。首先会出。找到咱的短信。然后短信里边我就写上手机号。咱们发送一个验证码啊,现在我来发送我red应该是启动状态啊。看一下kiss里边目前没有这个值啊,然后咱们发送。这没错啊,我点。Try it out,然后看结果提示我们成功,现在应该是做了一个pass啊。啊,等我手机里边。发送出来啊。啊,我手机已经出来了啊,它是1383包,咱看这个这里边啊。
20:03
应该是多出来一个,你看这手机号,比如我们get一下。咱这个值是不是1383啊,这个验证码,然后发送之后,咱下面在里边注册验证码是1383,这是手机号写一下啊。然后下面是nickname,比如就叫这个幺零,幺零,这是密码,咱还是写六个一。123456,现在数据都有了,最后我们点try it out,咱看结果啊,大家看提示我们是不是成功了,然后咱看表里面的数据,我一刷新。各位看这一条记录是不是有了,我刚才写的1010,包括这个头像默认的时间是咱们刚才这个时间15:30,这个啊,就最终测试成功了,注册接口啊,只是我们测试的时候需要你先发一个验证码,然后用它,因为它是存到write中嘛,里边咱做了判断,然后把验证码传过来之后,手机号,昵称,密码一提交数据可以做判断,最终加到数据库。
21:09
啊,这就是注册的接口,所以咱们完成了啊,大家把这过程能给他写出来,包括这怎么测试,你要给他知道。就是在没有因为情况下咱也能测到啊,主要是这个代码,注意咱是用red to里来操作,Red可以向里边放数据,放数据用的是set key value,然后取数据用的是get,根据key把它取到,包括看我刚才这里边,咱就根据get把里边这个手机号中这个就是验证码可以取到啊。就是这么一个过程啊,所以现在完成了注册接口。
我来说两句