00:00
好,那下面呢,我们需要去写开始去写路由啊,这里面啊,这一个这一个我给它注释掉吧,不要他这个。这是我们前面测试的,好,下面我们来这里面,我们这里面一共有几个需要注册的路由啊,我们要去写路由的模块,主要是在root啊,Index里面去写,我们有几个需要注册的路由。我们现在要去搞注册登录后台处理对吧,也要要能够处理注册的请求,要能够处理什么登录的请求,要几个路由两个呀,这还能不懂,也就是说我们现在需要一个注册的路由对吧,还需要一个什么登录的路由,好这一个啊,怎么去写啊,怎么去写,主要我们要去打开我们的一个东西。
01:08
就是我们那个接口文档,因为大家初次写最好是参照接口文档来去写,后台也参照接口文档来做啊,前台也是看到接口文档来做,这样就是一致的,懂不懂啊,如果大家很熟练,大家可以自己啊去完全自己写都行,这都没关系了,好,我们来看一看,就这样的一个呗,对不对,那下面我们写的时候就要注意啊。来啊。前面先来看注册的,先来看注册的啊,谁来注册路由,哪个对象路由器。对吧?用它的什么方法来注册路由,它有两个方法,一个叫get,一个叫什么post,那我们当前需要用调谁post?我为什么要调用post?因为文档上面说明了我是一个post请求,对吧?好,而这个方法接收两个参数,第一个是pass路径。
02:15
先写上斜杠再说这个里面路径是不是他呀。能懂吗?能懂啊,行好,接着写一个什么处理请求返回响应的回调函数I EQ is啊,Next不写了啊。下面是不是写一些啊,我们那个三步对不对啊,三步再说一遍啊。先干嘛读取请求参数,下一步干嘛处理,接着返回响应永远是固定的,对吧,返回响应数据吧,啊获取请求参数数据好,那我。
03:01
几个从哪里取?参数对吧,是哪些参数句,这是要想两个问题,是不是这个能不懂。啊,两个方面,一个是从哪里取,第二个取哪些对不对,首先确定肯定从IQ里面取,关键IQ的什么属性呢?因为我们是post的请求,所以说必然是什么玻璃懂不懂,好玻璃里面的取上哪些值啊,对不对,也就是说我这里面要写一个这样的写法。下面是不是要写名字啊,这个名字不能随便瞎写是吧?得看一下文档,文档里面再说它是不是会传三个参数,懂不懂,好,那就应该写user name是吗?Password以及。没问题吧,那也就是说第一步搞定了对不对是吧,第二步处理,这个处理的工作是去干嘛去的,我们注册啊,我们注册注册的目标是要对数据进行一个什么处理。
04:15
最终的目标是不是希望能保存?对吧,但是我是一上来就保存吗?还在模式,这个就是处理逻辑啊,为什么处理难,因为它有逻辑啊,其实首先我们的第一个处理先是根据什么来查询。也就是说,首先我得判断用户是是不是可以注册对吧,判断用户是否已经什么存在对吧。能懂不?那如果存在了,我还注册吗?不注册啊,这个处理啊,整体就做这单词就写着吧,就处理啊,先判断用户是否存在啊,如果存在返回错误的提示啊,能不能错误的提示错误的信息啊,提示错误的信息好,那如果不存在了,干嘛保存。
05:20
也就是我对数据库有两个操作,实际上对吧,先是查询,后面才有可能是什么保存对吗。这个能不能懂啊,要能懂啊,所以啊,我在下面做的事情,我先干嘛去,是不是查询判断不就是查询吗。对吧,那查询是根据什么查对不对,根据什么查对啊,User name来查,这个都要分析清楚啊,来吧查呀,对不对,查的话需要谁来有能力查呢。
06:04
啊,谁有能力查你们要翻译的,那不行,那不能这么记,不是这么记的啊,谁有能力来查?不是,我是漫故事里面去查,说白了我通过哪个对象或者谁来查,做一个查询的操作,叫user model。就是我现在需要一个model来查,对不对,由于我查的是user,所以说对应的就是user model。我有什么的定义好没有定义好了,只是我现在需要去什么引入,对啊,你得这么想啊,不先不想用什么方法,我想谁来去做这个事情。来,所以我们一上来可以先去引入什么use model,对吧?啊,点斜杠。
07:00
啊,因为我要我是哎点斜杠好像还不行,我要回退才行,对吧?啊这个没关系啊,这个事就行,点点斜杠DB下面的什么呢?Models这样对吗。这样不对啊,再去点什么有怎model懂它实际上整体我们说过了,整体是个对象,是不是整体是个对象,接着我里面有一个什么有怎么懂啊,嗯,结构复制也可以啊,我这里面嗯,就还不知道它这里面结构试一下吧,因为基本上是用这种方式啊,按数来说是可以。能不懂,按说是可以好,我们就这么做的,来下面啊,下面我们这个时候需要去查询,这不就是咱前面说过的吗?查询它有两个方法。一个叫find,一个叫find one,我用什么find one就够了,我就看里面有没有,那还搞什么find对吧,发的话就可以来find的五万三吧,好接着传第一个它是什么查询的条件对象,哪个对象写什么,就这类就可以了。
08:22
减一减吧。能看到好下面写什么方写对吧,这里面什么I啊,我觉得这样写一个还有什么加应该最好,应该是叫多克对吧,只知道多克应该是谁,是不是有者我不采取一个user吗?当然你也可以写user dog能不懂。好,那。这个茶既有可能有,有可能什么没有,有的话是不是就又找对象完了没有了,没有就是什么没有是放错吗?不是啊,没有是long对不对,所以我下面就要说了啊,如果啊。
09:12
U着是不是有值啊,就说明什么呀,说明是不是已存在呀,啊已存在,那已存在也就是说if什么,如果说有者有对吧?啊else说明什么?没有值,没有值说明什么?说明不存在吧,那你看嘛,刚刚说了,如果存在我要干嘛去返回一个提示错误的什么信息对不?那如果存在干嘛去,如果不存在是不要去保存user者保存保存我提交的一些参数据嘛,来先搞这个简单的。
10:04
返回,我通过谁来返回,Re就response对吧,点什么方法的方法。好,说一下我们所有的返回的结果数据都是首先说什么类型的数据是一个对象。能不能我们返回的数据都是阶层数据,而且都是个对象?只是固定一个结果,会外前端就比较好处理,你的类型都一致嘛,而且我这个对象里面有一个非常重要的属性叫code来标识我这个数据是一个好的数据还是一个错误的数据,对吧,能不懂。那我这个地方扣的呢,为零假设代表正常,为一代表不正常,那我应该写几了一。
11:00
这个能不能懂,好接着你不正常得要到时候是不是显示一个提示信息,那就来个什么呢,Message。可以吧,说什么话了?啊,这个使用户已存在啊啊啊是用户什么一存在啊,请重新啊指定啊,这后面就不写了,差不多就得了啊。那第一个分支是不是搞定了,下面看干嘛去保存对不对,保存的话,我要通过谁来执行保存的操作,是他吗?不是,是他的实力对吧,所以我要干嘛去一个他。传什么?是不是传一个优质对象,对象有没有就他吗?
12:04
是吧?啊,所以说这个对象简写方式很有用啊,好,接着这一个对象我就不定义变量名了,直接调用它的什么法C方法刚才不练过吗?记住了,三个写,当然你也可以写这的函数啊,这里面I以及也是一个什么呢?User。能不能,那下面肯定就成功了,这里面啊,就不用再去判断了,直接干嘛去返回一个啊是不是,哎返回包含user的什么。啊的信息,对的,节省数据啊省数据能懂吧,好这个时候这个时候有个事情要说这一个呢,你是吧,这个还要用message吗?不能呐,得用什么呢?不是date,我们统一是不是用同样一个名字啊,也就是说我们这个对象里面一共就三个属性。
13:16
Code message,以及什么date?而date是谁呢?Use。能看到吧,啊啊,我问大家这个user里面有哪些属性。首先有username password和PA,还有什么下滑线ID,其实还有一个叫什么杠杠V,那个V是我的意思,就那个没用对吧?好,这个地方要说一个事情,现在这种写法有问题啊,说一下什么问题呢?这个密码千万不要返回给前台了。那不懂密码这个东西就不要搞过去了。能懂我意思吗?啊,密码基基本上是不会去存在前台的。
14:05
所以我们直接写这个user是不太好的,对不对啊,所以我要干嘛呢?啊,大家看到我要先自己再去封装一个数据,能懂吧,假设我就封装一个data吧,来什么意思呢?其实吧,就是我原来的数据。再加一个数据加什么呢?哼,加一个看到这里啊,加一个下划线ID,这个ID必须得带着ID很关键,懂不懂值是多少呢。有着点下划线ID,接着把这一个date。简单哦,Pass不能pass不能带是吧?切走了半天pass还带着,那肯定有问题了。
15:01
能不能看懂啊,这样我们就啊,这里面主要说一个事啊,说一个什么事了,响应数据中啊,不要啊携带什么密码啊,就是他说的。这个能理解吧,啊能理解,嗯,好,那这样呢,我们就做好了一个注册的流程,其实啊,如果我们再做的好一点,还有一个小事情需要做一下,我们来看一下啊,有一个小事情。这么这里有一条鱼,先看一下是干嘛?呃,先说一下,我这个注册有一个,我还包含了一个功能,我一旦注册完成,注册成功就自动登录上去了。也就什么意思,我一旦注册又不需要你再登录了,能懂我意思吧,现在两种做法啊,你看一种做法呢,是注册以后还没登录,你需要再去输入用户密码再去登录,这是一种做法。
16:09
这个能不能另外的做法是什么呢?啊,你注册上了,一旦成功了,我就代表你这一次就登录上去了啊,这这就是为了让用户肯定登录。其实这两种做法都没有什么太大问题,都是可以用的,能懂吗?好,那我怎么标识它登录了呢?这个地方啊,标识登录有两种技术,一种是用cookie,一种是用session。能不能好,这一次我们就用cookie,下一次我们就用VIVO的项目,我们就筛选好吧,那也就是说我现在一旦注册成功,在返回之前,我还要向response里面添加一个。数据,添加一个cookie数据。那个库数据里面放什么呢?放U的ID,放用户的ID,那也就是说这个用户ID是不是会交给浏览器保存。
17:09
这一个啊,这个I有一个方法叫什么呢?就叫cookie,它有这么几个参数,我们看第一个是什么cookie,大家知道库给数据就是建之对数据K对应个value是吧,K呢,我们这里取了个名字,这个名字其实本质上可以随便取,但建名之意就行,对吧,我取的U者ID。啊,而值是什么?就是我user者里面的下关向ID吧,这个能不能看懂后面什么意思啊,啊大家知道cookie它有两种cookie,一种叫绘画cook,一种叫持久化cookie,绘画cook呢,是存在浏览器的内存里面的,你关那就不在了,那也就是说你登录上去后,你关掉浏览器,你就必须再登录。是吧?而我们假设我们要实现。
18:03
一天免登录。有这种类似的效果吧,或者一周免登录对不对都可以,这个就看你设计了对吧,而下面这一个第三个参数就是用来去指定一个max啊存活的时间。是有效期,而此时一旦你指定的重合时间,它就是一个持久化的cook给是存在浏览器的文件里面的,那也是关掉浏览器那个文件是吗?还在?Cookie数据是不是也还在啊?那如果在的话,那我们最终就可以利用它来实现什么呢?免登录的效果能不能?来这个地方要去做一下,我们最终要去生成一个cookie啊,生成一会在我这个剩的之前,在这在这里做吧,可以吧,好来注意啊,谁来去生成B方位I什么方法呢?就叫cookie。
19:19
对吧?第一个参数是什么?这里面说明已经说好了,是不是要指定名字叫user ID值是多少了。有的点下方ID这个能不能懂,接着呢。要指定啊,一些相关的信息,对吧,这里面有一个很重要的一个属性叫什么max。存活的时间,它以什么为单位?啊,大家看一下这个啊,这个不用背啊,写了一些就说明它以什么毫秒为单位来,这就是以秒钟,这就是什么。一分钟,这就是一个小时,这就是一天,那看你想一天还是还是七天还是一个月,对吧,这都可以。
20:12
啊,这个知道一下能看到吧,来啊。哦,这里面有一个很重要的事情,密码没有加密,对啊,给同学听醒过,就是这个密码,现在我是不是对这个password进行了铭文的保存,对吧?也是一个问题,所以我们需要去引入一个库,对吧?引入一个库好,那我就写在这里吧,来看谁MD5等于require括号MD。五对吧,接着它是一个函数吧,是一个函数,对我们的这个密码是这个呗,进行处理以后。
21:09
嗯,这个就不对了,这样就不对了,为什么呢?因为这个时候你想想看啊,结构的这个几个那个对象的解决方式写法就不对了啊,应该怎么写了啊,应该写pass word冒号这么写。能懂吧,如果这样呢,最好是这样,最好是最好怎么样最好这样这样写。就左边呢都是简写方式啊,右边呢不是简写方式,你别套到中间。你还是尽量有规律,能看懂吧,好。那到此为止,我们的这一个啊就搞定了啊,没什么太多问题是吧。好了,那我们写好之后,后面要干什么呀。
22:04
是不是要测试接口,现在我定义好了一个路由,就是定好一个接口了啊,先不要写那个登录的那个路由了,先把这个测通了咱再去写,因为他那没通,咱就写下面的,咱们两个都不通嘛,对不那样就不好了,嗯,好是这个。
我来说两句